Best practices¶
Patterns for using Strixonomy IDE and Strixonomy engine in daily ontology engineering.
Repository layout¶
- Keep ontology source files in a dedicated directory (e.g.
ontologies/orsrc/ontology/) - Prefer Turtle (
.ttl) when you need byte-stable diffs or Turtle-first refactor ops (move / extract / ontology merge / flatten / cleanup). Rename / merge / replace also rewrite RDF/XML, OWL/XML, and OBO. RDF/XML and OWL/XML support write-back (v0.21+, semantic re-serialize) — see Supported formats and OWL/XML write-back. - Use a single-root VS Code workspace when you want the simplest onboarding (multi-root is supported since v0.10 — all folders are indexed)
When to use SQL vs SPARQL vs classify¶
| Tool | Best for |
|---|---|
SQL (strixonomy query) | Catalog tables — classes, properties, diagnostics, axioms metadata |
SPARQL (strixonomy sparql) | RDF graph patterns over indexed triples |
validate | CI gate for parse errors and lint |
classify | CI gate for unsatisfiable classes (EL/RL/RDFS/DL/auto) |
realize / check-instance | ABox inferred types and instance checks (v0.23+) |
SQL and SPARQL results truncate silently at 100,000 rows — narrow queries in CI. See workspace limits.
CI recipe picker¶
| Goal | Command |
|---|---|
| Lint + parse | strixonomy validate . |
| Unsatisfiable classes (EL) | strixonomy classify . --profile el --format json |
| Unsatisfiable classes (DL) | strixonomy classify . --profile dl --format json |
| Realization | strixonomy realize . --profile rl --format json |
| Inspect errors | strixonomy query . "SELECT code, message FROM diagnostics WHERE severity = 'error'" |
Examples: CI integration
VS Code workflow¶
- Open ontology folder (single-root)
- Bundled language server works in Restricted Mode — Trust only if you set custom
strixonomy.lspPathorstrixonomy.robotPath - Edit in Entity Inspector or Manchester editor (
.ttl,.obo,.owl/.rdf,.owx) - Run Index Workspace after bulk file changes
- Use Query Workbench for SQL/SPARQL and DL mode for Manchester class-expression queries (dl-query.md — honesty limits vs Protégé DL Query / HermiT)
Protégé teams¶
Use Strixonomy for Turtle/OBO/XML editing, CI validate/classify (including DL profile), realization/instance checking, and SWRL authoring/validation. Keep Protégé when you need HermiT-identical explanations, DL Query tab workflows, or other gaps in known limitations — see Protégé coexistence and DL Query honesty.
Rust embedding¶
Embed Strixonomy in tools or pipelines via the published crates — see Rust library guide.