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 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 |