You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using Openllet to decide the consistency of an ontology and compute inferred axioms. I encountered unexpected behavior, where changing the name of a class, a role or an individual leads to a differenr result. I.e., Openllt computes the wrong result in some cases. As far as I can see, the behavior of the reasoner should not change after renaming in all of the examples. I will present three examples, where this behavior occurs:
The problem:
Openllet infers that the ontology is inconsistent. I cross-checked the consistency with HermiT, which classified the ontology as consistent.
The result of the consistency check seems to depend on the name of the individual in the EquivalentClass axiom. The ontology is correctly classified as consistent, if one uses the individual :a instead of :c.
The problem:
Openllet infers the axiom SymmetricObjectProperty(:s), which is not entailed by the ontology.
The result of the inference seems to depend on the name of the individual and class used in the EquivalentClass axiom. E.g., the incorrectly inferred axiom disappears if one uses the individual :a instead of :d or the class :A instead of :D.
The problem:
Openllet infers the axiom ClassAssertion(:C :a), which is not entailed by the ontology.
The result of the inference seems to depend on the name of the individual, class and relation used in the EquivalentClass axiom. E.g., incorrect inference disappears if one uses the individual :a instead of :d or the relation name :r instead of :qsim.
Code
For reproduction, here is the call from my program using OWL API:
OWLOntologyDocumentSource source = new FileDocumentSource(ontFile, new FunctionalSyntaxDocumentFormat());
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
ont = manager.loadOntologyFromOntologyDocument(source);
OWLReasoner openllet = OpenlletReasonerFactory.getInstance().createReasoner(ont);
openllet.isConsistent()
List<InferredAxiomGenerator<? extends OWLAxiom>> gens = new ArrayList<>();
gens.add( new InferredObjectPropertyCharacteristicAxiomGenerator());
gens.add( new InferredClassAssertionAxiomGenerator());
InferredOntologyGenerator iog = new InferredOntologyGenerator(openllet, gens);
OWLOntology infOnt = manager.createOntology();
iog.fillOntology(ont.getOWLOntologyManager().getOWLDataFactory(), infOnt);
The text was updated successfully, but these errors were encountered:
I am using Openllet to decide the consistency of an ontology and compute inferred axioms. I encountered unexpected behavior, where changing the name of a class, a role or an individual leads to a differenr result. I.e., Openllt computes the wrong result in some cases. As far as I can see, the behavior of the reasoner should not change after renaming in all of the examples. I will present three examples, where this behavior occurs:
Example 1
Openllet infers that the ontology is inconsistent. I cross-checked the consistency with HermiT, which classified the ontology as consistent.
EquivalentClass
axiom. The ontology is correctly classified as consistent, if one uses the individual:a
instead of:c
.Example 2
Openllet infers the axiom
SymmetricObjectProperty(:s)
, which is not entailed by the ontology.EquivalentClass
axiom. E.g., the incorrectly inferred axiom disappears if one uses the individual:a
instead of:d
or the class:A
instead of:D
.Example3
Openllet infers the axiom
ClassAssertion(:C :a)
, which is not entailed by the ontology.EquivalentClass
axiom. E.g., incorrect inference disappears if one uses the individual:a
instead of:d
or the relation name:r
instead of:qsim
.Code
The text was updated successfully, but these errors were encountered: