Skip to content

[OWL-Time] OWL 2 DL violation: non-simple property in disjoint axiom #1462

@manuel-j-diaz

Description

@manuel-j-diaz

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:

  1. Has sub-properties (time:intervalDisjoint, which itself has sub-properties like time:intervalAfter and time:intervalBefore)
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions