【发布时间】:2018-01-18 11:44:37
【问题描述】:
说到具体化,最明显的解决方案是 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,predicate,object 已被弃用,是这样吗?
用 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 方式只是告诉推理者不要接受实体化的一种方式考虑到?还有什么区别?
【问题讨论】: