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”属性?此设置仅用于描述问题。