garywelz/programming_framework
0
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 