如何使用OWLReasoner更新本体

时间:2018-07-16 20:40:23

标签: owl-api reasoner hermit

我是OWL API的新手,我想知道是否有一种方法可以利用推理机(HermiT)拾取的所有新关系来更新本体。我找不到教程或太多文档,所以我假设致电

    reasoner.classifyClasses();
    reasoner.classifyDataProperties();
    reasoner.classifyObjectProperties();
    reasoner.precomputeInferences();
    reasoner.flush();

将对新关系进行分类。然后,我不确定如何转换这些新关系以创建更新的本体。我对如何手动遍历新的关系并将它们添加到本体中不存在的情况有一个想法,但是我正在寻找一种更简单的方法来实现。另外,我也不完全确定上面的代码是否对我来说是所有新关系的原因,所以请告诉我是否应该进行任何更正。

1 个答案:

答案 0 :(得分:1)

您可以将InferredOntologyGenerator用于此目的。可以使用推理机作为输入并使用InferredOntologyGenerator::fillOntology方法创建该类,以将可以推断出的所有公理添加到新的本体中。

请注意,公理生成可能是非常缓慢的操作。首先尝试一个小的本体,看看结果是否满足您的需求。