Ale*_*lex 3 owl cardinality restrictions protege
我想我快要疯了!我已经遵循了 Owl 和 Protege 的各种教程,但仍然无法找出答案。用例很简单。我定义了一个名为 \xe2\x80\x98Person\xe2\x80\x99 的类。我定义了一个名为 hasFirstName 的数据属性。我已向 Person 添加了 \xe2\x80\x98subclass of \xe2\x80\x99 限制,如下所示:\xe2\x80\x98hasFirstName 恰好是 1 个字符串\xe2\x80\x99。我还添加了一个名为 Alex 的 Person 类型的个人,但没有添加 hasFirstName 属性。我希望推理机会抱怨,因为我指定了基数 1,并断言 Alex 是一个人,但没有将属性值添加到 Alex 个人,但推理机不会抱怨。但是,如果我添加两个语句,例如 hasFirstName \xe2\x80\x98Alex\xe2\x80\x99 和 hasFirstName \xe2\x80\x98John\xe2\x80\x99 那么我会收到抱怨。我做错了什么?任何帮助将不胜感激,谢谢。
\n第一种情况没有不一致之处。OWL 做出开放世界假设,这意味着未知的事物不同于已知的真实或已知的错误。在我写这个答案时,您的用户名是 user3552593。我相对有信心你有一个名字,这与我还不知道它是什么的事实并不矛盾。
\n\n这么说的话
\n\n\n\n\nPerson ⊑ =1 hasFirstName.String
\n
然后
\n\n\n\n\n亚历克斯:人
\n
你可以推断
\n\n\n\n\n亚历克斯:=1 hasFirstName.String
\n
这并没有什么矛盾之处;凭借亚历克斯的人格,亚历克斯只有一个名字\xe2\x80\x94,我们只是还不知道它是什么。
\n| 归档时间: |
|
| 查看次数: |
2017 次 |
| 最近记录: |