使用<DC:title> <owl:SameAs> <NS:title>
和<DC:title> <owl:equivalentProperty> <NS:title>
这里NS是一些命名空间。
答案 0 :(得分:8)
owl:sameAs
适用于个人,owl:equivalentProperty
适用于RDFS / OWL属性,owl:equivalentClass
适用于RDFS / OWL类。
我猜你在说明这些属性之间的等价性,以便推断
:individual1 ns:title "The Title".
来自现有声明
:individual1 dc:title "The Title".
反之亦然。我没有试过这个,但是我假设基于DL的OWL reasoners(即大多数OWL reasoners)只会在使用owl:equivalentProperty
时进行适当的推理。另一方面,如果你想推断
:individual2 dc:title "The Title".
来自现有声明
:individual1 dc:title "The Title".
然后你应该使用owl:sameAs
陈述来联系这两个人。
答案 1 :(得分:6)
两个不同之处:
首先,一些OWL reasoners会在属性之间反对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> .
使用owl:sameAs
我的书还有dc:title
“我的书”,dc:title
由我的词汇文档定义。哎呀,DC对此可能不满意。
使用owl:equivalentProperty
我的书也有dc:title
“我的书”(很棒),但这并不意味着dc:title
是由词汇文档(phew)定义的。
答案 2 :(得分:1)
简短的回答是&#34;不,不要这样做&#34;正如cygris's answer中所述。但是,如果您真的想知道使用owl:sameAs
VS的含义,那么问题就会更加微妙。 owl:equivalentProperty
。
首先,对问题中的术语进行一点修改:在RDF中,谓词处于三元组的第二位置。 RDF无法引用三元组中的位置,因此您不能在两个谓词之间使用属性。 OP当然意味着&#34;我们可以在两个属性&#34;之间使用owl:sameAs
。可以使用IRI识别属性,IRI可以出现在三元组中的任何地方,主语和对象可以通过谓词相关联,并且任何IRI都可以在三元组的任何位置进行。因此,从语法上讲,允许将两个属性与owl:sameAs
相关联。
问题是,这样做是否有意义,以及其含义是什么。问题是RDF图有一些量子风格:RDF图的含义是意义的叠加,当你根据一些形式语义应用某种推理时,你只知道可观察的意义。 RDF 1.1 Semantics定义了多个语义(所谓的蕴涵制度),但它们都没有赋予owl:sameAs
特定的含义,因此应用RDF(S)推理不会带来什么有用的。因此,如果这是图表的观察含义,则属性之间的owl:sameAs
是无用的。
当应用OWL语义时会出现真正有趣的事情。但即使在OWL中,OWL 2 Directed Semantics和OWL 2 RDF-based Semantics也有双重意义。让我们考虑一个示例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> .
让我们从基于RDF的语义开始。一方面,IRI <r>
和<s>
表示等效属性,因此我们可以得出结论:
<c> <s> <d> .
另一方面,IRI <p>
和<q>
将命名为,因此我们可以得出结论(除其他外):
<q> dc:creator "AZ" .
<p> dc:date "2016-06-07"^^xsd:date .
<a> <q> <b> .
<p> owl:equivalentClass <q> .
不同之处在于<p>
对<q>
的所有内容都有效,因为它是相同的!通常,不同的属性名称引用不同的属性,因为它们必须附加到不同的元数据(例如rdfs:isDefinedBy
,rdfs:label
,rdfs:comment
,DC术语。)
现在让我们将直接语义应用于此。它失败。 Direct Semantics不适用于RDF图,它适用于OWL 2 Structural Specification的函数式语法中的本体。为了根据直接语义解释RDF图,首先要在功能语法中将图映射到OWL 2本体。这要求RDF图满足一些约束,以便成为RDF图形式的 OWL 2本体。
一个义务是所有人都必须明确声明为某些OWL类的成员。另一个要求是owl:sameAs
只适用于个人。个人与属性严格脱节,但有一个小技巧:个人名称可以与属性名称相同(这称为punning)。必须将所有属性声明为对象属性,数据类型属性或注释属性。必须给出本体的名称,以及明确表示它是本体的声明。因此,RDF图形式的RDF图形版本是有效的OWL 2本体,如下所示:
<> a owl:Ontology . # Give a name to the ontology and declare it as such
dc:creator a owl:AnnotationProperty . # Declare property
dc:date a owl:Annotation Property . # Declare property
<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> a owl:Thing . # <p> used with owl:sameAs: must be declared as individual
<q> a owl:Thing . # <q> used with owl:sameAs: must be declared as individual
<a> a owl:Thing . # Declare individual
<b> a owl:Thing . # Declare individual
<c> a owl:Thing . # Declare individual
<d> a owl:Thing . # Declare individual
<p> owl:sameAs <q> .
<r> owl:equivalentProperty <s>
<a> <p> <b> .
<c> <r> <d> .
在此图中,我们可以应用OWL 2 Direct Semantics,我们可以得出结论:
<c> <s> <d> .
可以推断出之前给出的基于RDF的语义的其他三元组都不是。特别是,<p>
和<q>
表示同一个人的事实不允许对名为<p>
和<q>
的属性进行任何结论。
同样,在这种情况下,使用owl:sameAs
通常不是一个好主意。
总之,无论如何解释RDF图,使用owl:sameAs
来关联两个属性可能不是一个好主意。