当涉及到具体化时,最明显的解决方案是RDF具体化,但似乎OWL2有自己的词汇,我想了解原因。让我们举一个例子:如果我有以下数据集(它是我们正在使用的数据集的一小部分,它使用OWL):
@prefix : <http://purl.bdrc.io/ontology/core/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
bdr:T123 a :Topic ;
rdfs:seeAlso bdr:T1129 .
我可以像这样使用RDF来修改和注释seeAlso语句:
_:b0 a rdf:Statement ;
rdf:subject bdr:T123 ;
rdf:predicate rdfs:seeAlso ;
rdf:object bdr:T1129 ;
rdfs:label "reification 1" .
_:b1 a owl:Axiom ;
owl:subject bdr:T123 ;
owl:predicate rdfs:seeAlso ;
owl:object bdr:T1129 ;
rdfs:label "reification 2" .
第一个问题:我的理解是owl:subject,谓词,对象被弃用了,是这样吗?
用OWL来修改和注释三元组的另一种方法似乎是:
_:b2 a owl:Axiom ;
owl:annotatedSource bdr:T123 ;
owl:annotatedProperty rdfs:seeAlso ;
owl:annotatedTarget bdr:T1129 ;
rdfs:label "reification 3" .
(例如,Protege使用的是什么)但我无法理解RDF具体化+注释与OWL具体化+注释之间的区别...... OWL方式是否只是告诉推理者的一种方式把这个具体考虑在内?有什么区别?
答案 0 :(得分:5)
RDF reification提供了一种在RDF中讨论语句的方法。具体化的三元组表示有一种类型语句资源可以表达RDF三元组bdr:T123 rdfs:seeAlso bdr:T1129
所说的内容。然后,无论reified语句是否为true,都可以添加有关此语句的语句。例如,您可以说该陈述代表Akira的意见,或者该陈述在1942年至2017年之间是真实的。
OWL 2公理注释提供了一种添加公理信息的方法。注释说明了关于公理的一些内容,而不一定是它所表达的内容。例如,它可能会说公理在2014年10月被添加到本体中,这并不意味着该声明在2014年成立.OWL 2注释机制是根据OWL 2 structural specification and functional-style syntax定义的,其中公理注释是写得像这样:
AnnotationAssertion(
Annotation(rdfs:label "reification 1")
rdfs:seeAlso bdr:T123 bdr:T1129
)
注意,在OWL 2中,rdfs:seeAlso
被定义为注释属性,因此原始断言(bdr:T123 rdfs:seeAlso bdr:T1129
)本身就是注释断言。正如你应该看到的,这里没有具体的规定。 As Ignazio said,owl:annotated*
字词仅存在于RDF图表的映射中。
为了与编程类比,您可以想象一个程序,其中一个人想要将编程指令作为一等公民来管理。例如,如果编程语言允许您编写:
MyClass.myMethod(param1,param2); // Instruction I1
并且你希望有一个内存结构来告诉执行这样的指令的时间,你可以引入一个可以实现指令的类:
Instruction ins = new Instruction(...); // Construct Instruction I1
ins.setExecutionTime("2017-08-13T10:42:42");
这类似于RDF具体化。现在,我还可以说Béatrice将指令添加到了代码中。但是,这并没有说明指令本身,而是说它在代码中的出现。所以它会更好地表达出来:
MyClass.myMethod(param1,param2); // this was added by Béatrice
这类似于OWL 2注释。
答案 1 :(得分:2)
我相信owl:{subject,predicate,object}
反映了这些RDF属性的URI的早期提议。它们从未成为任何规范的一部分,因此虽然没有正式弃用,但它们并未被使用。 owl:annotated{Source,Property,Target}
URI是Ignazio官方规范中的链接。
我们有两个词汇表(RDF,OWL2)用于具体化这一事实是不幸的,但OWL2规范开发人员认为这是必要的。还有一些其他差异 - 例如OWL具体化的公理必须是空白节点。