Skip to content

Strixonomy engine

The Strixonomy engine is the semantic workspace for ontology development. It lives in the Strixonomy repository and powers the Strixonomy IDE (VS Code).

Latest tagged: v0.27.0 · crates.io search

strixonomy core parser catalog query cli lsp owl edit reasoner diff refactor docs

Strixonomy 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, OBO, RDF/XML, and OWL/XML (.ttl, .obo, .owl/.rdf, .owx)
  • Semantic diff (version refs, directories, breaking-change heuristics)
  • Documentation export (strixonomy docs)
  • CLI (strixonomy) and LSP (strixonomy-lsp)

Relationship to the IDE and Ontologos

Product Role
Strixonomy engine Rust platform — indexing, queries, diagnostics, CLI, LSP
Strixonomy IDE VS Code extension — explorer, inspector, webviews, marketplace
Ontologos OWL reasoning — classification, consistency, explanations

The Strixonomy IDE is built on the Strixonomy engine. Ontologos is a separate reasoning stack integrated through strixonomy-reasoner. See Product identity.

Public API

Use the strixonomy façade crate:

use strixonomy::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")?;

search returns hits directly (not a Result). Other methods that can fail use ?. Stable since v0.10: Workspace, WorkspaceOptions, and strixonomy::diff. Other strixonomy-* internals remain pre-1.0 until v1.0.

use strixonomy::{Workspace, WorkspaceOptions};

let ws = Workspace::open_with_options(
    WorkspaceOptions::single("./ontology").with_disk_cache(true),
)?;
ws.reindex_incremental()?;

Lower-level access remains available through strixonomy-* crates. See crate map.

Compatibility (v0.10+)

All crates, binaries, and LSP methods use strixonomy 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 strixonomy-*
CLI binary strixonomy
LSP binary strixonomy-lsp
LSP methods strixonomy/*
Diagnostic source strixonomy

Next steps