假设我有大量异构 JSON 文档(即命名键值映射)和这些文档所附加到的类层次结构(即命名集)。我需要建立一个数据结构,允许:
- 对 JSON 文档的 CRUD 操作。
- 按 ID快速检索 JSON 文档。
- 非常快速地检索附加到某个类的所有 JSON 文档。
- 编辑类层次结构:添加/删除类,重新排列它们。
我最初提出了将 JSON 文档存储在面向文档的数据库(如 CouchDB 或 MongoDB)中并将类层次结构存储在 RDF 存储(如 4store)中的想法。1
,2
然后4
自然地计算出来,并3
通过维护存储中每个类的附加文档 ID 列表来解决。
但后来我发现 RDF 存储实际上可以完成按 ID 检索 JSON 文档的面向文档的部分。乍一看这似乎是正确的,但我仍然担心2
and 3
。是否存在能够以面向文档的数据库的服务文档的速度检索文档(节点)的 RDF 存储?3
它服务于类似查询的速度有多快?我听说过一些关于 RDF 存储速度慢、具体化问题等的信息。
是否有一个 RDF 存储也可以像 CouchDB 一样方便地按 ID 随意检索对象?使用面向文档的存储和 RDF 存储来存储、检索和编辑类似 JSON 的对象有什么区别?