Java 利用owlapi推断等式语义(owl2rl)

Java 利用owlapi推断等式语义(owl2rl),java,inference,owl-api,reasoner,Java,Inference,Owl Api,Reasoner,我试图使用OWLAPI为OWL2RL“平等的语义”中的规则生成蕴涵。我已经试过了: 并尝试预先计算相同的单个推断: reasoner.precomputeInferences(InferenceType.SAME_INDIVIDUAL); ontologyInf.addAxioms(reasoner.getPendingAxiomAdditions()); 我已经尝试使用Openllet和hermit作为推理机 但我仍然不能产生这样的蕴涵: If: T(?x, owl:sameAs, ?y)

我试图使用OWLAPI为OWL2RL“平等的语义”中的规则生成蕴涵。我已经试过了:

并尝试预先计算相同的单个推断:

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)

或者平等语义中的任何东西。

没有推理的公理生成器将
sameAs
关系具体化。您可以自己编写一个,例如基于
InferedPropertyAssertionGenerator
,或者您可以在OWLAPI GitHub repo上打开一个问题,以将功能添加到库中

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