正好保护1个基数OWL限制而不会引起不一致

时间:2014-04-19 20:35:58

标签: owl protege restrictions cardinality

我想我疯了!我已经按照Owl和Protege的各种教程进行了操作,但仍无法找到答案。用例很简单。我已经定义了一个名为'Person'的类。我已经定义了一个名为hasFirstName的数据属性。我已经为Person添加了一个'子类'限制:'hasFirstName恰好是1个字符串'。我还添加了一个名为Alex的Person类型的个体,并且没有添加hasFirstName属性。我希望推理者抱怨,因为我已经指定基数为1,并声称Alex是一个人,但没有将属性值添加到Alex个人,但推理者不会抱怨。但是,如果我添加两个陈述, hasFirstName'Alex'和hasFirstName'John'然后我得到一个抱怨。我做错了什么?任何帮助都将非常感谢,谢谢。

1 个答案:

答案 0 :(得分:4)

第一种情况没有不一致。 OWL产生open world assumption,这意味着未知的东西与已知为真或已知为假的东西不同。您在撰写此答案时的用户名是user3552593。我相对确信有一个名字,这与我不知道它是什么的事实并不矛盾。

说出来

  

Person⊑= 1 hasFirstName.String

那个

  亚历克斯:人

你可以推断出

  

Alex:= 1 hasFirstName.String

没有任何不一致之处;由于亚历克斯的人格,亚历克斯只有一个名字 - 我们只是不知道它是什么。