用 OWL 表示属性之间的关系

Express relationship between properties with OWL

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

例如我有一个 class Student 和一个 属性 叫做 name 和一个 class Person 有一个 属性 lastname。对于 OWL,我想描述属性 lastnamename 在语义上是相等的(均表示真人的姓氏)。我在 OWL 的 w3 参考中发现的所有内容是属性只能与 classes(例如 name -> Person)和 rdfs:domain 有关系,没有任何内容可以描述属性之间的关系.

虽然 OWL 不支持属性之间的任意关系,但您通常希望用于建模的那些是可用的。特别是,有:

  • rdfs:subPropertyOf(被重用,即使它不是 OWL 命名空间),用于指示一个 属性 暗示另一个。
  • owl:equivalentProperty, which indicates that the properties are equivalent (i.e., owl:equivalentProperty(p,q) → (p(a,b) ↔ q(a,b)). owl:equivalentProperty is the RDF property you'd use for encoding both equivalent object properties as well as equivalent data properties.

All i found within the w3 Reference for OWL is that properties just can have a relationship to classes (e.g. name -> Person) with rdfs:domain and nothing to describe the relationship between properties.

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

即:"This is possible with owl:sameAs in OWL Full but not in OWL DL." OWL 1 规范中关于 equivalentProperty 的部分有一条注释说:

NOTE: Property equivalence is not the same as property equality. Equivalent properties have the same "values" (i.e., the same property extension), but may have different intensional meaning (i.e., denote different concepts). Property equality should be expressed with the owl:sameAs construct. As this requires that properties are treated as individuals, such axioms are only allowed in OWL Full.

对于普通建模者来说,这种差异可能意义重大,也可能意义不大。关键是即使 p(a,b) ↔ q(a,b) (owl:equivalentProperty) 与 p = q (owl:sameAs) 不完全相同。例如, hasUnicorn(a,b) ↔有妖精(a,b);由于没有独角兽或妖精,因此任何个人都不存在这种关系。但是 属性 hasUnicorn 并不是真正的 same 属性 作为 hasLeprechaun;它们旨在有意地