【问题标题】:Use HermiT in Python在 Python 中使用 HermiT
【发布时间】:2018-04-06 07:42:50
【问题描述】:

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

【问题讨论】:

    标签: python ontology reasoner owlready hermit


    【解决方案1】:

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

    推理器将为您重新分类个人和类,这意味着它会创建一个类和个人的父子层次结构。当您加载一个本体时,只表示显式的父子关系。但是,当您调用推理器时,父子层次结构会更新以包含推断关系。

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

    【讨论】:

    • 您好,sync_reasoner() 函数是否检查本体的一致性?
    • 是的,一致性检查是推理过程的一部分。
    • 感谢您的回复。我在跟踪输出时遇到了困难。我有一个包含错误的本体,因为我将 Student 和 Unit 作为一个不相交的类以及等效类来查看隐士给我的输出。但对于正确和不正确的文件,它显示相同的输出。请看一下这个问题。 stackoverflow.com/questions/51147628/… 提前致谢。
    猜你喜欢
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多