rdf - 在 RDF 中制作元三元组的正确方法是什么?
问题描述
我一直在阅读有关 RDF、三元存储等方面的内容,我见过的最强大的概念之一是元三元组的概念(即描述其他三元组的三元组)。为了说明我的意思,假设我们有一些像这样的三元组:
(person:jb -> foaf:firstName -> string:Joe)
(person:jb -> foaf:lastName -> string:Blow)
如果我们想声明这些三元组的真实性,例如,谁说它们是真实的(为了这个示例的目的,某人被标识为xyz
),我们可以将原始的两个三元组放入一个标识符bar
为然后将三元组添加到另一个 RDF 图(可能是 RDF 数据集中的默认图,包含由 标识的图bar
),如下所示:
(bar -> claimedBy -> person:xyz)
我的问题是:当有人后来出现并想要制作一个关于 Graph 中的三元组之一的元三元组时会发生bar
什么?似乎如果您想保留创建元三元组来描述每个三元组的能力,那么实际上每个三元组都需要在自己的图中。这与 RDF 图的概念模糊地“不一致”,这里将其描述为“一组 RDF 三元组”。现在,一个集合当然仍然是一个集合,但是如果每个图只包含一个三元组,RDF 图的概念似乎几乎没有意义,但是如果想要保留三元组的单独可寻址性,这似乎是不可避免的。
更糟糕的问题似乎是,如果有一个包含多个三元组的图表需要被拆分成多个图表,以便从原始图表中生成一个元三元组来引用单个三元组,那么识别这两个三元组的能力(属于原始 Graph 的那个,以及被拆分成一个单独的 Graph 以便可以单独描述的副本)因为相同的三元组将会消失。这似乎是一个严重的问题!
在查看序列化格式(N-Quads 等)时,这个问题似乎被四元组的概念所捕获,其中它是 <code>(主题、谓词、对象、上下文),并且每个三元组都可以(在该序列化格式内) 有自己的上下文,但随后这些四边形被序列化回由 N 个图组成的数据集,这些图实际上是按上下文分组的三元组。
我理解对了吗?我在这里错过了一些基本的东西吗?为了制作描述它们的元三元组,是否有一些理由不只是允许所有三元组单独寻址?
解决方案
推荐阅读
- php - 与3表的雄辩关系
- c# - Parallel.Invoke 等到 HttpClient 重新登录 c#
- mysql - 如果 postid 不存在,MySQL 将记录插入一个表到另一个表
- c++ - 使用 c++ 开发时,宏 '__TIME__' 和 '__TIMESTAMP__' 无法刷新
- android - 使用搜索视图过滤 gridview
- python - Python 依赖地狱:virtualenv 和全局依赖之间的妥协?
- ios - 斯威夫特 | UIBarButton 不工作/不去行动目标
- android - 在 Google Play 上更新应用程序时出现错误 DF-DFERH-01
- sql - 如何在 SQL Server 中找到滚动季度收入的总和?
- javascript - 波浪js背景颜色