logic - 巴拉克不喜欢唐纳德喜欢的任何东西

标签 logic rdf owl protege reasoning

如何表达:

Barack doesn’t like anything that Donald likes.

在门徒中?


我的尝试:

我拥有BarackDonald作为个人以及like作为属性(property)但是,当点击 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 的实例。

关于logic - 巴拉克不喜欢唐纳德喜欢的任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35687045/

相关文章:

rdf - 在 Protege 中哪里定义 AllDisjointClasses

c - 需要一些简单的逻辑帮助,卡了几个小时

rdf - skos :ConceptScheme and skos:Collection? 有什么区别

java - 添加更复杂的子类公理

rdf - 如何编码单利的 RDF/XML

Java - Jena API - 获取另一个类的属性

owl - 使用本体进行领域建模,一个特例

python - 在python中对数组列表进行分类

javascript - 当剩余时间等于 X 时触发事件

c - 除了 "If"语句之外,还有其他方法来处理输入吗?