Galigator / openllet

Openllet is an OWL 2 reasoner in Java, build on top of Pellet.
https://www.w3.org/TR/owl2-primer/
Other
100 stars 26 forks source link

Consistency check produces wrong results when using imports #42

Open buergerj opened 5 years ago

buergerj commented 5 years ago

I have a problem concerning the inconsistency check for ontologies using imports. I provide 2 minimal working examples. In one case (inconsistency_wo_import), an inconsistent ontology is provided. Openllet detects that and also produces explanations. But, in case I split this ontology in one providing the classes and object property assertions (inc2) and a second one which imports the first one and defines the individuals and relations (inc2u), Openllet says the ontology is consistent. inconsistency_wo_import.owl.txt inc2.owl.txt inc2u.owl.txt

Galigator commented 5 years ago

Thank for the report.

As I remember Openllet simply ignore the 'import' declaration because it can't do a fast check for changes. In many way Pellet/Openllet is design to be efficient way data changes (it is often faster that Fact++ when data change).

So this is a bug, but a bug that probably will never be fix. I understand the deception, but the easy fix could be to look for import axioms and do manually the import.

Locke commented 5 years ago

As I currently have another problem with imported ontologies I investigated your report - but cannot reproduce it.

In general, my experience is, that the processing of imports depends on the used framework. I believe that you are missing the pre-loading of the imported ontology.

I uploaded a project (with both OWL API and Jena) where all four tests are detecting the inconsistency: https://github.com/Locke/openllet-issue-42