Neo4j

什么是图数据库(graph database)

图数据库是基于图论实现的一种NoSQL数据库,其数据存储结构和数据查询方式都是以图论为基础的,图数据库主要用于存储更多的连接数据。

什么是Neo4j

Neo4j是一个开源的NoSQL图形数据库,2003年开始开发,使用scala和java语言,2007年开始发布。

  1. 是世界上最先进的图数据库之一,提供原生的图数据存储,检索和处理
  2. 采用属性图模型(Property graph model),极大地完善和丰富图数据模型
  3. 专属查询语言Cypher,直观。高效

属性图模型

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

  1. 表示节点,关系和属性中的数据
  2. 节点和关系都包含属性
  3. 关系连接节点
  4. 属性是键值对
  5. 节点用圆圈表示,关系用方向键表示
  6. 关系具有方向:单向和双向
  7. 每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”
    在属性图数据模型中,关系应该是定向的。
    Neo4j图数据库将其所有数据存储在节点和关系中,我们不需要任何额外的RDBMS数据库或NoSQL数据库来存储Neo4j数据库数据,它以图的形式存储数据,Neo4j使用本机GRE(图形处理引擎)来使用它的本机图存储格式
    图数据库模型的主要构建块是:
    1. 节点
    2. 关系
    3. 属性
      简单的属性图的例子:
      在这里插入图片描述

Neo4j的构建元素

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

  1. 节点
  2. 属性
  3. 关系
  4. 标签
  5. 数据浏览器

节点

节点(Node)是图数据库中的一个基本元素,用来表示一个实体记录,就像关系数据库中的一条记录一样。在Neo4j中节点可以包含多个属性(Properties)和多个标签(Label)
1. 节点是主要的数据元素
2. 节点通过关系连接到其他节点
3. 节点可以具有一个或多个属性(即,存储为键/值对的属性)
4. 节点有一个或多个标签。用于描述其在图表中的作用

属性

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

  1. 属性是命名值,其中名称(或键)是字符串
  2. 属性可以被索引和约束
  3. 可以从多个属性创建复合索引

关系

关系(Relationship)同样是图数据库的基本元素。当数据库中已经存在节点后,需要将节点连接起来构成图,关系就是用来连接两个节点,关系也称为图论的边(Edge),其始端和末端都必须是节点,关系不能指向空也不能从空发起。关系和节点一样可以包含多个属性,但关系只能有一个类型(Type)

  1. 关系连接两个节点
  2. 关系是方向性的
  3. 节点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值