我的问题是从开发人员的角度(不是特别针对用户),可能有点混乱。我想知道节点和关系的结构是如何逻辑地存储在数据库中的。就像,当我说我有一个模糊的信息时。在哪里?-那么答案是,在书中,要么是网格的形式,要么是页面上的线条。在RDBMS的情况下,数据以网格/表格格式存储。但是我不能理解图形是如何存储在Neo4j/graph数据库中的。我使用的是neo4j client 2.1.2。
发布于 2014-06-23 20:47:12
http://www.slideshare.net/thobe/an-overview-of-neo4j-internals非常过时,但这让您对Neo4j逻辑表示有了很好的了解。
节点引用:
开始和结束它的第一个标签(我猜是标签被存储为单链表)
关系被组织为双向链表。关系指向:
由于这种链式结构,遍历(即查询数据的方式)的概念很容易出现。这就是为什么像Neo4j这样的图形数据库擅长遍历图形结构的数据。
我的粗略猜测也是,从Neo4j版本2.1 (和its newly introduced dense node management)开始,节点的关系是按类型分离的。通过这样做,如果节点N例如是类型A的5个关系和类型B的500万个关系的开始节点,则对于N的类型A的遍历关系保持为O(n=5)。
https://stackoverflow.com/questions/24366078
复制相似问题