有三个商店(语义数据库),还有通用图形数据库。
两者都基于通过关系将一个“项目”链接到另一个“项目”的类似概念。 Triplestores支持RDF并由SPARQL查询,但是这些附加组件也可以(并且)在通用图形数据库的上面实现。
使您更喜欢语义db / triplestore到neo4j等通用图数据库的根本区别是什么?
答案 0 :(得分:11)
三元组商店是图形数据库。 RDF 是图表。当然,三重商店往往不会在内部将信息存储为图表;这对于查询回答来说是次优的,但它们仍然是图形数据库。
如果你对基于W3C标准的生态系统感兴趣,你会更喜欢neo4j。与其他基于RDF的系统互操作变得微不足道,它使得拾取所有东西并移动到不同的三重存储非常轻松。
答案 1 :(得分:10)
首先,所有数据结构都可以或多或少地投射到任何底层存储引擎(甚至文件系统和文本文件)中。选择特定数据模型和存储后端的原因是恕我直言:
如前所述,RDBMS和TripleStores在运行时在JOIN或SparQL遍历的“浅层”遍历中往往很有用,并且在缓存或准备好的视图等方面做了很多工作。图形数据库(唯一的Neo4j)实际上放置了图形结构下到存储层并在节点记录级别上执行指针追踪(具有许多优化)。因此,当遍历图形时,您不需要触摸比当前子图更多的内容到存储层,因此能够遍历部分数据而不触及整个图形,从而导致许多有趣场景的持续性能
答案 2 :(得分:6)
我的2美分。
Neo4j属于Property Graph类别。它们支持有向关系,每个关系只有两个节点;起始节点和结束节点。节点和关系可以以键值对的形式存储任意数据。然而,他们无法支持3-ary关系。即,你不能有一条边连接两个以上的节点,即a kind of hyperdege。但是,您可以通过创建连接节点来模拟属性图中的3元关系。 You can see how to implement this in neo4j here
Triplestores以SPARQL的形式提供标准化查询语言,但尚未找到用于查询其他图形数据库的标准。 RDF是从三重商店导入/导出的标准。