OWL Consistency Check

VocBench features an Integrity Constraint Validation (ICV) check that detects whether an OWL ontology is consistent or not.

Consistency is a critical quality attribute for OWL ontologies, referring to the existency of an interpretation. In other words, an ontology is inconsistent if there is no assignment of meanings to the vocabulary of the ontology that satisfies all the assertions in the ontology. Determining the consistency of an ontology is indeed a classical task for OWL reasoners.

This ICV is only available for OWL projects hosted on a triple store capable of consistency checking. Currently, Ontotext GraphDB is the only supported triple store. In fact, GraphDB enables to customize inference through the selection of different "rulesets" (comprising axiomatic triples, consistency checks and entailment rules), allowing for choosing a different tread-off between completeness of the reasoning and resource consumption. The possibility to detect an inconsistency is thus limited by the selection of a suitably expressive ruleset.

Run the consistency check

After selecting the consistency check ICV, the user lands on a page containing an empty area, which will be populated with the detected inconsistencies, eventually. To start the actual consistency check, click on the "Run" button on the right of the header of the area.

OWL consistency check empty

Inconsistencies visualization

An inconsistent ontology entails statements that contradict each other, e.g. two individuals being the same and different at the same time, the existency of an instance for an empty class (such as the intersection of disjoint classes), etc. These inconsistency, if any, will be displayed in the initially empty area. VocBench may not display all inconsistency in an ontology, as GraphDB - for instance - returns only the inconsistency related to the same triple, possibly omitting inconsistency involving unrelated triples. Therefore, the check should be run iteratively as the found inconsistency are resolved, until none is detected. As a reasoner may be incomplete with respect to the semantics of OWL, it worth to notice that there might still be undetected inconsistency.

OWL inconsistency collapsed

In the figure above, the contradiction is that :Monaco is an instance (rdf:type) of both the class :State and :City, which are disjoint (owl:disjointWith).

It is possible to double-click on each triple component to open a read-only resource view focused on the clicked resource.

Matching the conventions of the resource view, the background of the first triple highlights that it is inferred (and not explicitly asserted in the ontology). Clicking the question mark on the right of an inferred triple enables to see the premises from which that inference has been drawn. If a premise is itself an inferred triple, its premises can be obtained recursively.

OWL inconsistency expanded

In the figure above, the fact that :Monaco is an instance (rdf:type) of the class :State has been inferred from two (explicit) triples:

In words, Monaco must be a state, since it has been member of the United Nations since 28 May 1993, and every member of the United Nations must be a (sovereign) state.

Inconsistency repair

A common approach to repair an inconsistent ontology is to remove the offending (explicit) axioms. When visualizing an inconsistency, it is possible to click on the trash bin icon near an explicit triple to remove it. In our running example, we could remove the axiom stating that the class :City is disjoint with the class :State, as Monaco - for instance - is a modern city-state. After the removal of a triple, the check is automatically re-run to detect other inconsistencies, if any.