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

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

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

OWLClass或其他地方是否有任何方法?

最佳答案

断言公理与推断公理仅在于它们明确存在于本体中。

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

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


注意:如果一个公理有注释,则有可能无法通过theis方法进行匹配:语义上等效但具有不同注释的公理互不互斥(这是W3C规范,不是OWL API决定) 。在这种情况下,您可以找到是否使用equals()声明了公理。

08-04 14:04