我有一个关于使用 OWL API 和推理器的基本问题。
我尝试过 JFact Reasoner,成功运行了它并得到了很多公理(其中一些是推断出来的,其中一些在原始本体中明确指出)。
我需要区分它们,但我真的找不到任何方法来做到这一点。
OWLClass 或其他地方有任何方法吗?
最佳答案
断言公理与推断公理的不同之处仅在于它们明确存在于本体中。
您可以通过以下方式检查本体中是否存在公理:
OWLOntology o = ...
OWLAxiom ax = ...
boolean asserted = o.containsAxiom(ax);
注意:如果一个公理有注释,则 theis 方法可能无法匹配它:语义上等价但具有不同注释的公理彼此不 equals()
(这是 W3C 规范,而不是 OWL API 决定)。在这种情况下,您可以使用 o.containsAxiomIgnoreAnnotations(ax)
查找公理是否被断言。
关于java - 如何区分推断公理和显式公理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27123660/