Migrating from Protégé — first week¶
This guide helps ontology teams adopt OntoCode v0.13 alongside or instead of Protégé. For a capability comparison, see Protégé vs OntoCode and What ships today.
Before you start¶
OntoCode fits well when you:
- Version-control ontology files (Turtle, OWL, OBO) when your team uses shared repositories
- Want VS Code editing, CI validation, and semantic diff
- Can edit Turtle (
.ttl) or OBO (.obo) for write-back (RDF/XML and JSON-LD are read-only in the inspector)
Keep Protégé (for now) when you need:
- OWL/XML or RDF/XML in-place editing
- A full DL axiom catalog UI for every axiom kind and format
- Desktop-only workflows with no Git/CI requirement
- Protégé-specific plugins
Many teams use both: Protégé for heavy axiom authoring, OntoCode for browse, lint, diff, and CI validation. See Protégé coexistence.
Day 1 — Install and open your project¶
- Install OntoCode from the Marketplace or Open VSX.
- File → Open Folder… and select your ontology repository (not a single file).
- Trust the workspace when prompted.
- Open the OntoCode 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 OntoCode¶
| In Protégé | In OntoCode v0.13 |
|---|---|
| Class hierarchy tab | Classes explorer view; toggle asserted / inferred / combined after reasoner |
| Entity editor (labels, parents) | Entity Inspector edit section (.ttl and .obo) |
| DL query tab | Query Workbench — SQL catalog tables or SPARQL |
| Reasoner (HermiT, etc.) | OntoCode: Run Reasoner — EL/RL/RDFS/DL/auto via OntoLogos 1.0 |
| Active ontology | All workspace folders indexed (multi-root supported) |
| Refactor / move axioms | Rename Entity IRI, Migrate Namespace, Move Entity, Extract Module |
| Diff between versions | Semantic Diff panel or ontocore diff in CI |
Day 3 — Validate in CI¶
Add a pipeline gate so Protégé-only mistakes are caught before merge:
- run: cargo install ontocore-cli --locked --version 0.13.0
- run: ontocore validate ./src/ontologies
Optional: fail on unsatisfiable classes:
- run: ontocore classify . --profile el --format json
Full examples: CI integration.
Day 4 — Queries and diagnostics¶
- Open Query Workbench → run
SELECT short_name, labels FROM classes. - Inspect lint issues in Diagnostics and the Problems panel.
- Export query results (CSV/JSON) for reporting.
SQL subset limits: SQL reference. SPARQL: SPARQL reference.
Day 5 — Reasoning and hierarchy¶
- Run OntoCode: Run Reasoner with profile
el(orautofor DL ontologies). - Review unsatisfiable classes in Reasoner Results.
- Set Hierarchy Mode to inferred or combined to see inferred parents in the explorer.
Guide: Reasoner. Profile selection: FAQ.
Week 1 checkpoint¶
By end of week one you should be able to:
- [ ] Browse and edit Turtle entities in VS Code
- [ ] Run
ontocore validate(or classify) in CI - [ ] Compare a branch with Semantic Diff or
ontocore diff - [ ] Document which tasks stay in Protégé vs OntoCode for your team
Common friction points¶
| Issue | Resolution |
|---|---|
| Cannot edit OWL/XML in inspector | Convert module to Turtle for write-back, or edit in Protégé |
| SQL query fails | OntoCore SQL is single-table subset — use SPARQL for graph patterns |
| Reasoner slow or fails on DL | Check workspace limits; try el profile first |
| Team expects plugin ecosystem | Plugin host is v1.0 target — not installable in v0.13 |
Next steps¶
| Goal | Document |
|---|---|
| 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 |