Migration: v0.18.0 → v0.18.1¶
v0.18.1 is a patch on the Protégé Desktop parity gate: reasoner unsatisfiable reporting, composed explanations, and test-suite hardening. See CHANGELOG and the v0.18 overview in migration/v0.18.md.
What changed¶
Reasoner unsatisfiable classes¶
- Classification now expands named classes that are asserted (or inferred) as subclasses of
owl:Nothing, and descendants of any unsatisfiable class. - User-facing
unsatisfiablelists andconsistentno longer stop at reporting onlyowl:Nothingwhen Ontologos surfaces bottom that way. - Example: a class
Bwithrdfs:subClassOf owl:NothingandInvalid ⊑ Bboth appear as unsatisfiable after EL/DL classify.
Explanations¶
- When Ontologos has no direct
C ⊑ ⊥justification (common for expansion-only unsats), OntoCore composes an explanation: asserted subclass chainC … U(rulecomposed_subclass_chain) plus the bottom proof for ancestorU, or the chain toowl:Nothingwhen no Ontologos trace exists. - CLI
explainand LSPgetExplanation/ alternatives agree on this path for the unsat fixture (Invalid,B).
Tests / tooling¶
- Stronger behavioral oracles (hierarchy edges, catalog reindex, path-jail error text, merge-base diff).
- Horned/
IndexBuilderreparse oracles for OWL patch success paths (tests/owl_patch_oracles.rs). - Extension LSP workflow tests; New Ontology / Prefix Manager / Property Chain VS Code e2e; ImportsPanel Vitest.
- Optional mutation testing baseline for
path_jail+ OWLpatch(mutants-baseline).
Breaking changes¶
None. Clients that already handled a non-empty unsatisfiable list may see additional named IRIs (and consistent: false when those exist) where previously only owl:Nothing appeared. Explanation payloads for expansion-only classes may newly succeed with composed_subclass_chain steps instead of ExplanationUnavailable.
Upgrade¶
- Bump to OntoCore / OntoCode 0.18.1 (
cargo install ontocore-cli --locked --version 0.18.1, or Marketplace / VSIX). - Re-run classify on known unsat fixtures if you assert exact
unsatisfiableIRI sets in CI. - If CI asserted that
explainfailed for expansion-only classes, expectOkwith composed steps instead.