Rdf 使OWL数据和对象属性成为同一属性的子属性

Rdf 使OWL数据和对象属性成为同一属性的子属性,rdf,owl,protege,triplestore,triples,Rdf,Owl,Protege,Triplestore,Triples,假设我有以下课程: > Element > ElementProperty elementProperty的子类为: > AtomicNumber > AtomicMass 还考虑以下对象属性及其域和范围: > hasElementProperty Domain:Element Range:ElementProperty 其中hasElementProperty具有以下子属性: > hasAtomicNumber Domain:Element

假设我有以下课程:

> Element
> ElementProperty
elementProperty
的子类为:

> AtomicNumber
> AtomicMass

还考虑以下对象属性及其域和范围:

> hasElementProperty
  Domain:Element
  Range:ElementProperty
其中
hasElementProperty
具有以下子属性:

> hasAtomicNumber
  Domain:Element
  Range:AtomicNumber
> hasAtomicMass
  Domain:Element
  Range:AtomicMass
因此,当我说
:Lithium:hasAtomicNumber:3
时,将推断三元组
:Lithium:haseElementProperty:3
,其中
:3
原子数
类的一个实例

好的,现在考虑数据属性<代码> HaselMeNtEng/<代码>的情况,我也想要它,这样当我有了三个<代码>:锂:HaselMeNeNeTrime:“锂”< /代码>三个<代码>:锂:HaselMeMtFielt'锂(<)>代码>。按照我现在设置的方式,这是不可能的,因为

haseElementName
是一个数据属性,因此不能是对象属性
haseElementProperty
的子属性。 我已经成功地尝试使用文字物化(见),但我觉得可能有更好的方法,因为文字物化的目的是让人们可以使用文字作为对象,而这不是我需要做的。 任何想法都将不胜感激


谢谢

这在OWL2DL中是不可能的,只有在OWL2 FULL中才可能-这意味着推理机和工具可能会抱怨您的本体,或者您可能会得到意外的结果


如果应用程序需要收集同一属性下的所有值,我将继续使用文字具体化-这似乎是实现所需结果的最简单方法。

为什么希望/需要使用此通用“hasElementProperty”属性?此设置仅用于描述问题。