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

incorrect "AsymmetricObjectProperty" inference #87

Open tobiaswjohn opened 2 days ago

tobiaswjohn commented 2 days ago

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))

)


- 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);

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);