OWL使用开放世界假设。因此,如果我有类动物和属性吃(域动物,范围动物)鼠标,猫(吃鼠标),狗,如果我说明实例的DL查询(Protege 5.2)动物而不是(吃一些)结果是空的。
有没有办法让这个查询返回鼠标和狗与猫头鹰,例如让它以某种方式表现出封闭的世界?
感谢,
答案 0 :(得分:2)
主要观点是你所暗示的:你以某种方式关闭世界。即目前,你的本体论中没有任何东西可以推断出Dog
和Mouse
不会吃老鼠。这可以通过以下方式实现:
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
。