使用OWL表达属性之间的关系

时间:2017-04-16 22:07:35

标签: owl ontology

如何表达两个(或更多)OWL类的属性之间的关系?

例如,我有一个类Student,其中包含一个名为name的属性和一个具有属性Person的类lastname。使用OWL,我想描述属性lastnamename在语义上是相等的(两者都意味着真人的姓氏)。我在w3参考OWL中找到的所有内容都是属性只能与类(name -> Person)与rdfs:domain建立关系,而无需描述属性之间的关系。

1 个答案:

答案 0 :(得分:3)

虽然OWL不支持属性之间的任意关系,但您可以使用通常需要建模的属性。特别是:

  

我在w3参考OWL中找到的所有内容都是属性可以与类(例如name - > Person)与rdfs:domain有关系,而没有描述属性之间的关系。

我不确定你指的是什么文件; Section 9 about Axioms描述了许多可以在属性之间保持的不同关系:子属性关系,等价,不相交,逆,所有这些都涉及多个属性。

Ivo Velitchkov mentioned in a comment:"这可能与猫头鹰:OWL Full中的sameAs相同但在OWL DL中没有。" OWL 1规范中有一条关于equivalentProperty的部分说明:

  

注意:属性等价与属性相等不同。等价的属性具有相同的值#34; (即,相同的属性扩展),但可以具有不同的内涵(即,表示不同的概念)。属性相等应该用owl:sameAs构造表示。由于这需要将属性视为个体,因此仅允许在OWL Full中使用这些公理。

这对于普通建模者来说可能有甚么可能没有多大意义。关键是即使p(a,b)↔q(a,b)(owl:equivalentProperty)与p = q(owl:sameAs)也不完全相同。例如,hasUnicorn(a,b)↔hasLeprechaun(a,b);因为没有独角兽或妖精,所以没有任何个人的这种关系。但是属性 hasUnicorn与hasLeprechaun不是相同的属性;他们的意图是 intensionally