Theory
A mature KG has two layers of triples that live in the same graph but answer different questions:
| Layer | Example triple | Question it answers |
|---|---|---|
| Instance | :Alice :knows :Bob | What is true right now? |
| Ontology | :knows rdfs:domain :Person | What does this predicate mean? |
| Ontology | :Person rdfs:subClassOf :Agent | How are concepts related? |
Keep them in separate named graphs so you can: (a) ship the ontology with the codebase but let instance data churn; (b) reason over the ontology to infer new instance triples; (c) version them independently.