4

我创建了一个基于以下内容的本体:

  1. 每个人都是美丽的,如果他/她的父母之一是美丽的

  2. 阿芙罗狄蒂是爱神之父

  3. 阿芙罗狄蒂很漂亮

因此我们希望爱神也很漂亮!然而,Pellet 推理机似乎并没有推断出这一点。如果我手动将 Eros 的类型设置为成功,它会接受它,但它不应该推断它吗?

我的本体就在这里(将扩展名更改为 .owl)。我还提供了 Protege 的屏幕截图:

类层次结构: 在此处输入图像描述 Eros: 在此处输入图像描述 推断的类层次结构: 在此处输入图像描述

我错过了什么?


编辑:

我可以看到 Eros 出现在这个 DL 查询中:

hasParent some Beautiful

但不是在这个:

hasParent exactly 1 Beautiful

但是即使我说 OK some,我仍然希望看到美丽,因为我在第二张图片中看到 Child,其中 Child 是由推理器推断的。

4

1 回答 1

2

HermiT 推理器(内置于 protege)呢?

UDPATE:

好的,这是我根据你的作业写的一个新的本体(不过,我没有完成所有句子,只是那些足以推断 Eros 很高兴的句子)。

有关 RDF/XML 语法,请参阅此 pastebin 链接

现在推理者肯定会推断出阿芙罗狄蒂和爱神都很高兴,尽管在上面的本体中从未断言过。这是一个对 Happy 概念的 DL 查询,它显示了结果,“注意我们只查询哪些实例属于Happy概念”:

在此处输入图像描述

爱神终于高兴了:)

在此处输入图像描述

这是相同的本体Manchester syntax

Ontology: <beautiful>


ObjectProperty: <beautiful#hasChild>


Class: <beautiful#Happy>

    EquivalentTo: 
        <beautiful#Person>
         and (<beautiful#hasChild> only <beautiful#Beautiful>),
        <beautiful#Beautiful>
         and <beautiful#Person>


Class: <beautiful#Beautiful>


Class: <beautiful#Successful>

    EquivalentTo: 
        <beautiful#Beautiful>
         and <beautiful#Successful>


Class: <beautiful#Child>


Class: <beautiful#Parent>


Class: <beautiful#Person>


Individual: <beautiful#Aphrodite>

    Types: 
        <beautiful#Beautiful>,
        <beautiful#Parent>,
        <beautiful#Person>

    Facts:  
     <beautiful#hasChild>  <beautiful#Eros>


Individual: <beautiful#Eros>

    Types: 
        <beautiful#Successful>,
        <beautiful#Person>

更多更新:

Beautiful 的 DL 查询也显示 Eros 是美丽的:

在此处输入图像描述

希望能帮助到你。

于 2016-02-28T00:31:22.943 回答