Rdf 我们可以在两个谓词之间使用owl:SameAs吗?

Rdf 我们可以在两个谓词之间使用owl:SameAs吗?,rdf,ontology,owl,Rdf,Ontology,Owl,使用和 这里NS是一些名称空间。owl:sameAs用于个人,owl:equivalentProperty用于RDFS/owl属性,owl:equivalentClass用于RDFS/owl类 我猜你是在陈述这些属性之间的等价性,以便你可以推断 :individual1 ns:title "The Title". 从现有语句中删除 :individual1 dc:title "The Title". :individual1 dc:title "The Title". 反之亦然。我没有尝试

使用


这里NS是一些名称空间。

owl:sameAs
用于个人,
owl:equivalentProperty
用于RDFS/owl属性,
owl:equivalentClass
用于RDFS/owl类

我猜你是在陈述这些属性之间的等价性,以便你可以推断

:individual1 ns:title "The Title".
从现有语句中删除

:individual1 dc:title "The Title".
:individual1 dc:title "The Title".
反之亦然。我没有尝试过这一点,但我假设基于DL的OWL推理机(即大多数OWL推理机)只有在使用了
OWL:equivalentProperty
时才会进行适当的推理。另一方面,如果你想推断

:individual2 dc:title "The Title".
从现有语句中删除

:individual1 dc:title "The Title".
:individual1 dc:title "The Title".
然后,您应该使用一个
owl:sameAs
语句来关联这两个个体。

两个差异:

首先,一些OWL推理者会反对属性之间的
OWL:sameAs
,或者干脆忽略它。它们在个人和阶级/财产之间保持着强烈的区别

其次(这是更重要的)等价性(如
owl:equivalentProperty
)与标识不同(
owl:sameAs
)。后者说我们正在处理一个名称不同的事物,而前者说有两个事物具有相同的扩展(即,在相同的事物之间保持不变)

如果不清楚,这里有一个例子:

# My book has ns:title "My book"
:book ns:title "My book" .

# My title property is defined in my vocabulary document
ns:title rdfs:isDefinedBy <http://example.com/my-vocab> .
#我的书有ns:标题“我的书”
:图书编号:书名“我的书”。
#我的标题属性在我的词汇表文档中定义
ns:标题rdfs:isDefinedBy。
使用
owl:sameAs
我的书也有
dc:title
“我的书”和
dc:title
由我的词汇表文档定义。哎呀,DC可能对此不高兴

使用
owl:equivalentProperty
我的书也有
dc:title
“我的书”(很棒),但这并不意味着
dc:title
是由词汇表文档(phew)定义的。

如中所述,简短的回答是“不,不要这样做”。然而,如果您真的想知道使用
owl:sameAs
owl:equivalentProperty
的含义,那么问题就更加微妙了

首先,对问题中的术语稍加更正:在RDF中,谓词是位于三元组第二位的东西。RDF无法引用三元组中的位置,因此不能在两个谓词之间使用属性。OP的确切含义是“我们可以在两个属性之间使用
owl:sameAs
”。属性可以用IRIs标识,IRIs可以出现在三元组中的任何位置,主语和宾语可以通过谓词关联,任何IRIs都可以出现在三元组的任何位置。因此,从语法上讲,允许将两个属性与
owl:sameAs
关联

然而,问题是这样做是否有意义,其意义是什么。问题在于,RDF图有一些量子特性:RDF图的意义是意义的叠加,只有在根据某种形式语义应用某种推理时,才能知道可观察的意义。定义了多种语义(所谓的蕴涵机制),但没有一种语义赋予了owl:sameAs特定的含义,因此应用RDF(S)推理不会带来任何有用的东西。因此,如果这是观察到的图的含义,
owl:sameAs
属性之间是无用的

当应用OWL语义时,真正有趣的事情就会出现。但即使在猫头鹰中,也存在着和的双重意义。让我们考虑一个例子RDF图:

<p>  a  owl:ObjectProperty;
     dc:creator  "AZ" .
<q>  a  owl:ObjectProperty;
     dc:date  "2016-06-07"^^xsd:date  .
<r>  a  owl:ObjectProperty, owl:DeprecatedProperty;
     dc:date  "1981-01-14"^^xsd:date .
<s>  a  owl:ObjectProperty;
     dc:date  "2016-06-07"^^xsd:date .
<p>  owl:sameAs  <q> .
<r>  owl:equivalentProperty  <s>
<a>  <p>  <b> .
<c>  <r>  <d> .
在这个图上,我们可以应用OWL 2直接语义,通过它我们可以得出以下结论:

<c>  <s>  <d> .
<c>  <s>  <d> .
以前使用基于RDF的语义给出的其他三元组都无法推断。特别是,
表示同一个人,这一事实不允许对名为
的属性作出任何结论

同样,在这种情况下,使用
owl:sameAs
通常不是一个好主意


总之,不管您如何解释RDF图,使用
owl:sameAs
关联两个属性可能不是一个好主意

我完全同意你的说法,但我的观点是,因为我们可以对任何类型的资源使用SAMEA,谓词也是一种资源,所以对谓词使用SAMEA在技术上是否正确。否<代码>猫头鹰:sameAs
用于表示invidivuals的等价性。它不是为了“任何一种资源”。如果你想让推理起作用,你必须使用owl:equivalentProperty
。在owl 1中,它对equivalentProperty说了以下几点:“属性等价与属性相等不同……属性相等应该用owl:sameAs构造表示。”我很难确定,这在OWL2中发生了变化吗?我不认为推理者会反对,他们会推断属性也是个人的,因此会陷入OWL Full,这是你不想要的。