{
  "schemaVersion": 1,
  "id": "https://synthome.app/ontology.json",
  "title": "Synthome public classification ontology",
  "model": "Lightweight labeled property graph schema; no OWL reasoner or inferred facts.",
  "nodeTypes": [
    {"id": "resource", "label": "Resource", "description": "A submitted link and its source metadata; entity and format remain properties.", "shape": "circle"},
    {"id": "topic", "label": "Topic", "description": "A subject classification, not a formal class hierarchy.", "shape": "diamond"},
    {"id": "publisher", "label": "Publisher", "description": "A submitted publisher label; matching names do not prove legal identity.", "shape": "square"},
    {"id": "week", "label": "Proposed week", "description": "A suggested course placement, not confirmed sequencing.", "shape": "triangle"}
  ],
  "relations": [
    {
      "id": "CLASSIFIED_AS", "label": "classified as", "reverseLabel": "classifies",
      "sourceType": "resource", "targetType": "topic", "directed": true,
      "description": "The submitter associates a resource with a subject. This is aboutness, not rdf:type, subclass membership, endorsement, or a prerequisite.",
      "status": "Source-backed assertion; retain each arc's review status.",
      "symmetric": false, "transitive": false, "minTargets": 0, "maxTargets": null
    },
    {
      "id": "PUBLISHED_BY", "label": "published by", "reverseLabel": "publishes",
      "sourceType": "resource", "targetType": "publisher", "directed": true,
      "description": "The source row attributes publication to this named publisher. It does not assert authorship, ownership, verification, or identity equivalence.",
      "status": "Source-backed assertion; retain each arc's review status.",
      "symmetric": false, "transitive": false, "minTargets": 0, "maxTargets": null
    },
    {
      "id": "PROPOSED_FOR", "label": "proposed for", "reverseLabel": "has proposed resource",
      "sourceType": "resource", "targetType": "week", "directed": true,
      "description": "The source row suggests a course week. Multiple suggestions are allowed; this does not assert a prerequisite, learning outcome, or approved course sequence.",
      "status": "Source-backed assertion; retain each arc's review status.",
      "symmetric": false, "transitive": false, "minTargets": 0, "maxTargets": null
    }
  ],
  "constraints": [
    "Node IDs and edge IDs are unique and every edge endpoint exists.",
    "Every relationship has the specified source and target type and retains its original direction.",
    "All relations are many-to-many across resources and their classifier nodes.",
    "Every source assertion retains its submitted label, review status and source-row provenance.",
    "Communities, centrality and positions are computed annotations, not additional ontological facts.",
    "No topic hierarchy, prerequisite, teaches, same-as or causal relation is inferred from co-occurrence."
  ],
  "layers": ["resource", "topic", "publisher", "week"],
  "references": [
    "https://neo4j.com/blog/knowledge-graph/taxonomy-vs-ontology-vs-knowledge-graph/",
    "https://www.puppygraph.com/blog/knowledge-graph-vs-ontology"
  ]
}
