我正在尝试使用owl-api为OWL2RL 'The Semantics of Equality‘中的规则生成蕴涵。我已经试着关注了:Why the inferences visualised in Protege differ from the exported inferred axioms
genInferred.add(new InferredSubClassAxiomGenerator());
genInferred.add(new InferredClassAssertionAxiomGenerator());
genInferred.add(new InferredDisjointClassesAxiomGenerator());
genInferred.add(new InferredEquivalentClassAxiomGenerator());
genInferred.add(new InferredEquivalentDataPropertiesAxiomGenerator());
genInferred.add(new InferredEquivalentObjectPropertyAxiomGenerator());
genInferred.add(new InferredInverseObjectPropertiesAxiomGenerator());
genInferred.add(new InferredObjectPropertyCharacteristicAxiomGenerator());
genInferred.add(new InferredPropertyAssertionGenerator());
genInferred.add(new InferredSubDataPropertyAxiomGenerator());
genInferred.add(new InferredSubObjectPropertyAxiomGenerator());并尝试预先计算出相同的个体推论:
reasoner.precomputeInferences(InferenceType.SAME_INDIVIDUAL);
ontologyInf.addAxioms(reasoner.getPendingAxiomAdditions());我已经尝试使用Openllet和hermit作为推理机。
但是我仍然不能产生这样的蕴涵:
If:
T(?x, owl:sameAs, ?y)
T(?y, owl:sameAs, ?z)
Then:
T(?x, owl:sameAs, ?z)或者等价性语义中的任何东西。
发布于 2021-05-16 22:02:20
没有推断出的公理生成器来实现sameAs关系。你可以自己写一个,例如,基于InferredPropertyAssertionGenerator,或者你可以在OWLAPI GitHub repo上打开一个问题,以获得要添加到库中的功能。
https://stackoverflow.com/questions/67546978
复制相似问题