图数据库 Neo4j 学习随笔之核心内容

Neo4j 系列

1、图数据库 Neo4j 学习随笔之基础认识
2、图数据库 Neo4j 学习随笔之核心内容
3、图数据库 Neo4j 学习随笔之基础操作
4、图数据库 Neo4j 学习随笔之高级操作
5、图数据库 Neo4j 学习之JAVA-API操作
6、图数据库 Neo4j 学习之SpringBoot整合

Nod4j 核心知识
本文主要对Neo4j 核心知识进行一个简单的总结。



前言

Nod4j 是一个开源的 NoSQL 图形数据库,2003年使用 scala & java 语音开发,07年发布。

  1. 是世界上最先进的图数据库之一,提供原生的数据存储,检索和处理;
  2. 采用属性图木箱,支持丰富的图数据模型;
  3. 使用Cypher查询语音,直观、高效;

一、Nod4j的特性

  1. SQL 就像简单的查询语言,Neo4j CQL;
  2. 它遵循属性图数据模型;
  3. 通过使用 Apache Lucene 模型;
  4. 支持 UNIQUE 约束;
  5. 提供了一个用于执行CQL命令界面,浏览器访问即可;
  6. 支持完整的ACID;
  7. 采用原生图形库与GPE(图形处理引擎);
  8. 支持查询的数据导出到 JSON 、XLS 格式文件;
  9. 提供了 REST API,可以被任何语言调用;
  10. 提供可以通过任何 UI MVC (Node Js)框架访问的 java 脚本;
  11. 支持两种Java API:Cypher API 和 Native Java API开发java应用程序;

二、Nod4j 的优点

  1. 很容易表示连接的数据;
  2. 检索、遍历、导航 更多的连接数据是非常容易和快速的;
  3. 非常容易表示半结构化数据;
  4. Nod4j CQL 查询语言命令是人性化的可读格式,容易学习;
  5. 不需要复杂的连接来检索连接的、相关数据,因为它很容易检索它的相邻节点;

三、Nod4j 数据模型

3.1 图论基础

图是一组节点和连接这些节点的关系线组成,图形以属性的形式将数据存储在节点和关系中,属性是用于表示数据的键值对。
下图中:每一个节点表示一个人,节点中有各自的属性(name, age) 等,节点与节点之间有连接线(单向核和双向),每条连接线有个子的属性值,节点与关系线的属性值都是键值对,每个关系包含“开始节点”或“从节点” 和 “到节点” 或 “结束节点”。
人物关系之乡村爱情圆舞曲
注意在属性图数据模型中,关系应该是定向的。如果我们尝试创建没有方向的关系,那么将会抛出错误。
Neo4j 图数据库将其所有数据存储在节点和关系中,不需要任何额外的 RDBMS 数据库或 NoSQL 数据库来存储数据。Neo4j 使用本机 GPE (图形处理引擎)来使用他的本机图存储格式。

所以,图数据库的主要构成是: 节点关系属性

3.2 Neo4j 的构建元素

Neo4j 主要由以下构建元素:节点、属性、关系、标签、数据浏览器

3.2.1 节点

节点(Node)是图数据库中的一个基本元素,用来表示一条记录,类似于关系数据库的一条记录。Neo4j 节点可以包含多个属性(Property) 和 多个标签(Label)。

3.2.2 属性

属性(Property)是用于描述图节点和关系的键值对。key 是一个字符串,值可以通过使用任何Neo4j数据来表示。
属性可以被索引和约束;
可以从多个属性创建复合索引。

3.3.3 关系

关系(Relationship)同样是图数据库的基本元素。关系就是用来连接两个节点,统一也称为图论的变(Edge), 起始段和尾端都必须是节点。关系不能指向空也不能从空发起。关系和节点一样可以包含多个属性,但关系只能有一个 类型(Type)
关系是方向性的;
节点可以有多个关系,甚至递归关系;
关系可以有一个或多个属性;
基于方向性,关系可分为两种主要类型:单向关系双向关系

3.3.4 标签

标签(Label)将一个公告名称与一组节点或关系相关联,节点或关系可以包含一个或多个标签。
标签用于将节点分组
一个节点可以有多个标签;
对标签进行索引,加速在图中查找节点;
本机标签索引指针对速度进行了优化;

3.3.5 Neo4j Brower

一旦安装了Neo4j, 就可以用浏览器访问了。
下载了Neo4j, window在Neo4j bin 目录下打开 Powershell 窗口,执行:.\neo4j.bat console
访问地址: localhost:7474 (username:neo4j, password: 需要修改密码)
Neo4j数据库浏览器访问操作界面


总结

Neo4j 是当今是世界上最先进的图数据库之一,在此记录对 Neo4j 数据库的认识和理解,下面开始具体数据的 CRUD 。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值