Skip to content

OWLGraph 1.0.1

Released: 2026-04-10 Status: available

The first release of OWLGraph cut under the version-management system. Fixes a set of OWL2 RL reasoning bugs surfaced by the fiveloaves.ai test report against 1.0.0.

  • Property hierarchy materialization (rdfs:subPropertyOf): writing an edge on a sub-property now also materializes edges for every transitive parent property. The reasoner gained AllSuperProperties(); the engine gained materializePropertyHierarchy().
  • Transitive closure (owl:TransitiveProperty): the engine now computes the within-batch transitive closure for transitive properties. For incremental writes, it also reads existing edges (via @reverse index) so chains span transactions.
  • Disjointness across mutations (owl:disjointWith): the validator now consults already-persisted types (not just the current batch) and walks the type-hierarchy ancestor closure, so disjointness violations are caught even when the conflicting types were written in separate transactions and even when disjointness is declared on a superclass.
  • owl:hasKey indexing: the compiler now emits @index(exact) on every data property referenced by an owl:hasKey axiom. eq() lookups on identifier predicates work without manual /alter calls.
  • Turtle parser parity: the Turtle parser now recognizes rdfs:subPropertyOf (on both object and data properties) and owl:hasKey. Previously these only worked in OWL/XML.

This is a patch release on the 1.0 line. No breaking changes. Existing data continues to work; previously-failed reasoning queries will start returning new (correct) results after upgrade.

The reasoning rule list at /docs/owl/reasoning/ has been updated to reflect the actual rule order in the engine.