OntoCore¶
OntoCore is the semantic workspace engine for ontology development. It lives in the OntoCode repository and powers the OntoCode VS Code IDE.
Current release: v0.13.0 · crates.io search
OntoCore indexes ontology workspaces on disk and provides:
- Workspace discovery and indexing
- RDF/OWL/OBO parsing
- Entity catalog and symbol graph
- SQL virtual tables and SPARQL
- Diagnostics and lint rules
- Refactoring (rename, migrate, move, extract)
- Reasoning integration via OntoLogos
- Patch write-back for Turtle and OBO (
.ttl,.obo) - Semantic diff (version refs, directories, breaking-change heuristics)
- Documentation export (
ontocore docs) - CLI (
ontocore) and LSP (ontocore-lsp)
Relationship to OntoCode and OntoLogos¶
| Product | Role |
|---|---|
| OntoCore | Rust platform — indexing, queries, diagnostics, CLI, LSP |
| OntoCode | VS Code extension — explorer, inspector, webviews, marketplace |
| OntoLogos | OWL reasoning — classification, consistency, explanations |
OntoCode is the flagship IDE built on OntoCore. OntoLogos is a separate reasoning stack that OntoCore integrates through ontocore-reasoner.
Public API¶
Use the ontocore façade crate:
use ontocore::Workspace;
let ws = Workspace::open("./ontology")?;
let diagnostics = ws.diagnostics();
let results = ws.query("SELECT short_name FROM classes")?;
let hits = ws.search("Person")?;
let graph = ws.import_graph()?;
let diff = ws.diff_against_path("./other")?;
Stable since v0.10: Workspace, WorkspaceOptions, and ontocore::diff. Other ontocore-* internals remain pre-1.0 until v1.0.
use ontocore::{Workspace, WorkspaceOptions};
let ws = Workspace::open_with_options(
WorkspaceOptions::single("./ontology").with_disk_cache(true),
)?;
ws.reindex_incremental()?;
Lower-level access remains available through ontocore-* crates. See crate map.
Compatibility (v0.10+)¶
All crates, binaries, and LSP methods use ontocore naming. Upgrading from v0.11.x? See v0.13 migration. From v0.10? See v0.11 migration. From v0.8? See v0.9 migration.
| Surface | Name |
|---|---|
| Implementation crates | ontocore-* |
| CLI binary | ontocore |
| LSP binary | ontocore-lsp |
| LSP methods | ontocore/* |
| Diagnostic source | ontocore |