DL查询中的OWL补充(NOT)

时间:2018-05-16 10:22:35

标签: owl protege

OWL使用开放世界假设。因此,如果我有类动物和属性吃(域动物,范围动物)鼠标,猫(吃鼠标),狗,如果我说明实例的DL查询(Protege 5.2)动物而不是(吃一些)结果是空的。

有没有办法让这个查询返回鼠标和狗与猫头鹰,例如让它以某种方式表现出封闭的世界?

感谢,

1 个答案:

答案 0 :(得分:2)

主要观点是你所暗示的:你以某种方式关闭世界。即目前,你的本体论中没有任何东西可以推断出DogMouse不会吃老鼠。这可以通过以下方式实现:

Class: Animal
    DisjointUnionOf: 
        Cat, Dog, Mouse


Class: Cat
    EquivalentTo: 
        eats some Mouse
    SubClassOf: 
        Animal

Class: Dog
    SubClassOf: 
        Animal,
        eats only (not (Mouse))


Class: Mouse
    SubClassOf: 
        Animal,
        eats only (not (Mouse))

我写过一些关于使用存在性(some)和通用(only)属性限制here和{{3时可以避免开放世界假设问题的方法}}

暂且不说:您可能想重新考虑eats上的域名和范围限制。在这种情况下,当一个人吃另一个人时,域和范围限制的作用是什么,它将推断两个人都是Animal类型。这意味着如果Mouse类型的人说奶酪,它会推断奶酪是Animal