在RDF中制作三元组的正确方法是什么?

时间:2019-05-05 18:45:19

标签: rdf semantic-web

我一直在阅读RDF,三元组等内容,而我所见过的最强大的概念之一就是元三元组的概念(即描述其他三元组的三元组)。为了说明我的意思,假设我们有一些像这样的三元组:

(person:jb -> foaf:firstName -> string:Joe)
(person:jb -> foaf:lastName -> string:Blow)

例如,如果我们要声明这些三元组的真实性,谁说它们是真实的(在本示例中,标识为xyz的人),我们可以将原始的两个三元组放入一个标识符为bar的RDF图,然后将三元组添加到另一个RDF图(可能是RDF数据集中包含bar所标识的图的默认图),如下所示:

(bar -> claimedBy -> person:xyz)

我的问题是:当某人稍后出现并想对图bar中的三元组中的一个进行元三元组时,会发生什么?似乎,如果您想保留使每个三元组描述每个三元组的能力,那么实际上每个三元组都需要在自己的图中。与here描述为“一组RDF三元组”的RDF图的概念有点模糊“矛盾”。现在,当然一个一组仍然是一组,但是RDF图的概念如果每个图仅包含一个三元组,则几乎没有意义,但如果要保留三元组的单个可寻址性,这似乎是不可避免的。

更糟的问题似乎是,如果有一个包含多个三元组的图,则需要将其拆分为多个图,以使元三元组引用来自原始Graph,将两个三元组(一个属于原始Graph,以及将副本拆分成一个单独的Graph,以便可以单独描述)的能力确定为相同的三元组将不复存在。这似乎是一个严重的问题!

在查看序列化格式(N个四进制等)时,这个问题似乎被一个四元组的概念捕获,该四元组是{(subject, predicate, object, context),并且每个三元组都可以(在该序列化格式内)有自己的上下文,但随后将这些四边形序列化回包含N个图的数据集,这些图实际上是按上下文分组的三元组。

我了解这个权利吗?我在这里缺少基本的东西吗?是否出于某些原因只是为了创建描述它们的元三元组而只允许对所有三元组进行单独寻址?

0 个答案:

没有答案