0

我有一个关于使用 OWL API 和推理器的基本问题。

我已经尝试过 JFact Reasoner,成功运行它并得到了很多公理(其中一些是推断出来的,其中一些在原始本体中明确说明)。

我需要区分它们,但我真的找不到任何方法来做到这一点。

OWLClass 或其他地方有什么方法吗?

4

1 回答 1

1

断言公理与推断公理不同,仅因为它们明确存在于本体中。

您可以通过以下方式检查本体中是否存在公理:

OWLOntology o = ...
OWLAxiom ax = ...
boolean asserted = o.containsAxiom(ax);

注意:如果一个公理有注释,它可能不会被 theis 方法匹配:语义上等价但具有不同注释的公理彼此不匹配equals()(这是 W3C 规范,不是 OWL API 决定)。在这种情况下,您可以找到一个公理是否被断言o.containsAxiomIgnoreAnnotations(ax)

于 2014-11-25T21:27:30.720 回答