Skip to content

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 core parser catalog query cli lsp owl reasoner diff refactor docs

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

Next steps