Skip to content

Inconsistent ontology due to hasInferredPropertyState #6

@schivmeister

Description

@schivmeister

Protege via the Pellet or HermiT reasoner will throw errors and refuse to proceed inferring due to an inconsistency in the ontology, the latter being more helpful in its description.

Pellet:

An error occurred during reasoning: Unsupported axiom: Ignoring transitivity and/or complex subproperty axioms for hasInferredPropertyState.

HermiT:

An error occurred during reasoning: The given property hierarchy is not regular.
There is a cyclic dependency involving property hasInferredPropertyState.

Thanks to https://stackoverflow.com/questions/22792359/using-property-chains-to-get-inferred-knowledge-in-an-owl-ontologyprotege I came upon https://www.w3.org/TR/owl2-syntax/#Property_Hierarchy_and_Simple_Object_Property_Expressions and https://www.w3.org/TR/owl2-syntax/#The_Restrictions_on_the_Axiom_Closure and was able to deduce that, while this complex property chain definition may be valid in OWL 2, the cyclic dependency could be a result of having this defined as a subclass of a component already in the property chain axiom:

subClassOf: hasPropertyState

isExplicitlyDerivedFrom o hasPropertyState -> hasInferredPropertyState

I suggest defining this without the subClassOf definition, in which case there is no further complaints from the reasoner, and the chain appears to still work.

Interestingly, someone on the web had run into this chaining problem in the past https://lists.w3.org/Archives/Public/semantic-web/2013May/0241.html but received no response to their request for assistance in understanding it. The pattern observed there appears to be the same: a component of the chain appears as a superclass in the same definition.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions