【发布时间】:2021-05-15 13:00:55
【问题描述】:
我正在尝试使用 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 和 hermit 作为推理器。
但我仍然无法产生这样的蕴涵:
If:
T(?x, owl:sameAs, ?y)
T(?y, owl:sameAs, ?z)
Then:
T(?x, owl:sameAs, ?z)
或平等语义学中的任何内容。
【问题讨论】:
标签: java inference owl-api reasoner