【发布时间】:2018-04-06 07:42:50
【问题描述】:
我们有一个本体,但我们需要使用推理器 HermiT 来推断给定表达式的情感。我们不知道如何在 python 中使用和实现推理器,我们在互联网上找不到很好的解释。我们发现我们可以为此使用sync_reasoner(),但这究竟是做什么的呢?我们必须每次都手动调用推理器还是自动调用?
【问题讨论】:
标签: python ontology reasoner owlready hermit
我们有一个本体,但我们需要使用推理器 HermiT 来推断给定表达式的情感。我们不知道如何在 python 中使用和实现推理器,我们在互联网上找不到很好的解释。我们发现我们可以为此使用sync_reasoner(),但这究竟是做什么的呢?我们必须每次都手动调用推理器还是自动调用?
【问题讨论】:
标签: python ontology reasoner owlready hermit
您不需要实现推理器。 sync_reasoner() 函数已在内部调用 HermiT 并为您进行推理。
推理器将为您重新分类个人和类,这意味着它会创建一个类和个人的父子层次结构。当您加载一个本体时,只表示显式的父子关系。但是,当您调用推理器时,父子层次结构会更新以包含推断关系。
Owlready2-0.5/doc/intro.rst 中提供了一个示例。在调用sync_reasoner() 之前调用test_pizza.__class__ 会打印onto.Pizza,这是显式信息。但是,在调用sync_reasoner() 之后,调用test_pizza.__class__ 会打印出onto.NonVegetarianPizza,这是推断的信息。
【讨论】: