使用 owlapi 推断等式语义 (OWL 2 RL)

Inferencing the Sematincs of Equality (OWL 2 RL) using owlapi

我正在尝试使用 owl-api 为 OWL 2 RL '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 和隐士作为推理器。

但是我还是不能产生这样的蕴涵:

If:
T(?x, owl:sameAs, ?y)
T(?y, owl:sameAs, ?z) 
Then:
T(?x, owl:sameAs, ?z)

或平等语义学中的任何内容。

没有实现 sameAs 关系的推断公理生成器。您可以自己编写一个,例如,基于 InferredPropertyAssertionGenerator,或者您可以在 OWLAPI GitHub 存储库上打开一个问题,以便将功能添加到库中。