Neo4j - 数据模型
Neo4j图数据库遵循 **属性图模型 ** 来存储和管理其数据。 属性图模型规则:
表示节点,关系和属性中的数据
节点和关系都包含属性
关系及节点属性是键值对
节点用圆圈表示,关系用方向键表示。
关系具有方向:单向和双向。
每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”
在属性图数据模型中,关系应该是定向的。如果我们尝试创建没有方向的关系,那么它将抛出一个错误消息。在Neo4j中,关系也应该是有方向性的。如果我们尝试创建没有方向的关系,那么Neo4j会抛出一个错误消息,“关系应该是方向性的”。
Neo4j图数据库将其所有数据存储在节点和关系中。我们不需要任何额外的RRBMS数据库或无SQL数据库来存储Neo4j数据库数据。它以图形的形式存储其数据的本机格式。 Neo4j使用本机GPE(图形处理引擎)引擎来使用它的本机图存储格式。
##### 图形数据库数据模型的主要构建块是: 节点 关系 属性。使用箭头的关系。 我们可以用Properties(键值对)来表示Node的数据。
neo4j一个节点共占9個byte
通过每个节点Id号,很容易通过计算偏移量获取这个节点的相关数据。 节点数据中包含最后一个关系Id,可以通过关系Id快速获取节点所有关系。
一个关系占33个byte 通过节点的前后关系形成双向链表,可以快速搜索到节点所有相关的边。
一个属性默认占41个byte,格式 是否可用+前一个属性Id+后一个属性Id+属性块32个字节