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