【问题标题】:Barack doesn’t like anything that Donald likes巴拉克不喜欢唐纳德喜欢的任何东西
【发布时间】:2016-02-28 19:13:59
【问题描述】:

如何表达:

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

在门生中?


我的尝试:

我有BarackDonald 作为个人like 作为一个属性,但是,当点击Barack 时,我能得到最好的是:

巴拉克喜欢唐纳德

这不好。有什么想法吗?


答案似乎不起作用。

【问题讨论】:

  • 你能用集合表达东西吗?假设 X 拥有的东西是 Y 子集的子集/一部分。X 不喜欢它?我没有用过这个软件,所以不能具体说明。
  • 应该是可能的,但我不知道@Link ... :/
  • 您接受的答案是错误的。该陈述确实暗示巴拉克喜欢任何东西。逻辑是:(x)(likes(Donald,x) -> !likes(Barack,x))。我不知道你在 protege 里怎么说。
  • @MikeKinghan 如果您考虑 OWL 或描述逻辑,它可能会有所帮助。我会通知回答者。
  • 我自己在网上一直在搞乱它,我觉得这只是一种非常困难的逻辑处理方式:(

标签: logic rdf owl protege reasoning


【解决方案1】:

在个人选项卡中,您可以断言个人的类型(不是对象属性断言),您可以编写(为 Barack):

只喜欢(不是(反向喜欢值 Donald))

只喜欢(不(反向喜欢某些 {Donald}))

(两者等价)。

@MikeKinghan 是正确的,因为它有点夸大了(事实上,你给出的声明并不意味着 Barack 喜欢任何东西)。至于你在 Protege 中没有得到任何有趣的推论,不要忘记开放世界假设。这是一个工作示例,由三个公理组成:

a1: EquivalentClasses(:PeopleDislikingMexicanBorderWall ObjectComplementOf(ObjectHasValue(:likes :MexicanBorderWall)))

a2: ClassAssertion(ObjectAllValuesFrom(:likes ObjectComplementOf(ObjectSomeValuesFrom(ObjectInverseOf(:likes) ObjectOneOf(:Donald)))) :Barack)

a3: ObjectPropertyAssertion(:likes :Donald :MexicanBorderWall)

如果您添加这些语句,推理器将正确推断 Barack 是 PeopleDislikingMexicanBorderWall 的一个实例。

【讨论】:

  • 我想就是这样,但你提到了!,它在哪里发挥作用?
  • 请在我的问题下查看 Mike Kinghan 的评论,他声称答案是错误的。
  • 我必须同意,因为我在 Protege 中使用它并且我没有得到预期的结果。请问还有其他尝试吗?但是,我会继续投票,因为它真的很有帮助。
  • 我修改了答案并进行了一些澄清。
  • 谢谢 matentzn 我也不确定这是否有效。我也在我的本体中插入了你的句子,但它不起作用。你确定这是你最后一次尝试吗? :/ 再次检查我的问题下的新 cmets。
猜你喜欢
  • 2011-09-09
  • 2017-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
  • 2022-08-03
  • 2022-12-13
相关资源
最近更新 更多