提问人:levand 提问时间:8/23/2023 更新时间:8/24/2023 访问量:86
在RDF-star中,引用的三元组和该三元组的再现之间是否有任何正式的关系?
In RDF-star, is there any formal relationship between a quoted triple and a reification of that triple?
问:
以下两张图清楚地表达了类似的意图,一张使用了 RDF-star(即将作为 RDF 1.2 并入 RDF 标准),另一张使用了 RDF reification。
:bob :asserts <<:earth :hasShape :flat>>
:bob :asserts _b1
_b1 rdf:subject :earth
_b1 rdf:predicate :hasShape
_b1 rdf:object :flat
_b1 rdf:type rdf:Statement
RDF 1.2 工作草案明确指出,它们并不等同(“Reification not a form of quotation.”)。RDF-star的报告也提出了类似的主张,即“RDF-star不是标准化的语法糖。
所以它们并不完全等价。然而,区别是微妙的......规范中唯一的指导是细微差别,即 OR 的值不是主题 IRI,而是所表示的实际资源,而引用的三元组是指词汇形式的 IRI,而不是表示的资源。在实践中,这似乎在现实世界的数据处理中产生了唯一的区别,即引号三元组的词汇形式旨在保留。rdf:subject
rdf:predicate
也就是说,RDF-star 的基本原理是明确地使元数据的使用“不那么冗长和繁琐”,而不是重新化。
因此,我的问题是:引用和再化之间是否存在任何正式的关系,无论是某种蕴涵制度,还是某种较弱的制度?有没有办法“取消引用”引用的术语,以获得真正等同于具体形式的东西?
或者,我们是否留下了两种不同的方法来做大致相同的事情,这些方法在实践中与系统有 99% 的相似性,但在语义上不兼容?
答:
由于 RDF 1.2 Semantics 中的 RDF reification 部分被写成非规范性,因此 reified triples 之间的语义关系有些模糊,但我们至少可以争论预期的含义:
这个词汇表的预期含义是允许 RDF 图充当描述其他 RDF 三元组的元数据。
“reify”的意思是“使具体化”,因此reified三元组是实际的三元组,只是作为资源访问,符合预期的含义(三重模式片段也使用这种解释)。这实际上来自RDF/XML,在三元组上,它提供了一个实际的标识符,可以(理论上)用于操作该三元组。在那里,您甚至可以拥有一个包含多个具有不同 ID 的相等三元组的图形。rdf:ID
引用的三元组也是实际的三元组,但它们在语义上并没有具体化,而是一种新的RDF术语。在这方面,它们类似于文字。
我不同意 reified triples 在某种程度上比引用的三元组更不可能保留资源的原始 IRI,因为这最终取决于您使用的蕴涵类型。然而,OWL中引用的三元组确实默认提供了引用的不透明度(禁用每个属性使用),这与重新定义的三元组不同(OWL对此视而不见,因为它有自己的机制)。rdf-star:TransparencyEnablingProperty
owl:Annotation
对于再现的三元组来说,参照不透明度之所以不那么重要,是因为它们具有独立于 、 值的同一性,并且 \u2012 这些属性仅描述实际的三元组,可用于导航到其组件,但三元组作为个体存在,当蕴涵修改其单个属性时不会变得不同。相比之下,引用的三元组是三元组的柏拉图式理想,它以不受约束的状态独立存在。如果两个带引号的三元组具有相同的分量,则它们是相同的资源。rdf:subject
rdf:predicate
rdf:object
在实践中,这应该是选择两者中哪一个的决定性因素,但它们之间肯定有一些重叠:
如果您有一些是三元组的实例或接近它的东西,请使用 ,例如:
rdf:Statement
:bob :said [ a rdf:Statement ; rdf:subject :earth ; rdf:predicate :hasShape ; rdf:object :flat ; :date "yesterday" ] .
根据开放世界原则,即使你不使用 、 和 之外的任何属性,也可能总是有其他属性(如真实性、严肃性、其他有效性上下文或出处信息等)可能适用于它,并且可能是真的,只是没有说出来。
rdf:subject
rdf:predicate
rdf:object
如果你想清楚地表明你所描述的是柏拉图式的三元组理想,没有附加条件,请使用带引号的三元组,但请注意,这些三元组是每个人的财产(所以在使用可能与别人的想法冲突的谓词时要小心)。这包括关于断言的陈述(从学究上讲,图并不“断言”一个,它包含它,但它确实断言柏拉图式的理想,即引用的三元组)、信念、主张和类似的东西。
rdf:Statement
在引用的三元组中添加出处信息似乎也有些问题,如RDF星形示例之一所示:
<< :a :name "Alice" >> :statedBy :bob ; :recorded "2021-07-07"^^xsd:date .
但是,我会小心这一点,因为如果多次描述,您将丢失有关此处实际记录的陈述的信息。如果你的图打算与其他图一起全局使用,我建议不要这样做。
<< :a :name "Alice" >>
当然,没有什么能阻止您将两者结合起来。我会使用这种方法:
:bob :claims [
a rdf:Statement ;
rdf:subject :earth ;
rdf:predicate :hasShape ;
rdf:object :flat ;
skos:broader <<:earth :hasShape :flat>>
] .
SKOS似乎与这种关系很匹配,这表明所声称的陈述在某种程度上是柏拉图理想的一个更狭隘(更具体)的概念。当然,你也可以用旧的词汇来描述引用的三元组:
<<:earth :hasShape :flat>>
a rdf:Statement ;
rdf:subject :earth ;
rdf:predicate :hasShape ;
rdf:object :flat .
据我所知,没有任何蕴涵制度可以自动执行任何这些操作。
旁注:文字也显示了类似的二元论,包括 RDF 项和涌现结构——在本例中:rdf:CompoundLiteral
:bob :said [
a rdf:CompoundLiteral ;
rdf:value "Hello" ;
rdf:language "en"
] .
同样,对于复合文字,此处的文字只是 的一个特定实例/实例,可能具有更多未知属性。"hello"@en
评论