【发布时间】:2014-11-25 10:00:56
【问题描述】:
我有一个关于使用 OWL API 和推理器的基本问题。
我尝试过 JFact Reasoner,成功运行它并得到了很多公理(其中一些是推断出来的,其中一些是在原始本体中明确说明的)。
我需要区分它们,但我真的找不到任何方法来做到这一点。
OWLClass 或其他地方有什么方法吗?
【问题讨论】:
标签: java ontology owl-api reasoning inferred-type
我有一个关于使用 OWL API 和推理器的基本问题。
我尝试过 JFact Reasoner,成功运行它并得到了很多公理(其中一些是推断出来的,其中一些是在原始本体中明确说明的)。
我需要区分它们,但我真的找不到任何方法来做到这一点。
OWLClass 或其他地方有什么方法吗?
【问题讨论】:
标签: java ontology owl-api reasoning inferred-type
断言的公理与推断的公理不同,只是因为它们明确地存在于本体中。
您可以通过这种方式检查一个公理是否存在于本体中:
OWLOntology o = ...
OWLAxiom ax = ...
boolean asserted = o.containsAxiom(ax);
注意:如果一个公理有注解,它可能不会被 theis 方法匹配:语义上等价但有不同注解的公理彼此不是equals()(这是 W3C 规范,不是 OWL API 决定)。在这种情况下,您可以查看是否使用o.containsAxiomIgnoreAnnotations(ax) 断言了一个公理。
【讨论】: