首页 > 解决方案 > rdfs:subPropertyOf 和 rdfs:domain

问题描述

下面的说法可能吗?

:a rdfs:subPropertyOf :b
:b rdfs:domain :aDomain

Thus, :a rdfs:domain :aDomain

标签: rdfontologyrdfs

解决方案


TL;DR:根据 RDFS 语义,如果所有具有属性的东西:a也是 type :aDomain,它不会自动暗示:a rdfs:domain :aDomain; 根据 OWL 语义,如果所有具有属性的东西:a也是 类型:aDomain,那么它在逻辑上意味着:a rdfs:domain :aDomain

这个问题的答案比看起来更微妙,因为 RDFS 的语义和 OWL 的语义之间存在细微差别。斯坦尼斯拉夫·克拉林 (Stanislav Kralin ) 在他对这个问题的简洁评论中强调了这种微妙之处。Costas给出的 RDF 片段可以根据RDFS 语义或 OWL 语义(甚至是RDF 语义,或简单语义,或其他语义扩展)来解释。

根据简单语义和 RDF 语义,术语rdfs:subPropertyOfrdfs:domain没有任何特殊含义,因此结论:a rdfs:domain :aDomain不成立。

根据RDFS语义,结论也不成立,但不太明显。在 RDFS 中,如果您有:

:a rdfs:subPropertyOf :b .
:b rdfs:domain :aDomain .
?x :a ?y .

对于任何 IRI 或空白节点?x以及任何 IRI 或空白节点或文字?y,您可以得出以下结论:

?x rdf:type :aDomain .

但你不能得出这样的结论:

:a rdfs:domain :aDomain .

这是因为 RDFS 没有扩展语义。这意味着如果所有具有C类型的东西也具有D类型,那么您不能(仅从这一点)断定CB的子类,并且如果具有属性p的所有东西都具有C类型,那么您不能断定(从仅此一项)p具有域C。2004 年,RDF 1.0 提出了具有扩展语义的 RDFS的替代版本,突出了这个问题。2013 年,Franconi 等人。讨论了扩展 RDFS 的逻辑及其属性(Stanislas Kralin 在对 OP 的评论中也提供了链接)。

最后,OWL 语义(无论是直接语义还是基于 RDF 的语义)都具有外延语义,因此在根据这些语义解释 RDF 片段时,结论成立:

:a rdfs:subPropertyOf :b .
:b rdfs:domain :aDomain .

蕴含(即逻辑上暗示):

:a rdfs:domain :aDomain .

推荐阅读