使用owlapi推断相等语义(OWL2RL)



我正试图使用OWL-api为OWL2RL中的规则"相等的语义"生成蕴涵。我已经尝试过了:为什么Protege中可视化的推断与导出的推断公理不同

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 repo上打开一个问题,以便将功能添加到库中。

相关内容

  • 没有找到相关文章

最新更新