如何在推断公理和显性公理之间解脱



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

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

我需要区分它们,但我真的找不到任何方法。

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

言公理与推断公理的不同之处只是因为它们明确存在于本体中。

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

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

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

最新更新