首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >三元库和图形数据库的区别是什么?

三元库和图形数据库的区别是什么?
EN

Stack Overflow用户
提问于 2013-08-28 16:16:29
回答 3查看 8.6K关注 0票数 23

有三重存储(语义数据库),还有通用的图形数据库。

两者都基于相似的概念,即通过关系将一个“项”链接到另一个“项”。Triplestore支持RDF并由SPARQL查询,但是这样的附加组件也可以(并且是)在通用图形数据库之上实现。

与neo4j这样的通用图形数据库相比,您更喜欢使用语义数据库/三元组数据库的根本区别是什么?

EN

回答 3

Stack Overflow用户

发布于 2013-08-29 03:12:34

诚然,三元组存储往往不会在内部以图形的形式存储信息;这对于查询回答来说是次优的,但它们仍然是图形数据库。

如果您对基于W3C标准的生态系统感兴趣,您会更喜欢它们而不是像neo4j这样的东西。使与其他基于RDF的系统的互操作变得微不足道,并且它使选择一切并转移到不同的三元组存储变得非常容易。

票数 11
EN

Stack Overflow用户

发布于 2013-09-03 05:31:45

首先,所有的数据结构都可以或多或少地投射到任何底层存储引擎(甚至文件系统和文本文件)中。选择某种数据模型和存储后端的原因是IMHO:

  • 您的开发和建模,并期望模型的插入、存储和查询的运行时性能。

正如前面提到的,RDBMSes和TripleStores在运行时都倾向于在连接或SparQL遍历的“浅层”遍历中有用,并且在缓存或准备好的视图等方面做了很多工作。图形数据库(唯一的Neo4j)将图形结构实际放到存储层,并在节点记录级别上进行指针跟踪(通过一些优化)。因此,当遍历图形时,您不需要接触更多的当前子图到存储层,从而能够在不接触整个图形的情况下遍历部分数据,从而为许多有趣的场景带来恒定的性能。

票数 10
EN

Stack Overflow用户

发布于 2013-08-28 21:17:55

我的两分钱。

Neo4j属于属性图的范畴。它们支持有向关系,并且每个关系只有两个节点:开始节点和结束节点。节点和关系可以以键-值对的形式存储任意数据。然而,它们不能支持三元关系。也就是说,你不能让一条边连接两个以上的节点,也就是a kind of hyperdege。但是,您可以通过创建连接节点在属性图中模拟3元关系。You can see how to implement this in neo4j here

Triplestore以SPARQL的形式提供了标准化的查询语言,但是还没有用于查询其他图形数据库的标准。RDF是从三元组导入/导出的标准。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18482663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档