Problem
Even after locally implementing the proposed solution in #1461, there's another hidden OWL 2 DL violation that causes HermiT and other OWL 2 DL reasoners to reject it: Non-simple property '<http://www.w3.org/2006/time#disjoint>' or its inverse appears in disjoint properties axiom.
Hopefully, this report is timely for planning the next revision, @dr-shorthair .
Root Cause
Here's what I found:
The time:disjoint property:
- Has sub-properties (
time:intervalDisjoint, which itself has sub-properties like time:intervalAfter and time:intervalBefore)
- Is declared with
owl:propertyDisjointWith time:notDisjoint
Because it has sub-property chains, it means it is not simple. And it is used inside a property disjointness axiom. That violates OWL 2 DL §11.2.
Location
time..ttl#L592-602:
:disjoint
a owl:ObjectProperty ;
rdfs:domain :TemporalEntity ;
rdfs:range :TemporalEntity ;
owl:propertyDisjointWith :notDisjoint ; # ← Violation: :disjoint is non-simple https://github.com/w3c/sdw/blob/gh-pages/time/rdf/time.ttl#L597
rdfs:label "disjoint time entity" ;
skos:definition "..." .
and time.ttl#L650-685:
:intervalAfter
rdfs:subPropertyOf :intervalDisjoint ; # ← Transitively non-simple https://github.com/w3c/sdw/blob/gh-pages/time/rdf/time.ttl#L652
...
:intervalDisjoint
a owl:ObjectProperty ;
rdfs:subPropertyOf :disjoint ; # ← Makes :disjoint non-simple https://github.com/w3c/sdw/blob/gh-pages/time/rdf/time.ttl#L679
...
How to Reproduce
Locally implement fix proposed in #1461 and then run HermiT again:
docker run --rm -v $(pwd):/workspace obolibrary/robot:v1.9.8 robot \
reason --reasoner HermiT \
--input /workspace/owl-time.ttl
exit code of 1 with Non-simple property '<http://www.w3.org/2006/time#disjoint>' or its inverse appears in disjoint properties axiom. message.
Also tested with robot's JFact reasoner. Similar error: Non simple role used as simple: http://www.w3.org/2006/time#before
Problem
Even after locally implementing the proposed solution in #1461, there's another hidden OWL 2 DL violation that causes HermiT and other OWL 2 DL reasoners to reject it:
Non-simple property '<http://www.w3.org/2006/time#disjoint>' or its inverse appears in disjoint properties axiom.Hopefully, this report is timely for planning the next revision, @dr-shorthair .
Root Cause
Here's what I found:
The
time:disjointproperty:time:intervalDisjoint, which itself has sub-properties liketime:intervalAfterandtime:intervalBefore)owl:propertyDisjointWith time:notDisjointBecause it has sub-property chains, it means it is not simple. And it is used inside a property disjointness axiom. That violates OWL 2 DL §11.2.
Location
time..ttl#L592-602:
and time.ttl#L650-685:
How to Reproduce
Locally implement fix proposed in #1461 and then run HermiT again:
docker run --rm -v $(pwd):/workspace obolibrary/robot:v1.9.8 robot \ reason --reasoner HermiT \ --input /workspace/owl-time.ttlexit code of 1 with
Non-simple property '<http://www.w3.org/2006/time#disjoint>' or its inverse appears in disjoint properties axiom.message.Also tested with robot's JFact reasoner. Similar error:
Non simple role used as simple: http://www.w3.org/2006/time#before