【发布时间】:2021-12-22 01:21:44
【问题描述】:
我尝试在 Java 中使用 OWLAPI 5 创建不同的个人公理。我想要的是使用 vocab owl:differentFrom 的简单三元组:
test:A owl:differentFrom test:B
但我得到的是使用 owl:AllDifferent 的三倍:
_:genid234 rdf:type owl:AllDifferent
_:genid234 owl:distinctMembers _:genid236
_:genid236 rdf:rest _:genid235
_:genid236 rdf:rest rdf:nil
_:genid235 rdf:first test:A
_:genid235 rdf:type rdf:List
_:genid236 rdf:first test:B
_:genid236 rdf:type rdf:List
简单的代码是:
OWLNamedIndividual op1 = factory.getOWLNamedIndividual(baseIRI + A);
OWLNamedIndividual op2 = factory.getOWLNamedIndividual(baseIRI + B);
ont.add(factory.getOWLDifferentIndividualsAxiom(op1, op2));
我已经在 Protege 5.5.0 上尝试过,它产生的三元组与 OWLAPI 完全相同。
【问题讨论】:
-
这是一个错误。我创建了github.com/owlcs/owlapi/issues/1031 来修复它。