CoolFace
Apppublic

garywelz/programming_framework

sourceHugging Facemitupdated 2mo agoView on Hugging Face
0likes
discourse-schema.json103 linesDownload Raw Back to root
1{2  "$schema": "http://json-schema.org/draft-07/schema#",3  "title": "Mathematical Discourse Dependency Graph",4  "description": "Schema for axiomatic dependency structures across mathematical subjects",5  "type": "object",6  "required": ["schemaVersion", "discourse", "nodes", "edges"],7  "properties": {8    "schemaVersion": { "type": "string", "const": "1.0" },9    "discourse": {10      "type": "object",11      "required": ["id", "name", "subject"],12      "properties": {13        "id": { "type": "string", "pattern": "^[a-z0-9-]+$" },14        "name": { "type": "string" },15        "subject": {16          "type": "string",17          "enum": ["geometry", "arithmetic", "algebra", "analysis", "number_theory", "foundations", "other"]18        },19        "variant": { "type": "string" },20        "description": { "type": "string" },21        "structure": { "type": "object" }22      }23    },24    "metadata": {25      "type": "object",26      "properties": {27        "created": { "type": "string", "format": "date" },28        "lastUpdated": { "type": "string", "format": "date" },29        "version": { "type": "string" },30        "license": { "type": "string" },31        "authors": { "type": "array", "items": { "type": "string" } },32        "methodology": { "type": "string" },33        "citation": { "type": "string" },34        "keywords": { "type": "array", "items": { "type": "string" } }35      }36    },37    "sources": {38      "type": "array",39      "items": {40        "type": "object",41        "required": ["id"],42        "properties": {43          "id": { "type": "string" },44          "type": { "type": "string", "enum": ["primary", "secondary", "digital", "commentary"] },45          "authors": { "type": "string" },46          "title": { "type": "string" },47          "year": { "type": ["string", "integer"] },48          "edition": { "type": "string" },49          "publisher": { "type": "string" },50          "url": { "type": "string", "format": "uri" },51          "doi": { "type": "string" },52          "notes": { "type": "string" }53        }54      }55    },56    "nodes": {57      "type": "array",58      "items": {59        "type": "object",60        "required": ["id", "type", "label"],61        "properties": {62          "id": { "type": "string" },63          "type": {64            "type": "string",65            "enum": ["axiom", "postulate", "commonNotion", "definition", "proposition", "theorem", "lemma", "corollary"]66          },67          "label": { "type": "string" },68          "shortLabel": { "type": "string" },69          "book": { "type": "integer" },70          "chapter": { "type": "integer" },71          "number": { "type": "integer" },72          "colorClass": { "type": "string" },73          "sourceRef": { "type": "string", "description": "Reference to sources[].id + location (e.g., 'euclid-heath, Book I, Prop 1')" },74          "notes": { "type": "string" },75          "keywords": { "type": "array", "items": { "type": "string" } },76          "relatedNodes": { "type": "array", "items": { "type": "string" }, "description": "IDs of conceptually related nodes" }77        }78      }79    },80    "edges": {81      "type": "array",82      "items": {83        "type": "object",84        "required": ["from", "to"],85        "properties": {86          "from": { "type": "string" },87          "to": { "type": "string" }88        }89      }90    },91    "colorScheme": {92      "type": "object",93      "additionalProperties": {94        "type": "object",95        "properties": {96          "fill": { "type": "string" },97          "stroke": { "type": "string" }98        }99      }100    }101  }102}103