【问题标题】:OWL. Union of object property猫头鹰。对象属性的联合
【发布时间】:2014-09-30 19:18:28
【问题描述】:

假设我有以下实例数据和属性公理:

玛丽有孩子约翰
本有孩子汤姆
玛丽有老公本

hasHusbandChild: hasHusband •有孩子

我怎样才能创建属性 hasChilds 这样:

hasChilds: hasChild ⊔有老公孩子

是真的吗?

【问题讨论】:

  • 你能说明你自己在尝试这样做时遇到了什么问题吗?
  • 我如何为推理器输出构造这个对象属性:Mary hasChilds John;
    Mary hasChilds Tom;

标签: semantic-web owl protege description-logic


【解决方案1】:

OWL 不支持联合属性,您可以在其中说出类似的内容

  1. p ≡ q ⊔ r

但你可以获得以下效果:

  1. 问⊔ r ⊑ p

通过两个公理:

  1. q ⊑ p
  2.  r ⊑ p

现在,2 与 1 不同,因为对于 1,您知道如果 p(x,y),那么 q(x,y) 或 r(x,y),而对于 2,p( x,y) 可以为真,而 q(x,y) 或 r(x,y) 都不为真。

同样,您不能在 OWL 中定义属性链,例如:

  1. q • r ≡ p

但您在子属性公理的左侧使用属性链:

  1. q • r ⊑ p

当然,两者之间的区别在于,如果使用 6,您可以有 p(x,y),而 x 和 y 没有通过 q • 连接。 r链。

不太清楚你在问什么,但我认为你在试图问的是是否有办法说 x 的配偶的孩子也是 x 的孩子。您可以在 OWL2 中使用属性链来做到这一点,特别是

有配偶 • hasChild ⊑有孩子

这等价于一阶公理:

∀ x,y,z : (hasSpouse(x,y) ∧ hasChild(y,z)) → hasChild(x,z)

有关 Stack Overflow 的许多其他问题与此处相关,并将提供有关如何将这种公理添加到您的 OWL 本体的更多指导:

作为替代方案,您也可以将一阶公理编码为 SWRL 规则。

【讨论】:

  • 您的意思可能是所有子属性公理都颠倒了。 q ⊔ r ⊑ p 代替 p ⊑ q ⊔ r, q ⊑ p 代替 p ⊑ q, r ⊑ p 代替 p ⊑ r, q • r ⊑ p 代替 p ⊑ q • r.
  • @AntoineZimmermann 很好,我想现在事情已经解决了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-20
  • 1970-01-01
  • 2021-11-01
  • 2015-01-09
  • 1970-01-01
相关资源
最近更新 更多