在 Python 中使用 HermiT

Use HermiT in Python

我们有一个 ontology 但我们需要使用推理机 HermiT 来推断给定表达式的情绪。我们不知道如何在 python 中使用和实现推理器,我们在互联网上也找不到很好的解释。我们发现我们可以为此使用 sync_reasoner() ,但这到底是做什么的呢?我们是否必须每次都手动调用 reasoner 还是自动调用?

您不需要实施推理器。 sync_reasoner() 函数已经在内部调用 HermiT 并为您进行推理。

推理器将为您重新分类个人和 类,这意味着它会创建 类 和个人的 parent-child 层次结构。当您加载 ontology 时,仅表示显式 parent-child 关系。但是,当您调用推理器时,parent-child 层次结构也会更新以包含推断关系。

Owlready2-0.5/doc/intro.rst 中提供了这方面的示例。在调用 sync_reasoner() 之前调用 test_pizza.__class__ 打印 onto.Pizza,这是显式信息。但是,在调用 sync_reasoner() 之后调用 test_pizza.__class__ 打印 onto.NonVegetarianPizza,这是推断的信息。