巴拉克不喜欢唐纳德喜欢的任何东西
Barack doesn’t like anything that Donald likes
表达方式:
Barack doesn’t like anything that Donald likes.
门徒?
我的尝试:
我有Barack
和Donald
作为个人和like
作为属性,然而,当点击 Barack
时,我能得到的最好结果是:
Barack like Donald
这不好。有什么想法吗?
答案似乎无效。
在个人选项卡中,您可以断言个人的类型(不是对象 属性 断言),您可以写(对于 Barack):
likes only (not (inverse likes value Donald))
或
likes only (not (inverse likes some {Donald}))
(两者等价)。
@MikeKinghan 就此而言是正确的,因为它有点言过其实(事实上,你给出的陈述并不意味着巴拉克喜欢任何东西)。至于你在 Protege 中没有得到任何有趣的推论,不要忘记开放世界的假设。这是一个工作示例,由三个公理组成:
a1: EquivalentClasses(:PeopleDislikingMexicanBorderWall ObjectComplementOf(ObjectHasValue(:likes:MexicanBorderWall)))
a2: ClassAssertion(ObjectAllValuesFrom(:likes ObjectComplementOf(ObjectSomeValuesFrom(ObjectInverseOf(:likes) ObjectOneOf(:Donald)))) :Barack)
a3: ObjectPropertyAssertion(:喜欢:Donald:MexicanBorderWall)
如果添加这些语句,推理器将正确推断出 Barack 是 PeopleDislikingMexicanBorderWall 的一个实例。
表达方式:
Barack doesn’t like anything that Donald likes.
门徒?
我的尝试:
我有Barack
和Donald
作为个人和like
作为属性,然而,当点击 Barack
时,我能得到的最好结果是:
Barack like Donald
这不好。有什么想法吗?
答案似乎无效。
在个人选项卡中,您可以断言个人的类型(不是对象 属性 断言),您可以写(对于 Barack):
likes only (not (inverse likes value Donald))
或
likes only (not (inverse likes some {Donald}))
(两者等价)。
@MikeKinghan 就此而言是正确的,因为它有点言过其实(事实上,你给出的陈述并不意味着巴拉克喜欢任何东西)。至于你在 Protege 中没有得到任何有趣的推论,不要忘记开放世界的假设。这是一个工作示例,由三个公理组成:
a1: EquivalentClasses(:PeopleDislikingMexicanBorderWall ObjectComplementOf(ObjectHasValue(:likes:MexicanBorderWall)))
a2: ClassAssertion(ObjectAllValuesFrom(:likes ObjectComplementOf(ObjectSomeValuesFrom(ObjectInverseOf(:likes) ObjectOneOf(:Donald)))) :Barack)
a3: ObjectPropertyAssertion(:喜欢:Donald:MexicanBorderWall)
如果添加这些语句,推理器将正确推断出 Barack 是 PeopleDislikingMexicanBorderWall 的一个实例。