[英]Protege exactly 1 cardinality OWL restriction not raising an inconsistency
我想我快要疯了! 我遵循了有关Owl和Protege的各种教程,但仍然找不到答案。 用例很简单。 我定义了一个名为“人”的类。 我定义了一个名为hasFirstName的数据属性。 我为Person添加了一个'subclass of'限制,例如:'hasFirstName正好为1个字符串'。 我还添加了一个名为Person的Alex个人,并且没有添加hasFirstName属性。 我希望推理者抱怨,因为我已经指定了1的基数,并且断言Alex是一个Person,但是没有将属性值添加到Alex个人,但是推理者没有抱怨。 但是,如果我添加两个语句,例如hasFirstName'Alex'和hasFirstName'John',则会收到投诉。 我做错了什么? 任何帮助将不胜感激,谢谢。
在第一种情况下没有不一致的地方。 OWL做出开放世界假设 ,这意味着未知的事物不同于已知的事物是正确的或已知为错误的。 您的用户名,在我撰写此答案时为user3552593。 我对您的名字很有信心,这与我不知道名字的事实并不矛盾。
通过说
人⊑= 1 hasFirstName.String
然后
亚历克斯:人
你可以推断出
亚历克斯:= 1 hasFirstName.String
没有什么与之矛盾的。 由于Alex的个性,Alex恰好有一个名字-我们只是不知道它的名字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.