Migrating from Protégé — first week¶
This guide helps ontology teams adopt Strixonomy v0.27.0 alongside or instead of Protégé. For a capability comparison, see Protégé vs Strixonomy and What ships today.
Before you start¶
Strixonomy fits well when you:
- Version-control ontology files (Turtle, OWL, OBO) in shared repositories
- Want VS Code editing, CI validation, and semantic diff
- Can edit Turtle (
.ttl), OBO (.obo), RDF/XML (.owl/.rdf), or OWL/XML (.owx) for write-back (XML is semantic re-serialize — OWL/XML write-back) - Need Protégé-like menus, reasoner workflows, explanations, graphs, and imports in the IDE
Keep Protégé (for now) when you need:
- Byte-identical OWL/XML or RDF/XML layout after save
- A full DL axiom catalog UI for every axiom kind and format
- Protégé-specific plugins or a curated plugin marketplace (Strixonomy Plugin SDK 1.0 freezes the subprocess wire today; marketplace remains product 1.0 — Plugin policy)
- WebProtégé-style live collaboration
- HermiT-identical DL explanations (OntoLogos is not certified HermiT-identical)
Many teams use both: Protégé for heavy axiom authoring or Protégé-only plugins, Strixonomy for browse, light edit, lint, diff, reasoning, DL Query, and CI. See Protégé coexistence.
Honest desktop known gaps (v0.27.0 tagged)¶
See Versions & channels if Marketplace lags behind the GitHub Release VSIX.
| Gap | Status |
|---|---|
| Byte-identical OWL/XML · RDF/XML layout | Re-serialize only (write-back shipped v0.21) — owl-xml-workflow |
| Multi-step semantic undo | Partial workspace runtime (v0.20); full history → v1.0 |
| Full OntoGraf filter/layout suite | Partial graphs shipped (v0.26 parity expanded); polish → v1.0 |
| Explain all inference kinds (not only unsat) | Unsat explanations shipped |
| Mid-classify thread kill on the Rust reasoner | Client cancel + ignore late results (v0.18); server may finish CPU work |
| Curated plugin marketplace / production owlmake | Product 1.0 (SDK 1.0 wire is frozen today) |
Full matrix: known-limitations · SHIPPED.
Day 1 — Install and open your project¶
- Install Strixonomy from the Marketplace or Open VSX.
- File → Open Folder… and select your ontology repository (not a single file).
- Strixonomy’s bundled language server works in Restricted Mode — Trust only if you set custom
strixonomy.lspPathorstrixonomy.robotPath. - Open the Strixonomy activity bar and confirm Ontologies lists your
.ttl/.owlfiles. - Expand Classes and click an entity to open the Entity Inspector.
Follow the first success core path if anything is empty after trust + index.
Day 2 — Map Protégé habits to Strixonomy¶
| In Protégé | In Strixonomy v0.27 |
|---|---|
| Class hierarchy tab | Classes explorer; toggle asserted / inferred / combined after reasoner |
| Entity editor (labels, parents) | Entity Inspector (.ttl, .obo, .owl/.rdf, .owx) |
| Manchester syntax | Manchester editor panel |
| DL query tab | Query Workbench → DL mode (or CLI strixonomy dl-query) — honesty notes; not full Protégé tab / HermiT identity |
| Reasoner (HermiT, etc.) | Start / Synchronize / Classify / Consistency / Realize — EL/RL/RDFS/DL/auto via OntoLogos (not certified HermiT-identical); Stop requests engine cancel |
| Explanations | Explanation panel (unsat; DL-native steps where available; stale banner after reindex) |
| SWRLTab | Rule Browser / Rule Editor (author + validate; DLSafe materialize on classify) |
| OWLViz / OntoGraf | Class / property / import / neighborhood graphs (asserted/inferred/combined; v0.26 kinds expanded) |
| Imports | Manage Imports panel |
| Preferences | Strixonomy settings + plugin preference pages |
| Active ontology | Active Ontology selector (multi-root supported) |
| Refactor / move axioms | Rename, Migrate Namespace, Move, Extract Module (CLI); Merge, Replace (IDE only) |
| Diff between versions | Semantic Diff panel or strixonomy diff in CI |
| Layout / perspectives | Named Modeling / Reasoning / Review perspectives; restored tabs offer Reopen panel |
Day 3 — Validate in CI¶
- run: cargo install strixonomy-cli --locked --version 0.27.0
- run: strixonomy validate ./src/ontologies
Optional: fail on unsatisfiable classes, or assert an instance:
- run: strixonomy classify . --profile el --format json
- run: strixonomy realize . --profile rl --format json
Full examples: CI integration · Realize cookbook.
Day 4 — Queries, imports, diagnostics¶
- Open Query Workbench → run
SELECT short_name, labels FROM classes. - Use Manage Imports to add/remove Turtle imports; Reload Imports after external changes.
- Inspect lint issues in Diagnostics and the Problems panel.
SQL subset limits: SQL reference. SPARQL: SPARQL reference.
Day 5 — Reasoning, explanations, visualization¶
- Synchronize Reasoner (reindex + classify) or Classify Ontology.
- Review unsatisfiable classes; open Explanation and regenerate if the stale banner appears after edits.
- Run Realize (or inspect realization in the Reasoner panel) for ABox inferred types.
- Open Rule Browser if your ontology uses SWRL; edit or validate rules in Rule Editor.
- Open Class Graph in asserted vs inferred mode; truncated graphs show a warning on large ontologies.
- Set Hierarchy Mode to inferred or combined.
Guide: Reasoner · SWRL cookbook.
Week 1 checkpoint¶
- [ ] Browse and edit Turtle/OBO/XML entities in VS Code
- [ ] Run reasoner lifecycle (classify / consistency / realize / stop) and open an explanation
- [ ] Optionally open Rule Browser for SWRL (if your ontology uses rules)
- [ ] Run
strixonomy validate(or classify / realize) in CI - [ ] Compare a branch with Semantic Diff or
strixonomy diff - [ ] Document which tasks stay in Protégé vs Strixonomy for your team
Common friction points¶
| Issue | Resolution |
|---|---|
| Cannot edit OWL/XML / RDF/XML in inspector | Ensure file is .owl/.rdf/.owx with OK parse status (v0.21+); check Supported formats and OWL/XML write-back. Prefer Turtle for full Manchester / refactor |
| SQL query fails | Strixonomy SQL is single-table subset — use SPARQL for graph patterns |
| Reasoner slow or fails on DL | Check workspace limits; try el profile first |
| Restored panel looks empty | Click Reopen panel on the recovery tab (context is reloaded from the last command) |
| Team expects stable plugin ecosystem API | Plugin host MVP shipped; stable semver API is v1.0 — see Plugin authoring |
Next steps¶
| Goal | Document |
|---|---|
| What changed in v0.18 | migration/v0.18.md |
| Enterprise evaluation pack | Enterprise evaluation |
| Split workflow with Protégé | Protégé coexistence |
| Semantic diff for releases | Semantic diff |
| OBO / ROBOT pipelines | OBO workflow · ROBOT interop |