OntoCore architecture¶
Which architecture doc?
Read this When Platform architecture Canonical ecosystem overview for evaluators Implementation architecture Crate layout and internal modules for contributors This page Short OntoCore stack summary only Status: OntoCore is the platform identity for the Rust engine shipped since v0.2. See ADR-0018.
High-level diagram¶
+---------------------------+
| OntoCode UI |
| VS Code trees + commands |
| React webviews |
+-------------+-------------+
|
v
+---------------------------+
| OntoCore LSP |
| (ontocore-lsp) |
+-------------+-------------+
|
v
+---------------------------+
| OntoCore |
| ontocore façade + crates |
| catalog/query/diagnostics |
| refactor/reasoner/robot |
+-------------+-------------+
|
+-------+-------+-------+
v v v
+-----------+ +-----------+ +------------------+
| Oxigraph | | HornedOWL | | OntoLogos |
| RDF/SPARQL| | OWL axioms| | reasoners |
+-----+-----+ +-----+-----+ +--------+---------+
| | |
+───────┬───────┘ |
v |
+---------------------------+ |
| Workspace Files |◄───────┘
| owl/rdf/ttl/jsonld/obo |
+---------------------------+
Responsibility split¶
| Owner | Responsibilities |
|---|---|
| OntoCore | Workspace discovery, indexing, RDF/OWL/OBO parsing, entity catalog, symbol graph, import graph, SQL/SPARQL, diagnostics, refactoring, reasoning integration, patch write-back, CLI, LSP, plugin hosting (build/validation/doc/workflow plugins), future Python/TypeScript bindings, future MCP server |
| OntoCode | VS Code activity bar, explorer UI, React webviews, inspector, Query Workbench UI, Manchester editor UI, graph panels, extension commands, marketplace packaging, user onboarding, toolchain workflow UI (owlmake and plugin actions) |
| OntoLogos | OWL reasoning, classification, consistency, explanations, inference profiles |
| External plugins (e.g. owlmake) | ROBOT/ODK-style build, validation, release, and documentation workflows — integrate via OntoCore plugin APIs; not core dependencies |
Façade and implementation¶
| Layer | Crates |
|---|---|
| Public façade | ontocore — re-exports and Workspace API |
| Core types | ontocore-core |
| Parsing | ontocore-parser, ontocore-owl |
| Catalog | ontocore-catalog |
| Query | ontocore-query |
| Diagnostics | ontocore-diagnostics |
| Reasoning | ontocore-reasoner → OntoLogos |
| Refactoring | ontocore-refactor |
| ROBOT | ontocore-robot (external Java CLI) |
| CLI | ontocore-cli |
| LSP | ontocore-lsp |
See crate map for details.
Key design rules¶
- Dual stack (ADR-0013): Catalog entities/axioms from Horned-OWL; triple counts and SPARQL from Oxigraph.
- Reasoner adapters (ADR-0008, ADR-0015): OntoCore delegates reasoning to OntoLogos; no JVM reasoners.
- Local-first (ADR-0005): Indexing and queries run on the user's machine by default.
- LSP boundary (ADR-0007): OntoCode extension talks to OntoCore only via LSP — no Rust logic in TypeScript.
Implementation architecture (crate tables, dependency rules): design/ARCHITECTURE.md.