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