Skip to content

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 unsatisfiable lists and consistent no longer stop at reporting only owl:Nothing when Ontologos surfaces bottom that way.
  • Example: a class B with rdfs:subClassOf owl:Nothing and Invalid ⊑ B both 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 chain C … U (rule composed_subclass_chain) plus the bottom proof for ancestor U, or the chain to owl:Nothing when no Ontologos trace exists.
  • CLI explain and LSP getExplanation / 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/IndexBuilder reparse 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 + OWL patch (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

  1. Bump to OntoCore / OntoCode 0.18.1 (cargo install ontocore-cli --locked --version 0.18.1, or Marketplace / VSIX).
  2. Re-run classify on known unsat fixtures if you assert exact unsatisfiable IRI sets in CI.
  3. If CI asserted that explain failed for expansion-only classes, expect Ok with composed steps instead.