Neo4j - 数据模型

Neo4j属性图数据模型

Neo4j图数据库遵循属性图模型来存储和管理其数据。

属性图模型规则

  • 表示节点,关系和属性中的数据

  • 节点和关系都包含属性

  • 关系连接节点

  • 属性是键值对

  • 节点用圆圈表示,关系用方向键表示。

  • 关系具有方向:单向和双向。

  • 每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”

在属性图数据模型中,关系应该是定向的。

如果我们尝试创建没有方向的关系,那么它将抛出一个错误消息。

在Neo4j中,关系也应该是有方向性的。

如果我们尝试创建没有方向的关系,那么Neo4j会抛出一个错误消息,“关系应该是方向性的”。

Neo4j图数据库将其所有数据存储在节点和关系中。

我们不需要任何额外的RDBMS数据库或无SQL数据库来存储Neo4j数据库数据。

它以图形的形式存储其数据的本机格式。

Neo4j使用本机GPE(图形处理引擎)引擎来使用它的本机图存储格式。

图形数据库数据模型的主要构建块是:

  • 节点

  • 关系

  • 属性

简单的属性图的例子

属性图

这里我们使用圆圈表示节点。

使用箭头的关系。

关系是有方向性的。

我们可以用Properties(键值对)来表示Node的数据。

在这个例子中,我们在Node的Circle中表示了每个Node的Id属性。

Neo4j - 图形理论基础

图是一组节点和连接这些节点的关系。

图形数据存储在节点和关系在属性的形式。属性是键值对表示数据。

图形是一组节点和连接这些节点的关系。

图形以属性的形式将数据存储在节点和关系中。 属性是用于表示数据的键值对。

在图形理论中,我们可以表示一个带有圆的节点,节点之间的关系用一个箭头标记表示。

最简单的可能图是单个节点。

profile

我们可以使用节点表示社交网络(如Google+(GooglePlus)个人资料)。

它不包含任何属性。

向 Google+个人资料添加一些属性

profile

此节点包含一组属性。

属性是一个名称:值对。

在两个节点之间创建关系

关系

此处在两个配置文件之间创建关系名称“跟随”。

这意味着 Profile-I 关注 Profile-II。

  • 复杂的示例图

复杂的示例图

这里节点用关系连接。

关系是单向或双向的。

  • 从PQR到XYZ的关系是单向关系。

  • 从ABC到PQR的关系是双向关系。

参考资料

https://www.w3cschool.cn/neo4j/neo4j_data_model.html