Neo4j基础

数据模型

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

​ 属性图模型表示节点、关系和属性中的数据。其中,节点和关系都包含属性,关系连接节点,属性是键值对,节点用圆圈表示,关系用方向键表示,关系具有单向和双向两个方向,每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”,关系应该是定向的。

​ 在Neo4j中,关系应该是有方向性的。Neo4j图数据库将所有数据存储在节点和关系中,不需要任何额外的RDBMS数据库或无SQL数据库来存储Neo4j数据库数据,并以图形的形式存储其数据的本机格式。

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

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

  • 节点
  • 关系
  • 属性

图形理论基础

图是一组节点和连接这些节点的关系,图形数据存储在节点和关系在属性的形式,属性是键值对表示数据。

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

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

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

在这里插入图片描述

可以使用以上节点表示社交网络(如WeChat个人资料),它不包含任何属性。

向WeChat Profile添加一些属性

在这里插入图片描述

该节点包含一组属性,属性是一个名称:值对。

在两个节点之间创建关系

在这里插入图片描述

此处在两个配置文件之间创建关系名称“跟随”。 这意味着 Profile-I 关注 Profile-II。

复杂示例图

在这里插入图片描述

这里节点用关系连接。 关系是单向或双向的。

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

构建模块

Neo4j图数据库主要有以下构建块:

  • 节点

    • 节点是图表的基本单位,包含具有键值对的属性。
  • 属性

    • 属性是用于描述图节点和关系的键值对
    • Key=值
      • 其中Key是一个字符串
      • 值可以通过使用任何Neo4j数据类型来表示
  • 关系

    • 关系连接两个节点,如下所示

      在这里插入图片描述

    • Emp NodeDept Node是两个不同的节点,WORKS_FOR是Emp和Dept两个节点之间的关系,根据箭头指向,这种关系描述为“Emp WORKS_FOR Dept”

    • 每个关系包含一个起始节点和一个结束节点,上图中的关系被称为“进入关系”到“Dept”节点,并且“外向关系”到“Emp”节点

    • 像节点一样,关系也可以包含属性作为键值对。这里的Works-For关系有一个属性作为键值对Id=123,表示这种关系的一个ID

  • 标签

    • Label将一个公共名称与一组节点或关系相关联。
    • 节点或关系可以包含一个或多个标签,可以为现有节点或关系创建新标签,也可以从现有节点或关系中删除现有标签
    • 上面图中,左侧节点有一个标签“Emp Node”,右侧节点有一个标签“Dept Node”,两节点之间的关系有一个标签“Works-For”
    • :Neo4j将数据存储在节点或关系的属性中。
  • Neo4j数据浏览器

    • Neo4j数据浏览器用于执行CQL命令并查看输入输出
    • 这里需要在美元提示符$处执行所有CQL命令
  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值