使用Protege在OWL中进行通用量化和空洞蕴涵

时间:2015-10-27 16:03:28

标签: owl protege

我正在尝试了解由于在Protege中使用通用量化而发生空洞蕴涵的情况。也就是说,形式的公理:

A

这是我的设置:

我创建了一个本体论(或多或少)遵循本发明文章中描述的本体:

http://ontogenesis.knowledgeblog.org/1260

它由A rel *only* B关系和两个高级别的不相交类组成:ownsperson

在宠物类下,我有三个原始的不相交类:petdogelephant

在person类下面,我有一个已定义的类newt,定义如下:

pet owner

最后,我创建了一个名为'pet owner' equivalent_to person and (owns only pet)的个人,并没有任何宠物。

通用量化:

我对普遍量化的理解是person 1量词描述那些只与特定类别的个体有关系的个体。这需要通过普遍量化来描述与另一个人没有任何关系的个人。

在我的示例中,我认为only会被推断为person 1,因为pet ownerperson 1任何own或其他任何其他pets关系。但是,当我运行推理器(HermiT和Pellet)时,情况并非如此。 Person 1未被推断为pet owner的成员。

所以,似乎我不理解普遍量化。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

这里的问题是你没有考虑开放世界假设(OWA)。通过OWA,本体只包含已知的事实;可能还有其他事实。如果你对person 1拥有的东西一无所知,那并不意味着它什么都没有。它可能拥有其他不属于本体的东西。因此,您的普遍限制可以阻止某人成为宠物主人(如果他们拥有非宠物的东西,并且相应的公理在本体中)。要让某人成为宠物主人,您可能会关闭'有关它的信息,例如说已知的宠物是人们拥有的唯一东西。为此,您可以使用owns only {pet1, pet2, pet3}构造。