- The problem:
Openllet infers the axiom `AsymmetricObjectProperty(:r)`, which (to the best of my knowledge) should not be inferred from the ontology. (I also cross-checked with HermiT, which does not infer the axiom).
- For reproduction, is here call from my program using OWL API (loads ontololgy from file, infers objectProperty axioms):
OWLOntologyDocumentSource source = new FileDocumentSource(ontFile, new FunctionalSyntaxDocumentFormat());
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
OWLOntology ont = manager.loadOntologyFromOntologyDocument(source);
I am using Openllet to compute inferred axioms and I discovered an incorrect inference. Here is a minimal example.
Ontology (
Declaration(NamedIndividual(:a)) Declaration(ObjectProperty(:r)) ObjectPropertyDomain( :r ObjectOneOf(:a))
)
OWLOntologyDocumentSource source = new FileDocumentSource(ontFile, new FunctionalSyntaxDocumentFormat()); OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); OWLOntology ont = manager.loadOntologyFromOntologyDocument(source);
OWLReasoner openllet = OpenlletReasonerFactory.getInstance().createReasoner(ont);
List<InferredAxiomGenerator<? extends OWLAxiom>> gens = new ArrayList<>(); gens.add( new InferredObjectPropertyCharacteristicAxiomGenerator());
InferredOntologyGenerator iog = new InferredOntologyGenerator(openllet, gens); OWLOntology infOnt = manager.createOntology(); iog.fillOntology(ont.getOWLOntologyManager().getOWLDataFactory(), infOnt);