Neo4j入门+深入

目录

一、概述

1、简介

1.1、什么是图数据库(graph database)

1.2、什么是Neo4j

1.3、Neo4j数据模型

1.4、Neo4j使用场景

2、安装部署

2.1、Neo4j Community Server版本安装

2.2、docker安装Neo4j Community Server

2.3、Neo4j Desktop安装

3、Neo4j - CQL使用

3.1、Neo4j - CQL简介

3.2、常用函数

二、Neo4j技能树学习体验

2.1、Neo4j技能树练习题


一、概述

        "大数据"每年都在增长,但如今的企业领导者不仅需要管理更大规模的数据,还迫切需要从现有数据中得出深刻见解。那么,应该如何获得这些见解呢?

        引用Seth Godin的说法,企业需要摈弃仅仅收集数据点的做法,开始着手建立数据之间的关联关系。数据点之间的关系甚至比单个点本身更重要。

        讽刺的是,传统的关系数据库管理系统(RDBMS)并不擅长处理数据之间的关系。那些表状数据模式和呆板的结构难以添加连接或不同类型连接。为了利用这些数据关系,您的组织需要一种能将关系信息存储为一等实体的新型数据库技术,这种技术就是图数据库

        图技术就是未来。图数据库不仅能有效存储数据点之间的关系,而且非常灵活,适合添加新的关系类型,并使数据模型适应新的业务需求。

        除了数据库本身,图技术还涵盖了图数据科学的新兴领域,适合预测分析和机器学习,而所用的图数据可视化适合针对特定目的的数据发现和探索。

1、简介

1.1、什么是图数据库(graph database)

        随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,急需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。

        世界上很多著名的公司都在使用图数据库,比如:

社交领域:Facebook、Twitter、Linkedin用它来管理社交关系,实现好友推荐

零售领域:eBay,沃尔玛使用它实现商品实时推荐,给买家更好的购物体验

金融领域:花旗、瑞银等银行在用图数据库做风险处理

汽车制造领域:沃尔沃,丰田等汽车制造商依靠图数据库推动创新制造解决方案

电信领域:Verizon,Orange和AT&T等电信公司依靠图数据库来管理网络,控制访问

酒店领域:万豪和雅高酒店等使用图数据库来管理复杂且快速变化的库存

        图数据库并非指存储图片的数据库,而是以图数据库结构存储和查询数据。

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

图论(Graph Theory)是数学的一个分支,它以图为研究对象图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应相应两个事物间具有这种关系。

1.2、什么是Neo4j

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

        1、是世界上最先进的图数据库之一,提供原生的图数据存储,检索和处理;

        2、采用属性图模型(Property graph model),极大的完善和丰富图数据模型;

        3、专属查询语言Cypher,直观,高效;

Neo4j官网:Neo4j官网

Neo4j的特性:

        1、SQL就像简单的查询语言Neo4j CQL

        2、它遵循属性图数据模型

        3、它通过使用Apache Lucence支持索引

        4、它支持UNIQUE约束

        5、它包含一个用于执行CQL命令的UI;Neo4j数据浏览器

        6、它支持完整的ACID(原子性,一致性,隔离性和持久性)规则

        7、它采用原生图形库与本地GPE(图形处理引擎)

        8、它支持查询的数据导出到JSON和XLS格式

        9、它提供了REST API,可以被任何编程语言(如java,Spring,Scala等)访问

        10、它提供了可以通过任何UI MVC框架(如Node JS)访问的java脚本

        11、它支持两种java API:Cypher API和Native java API来开发java应用程序

Neo4j的优点:

        1、它很容易表示连接的数据

        2、检索/遍历/导航更多的连接数据库是非常容易和快速的

        3、它非常容易地表示半结构化数据

        4、Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习

        5、使用简单而强大的数据模型

        6、它不需要复杂的连接的相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

1.3、Neo4j数据模型

图论基础:一组节点连接这些节点的关系,图形以属性的形式将数据存储在节点和关系中,属性是用于表示数据的键值对。在图论中,我们可以表示一个带有圆的节点,节点之间的关系用一个箭头标记表示

最简单的图是单个节点:

 我们可以使用节点表示社交网络,它不包含任何属性。我们可以添加一些属性。

 在两个节点之间创建关系:

 此处在两个配置文件之间创建关系名称"跟随"。这意味着Profile1遵循Profile2.

属性图模型

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

属性图模型规则:

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

        2、节点和关系都包含属性

        3、关系连接节点

        4、属性是键值对

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

        6、关系具有方向:单向和双向。

        7、每个关系包含"开始节点"或"从节点"和"到节点"或"结束节点"。

        在属性图数据模型中,关系应该是定向的。如果我们尝试创建没有方向的关系,那么它将抛出一个错误消息。在Neo4j中,关系也应该是有方向性的。如果我们尝试创建没有方向的关系,那么Neo4j会抛出一个错误消息,"关系应该是方向性的"。

        Neo4j图数据库将其所有数据存储在节点和关系中,我们不需要任何额外的RDBMS数据库或NoSQL数据库来存储Neo4j数据库数据,它以图的形式存储数据。Neo4j使用本机GPE(图形处理引擎)来使用它的本机图存储格式。

1.4、Neo4j使用场景

1、欺诈检测

2、实时推荐引擎

3、知识图谱

4、反洗钱

5、主数据管理

6、供应链管理

7、增强网络和IT运营管理能力

8、数据谱系

9、身份和访问管理

10、材料清单

2、安装部署

下载地址:Neo4j下载地址

Neo4j安装4.xx版等需要JDK11环境

2.1、Neo4j Community Server版本安装

1、下载Windows版zip包,解压即可

2、配置环境变量:path

添加bin目录到path环境变量:D:\.m2\neo4j-community-3.5.35\bin

3、启动

3.1、打开cmd 输入neo4j   显示可使用命令

C:\Users\Administrator>neo4j
Usage: neo4j { console | start | stop | restart | status | install-service | uninstall-service | update-service } < -Verbose >

C:\Users\Administrator>

console:直接启动neo4j服务器
install-service | uninstall-service | update-service:安装/卸载/更新 neo4j服务
start | stop | restart | status:启动/停止/重启/状态
-V:输出更多信息

3.2、cmd中输入neo4j console

C:\Users\Administrator>neo4j console
2022-10-06 13:05:12.670+0000 INFO  ======== Neo4j 3.5.35 ========
2022-10-06 13:05:12.690+0000 INFO  Starting...
2022-10-06 13:05:21.116+0000 INFO  Bolt enabled on 127.0.0.1:7687.
2022-10-06 13:05:22.445+0000 INFO  Started.
2022-10-06 13:05:23.365+0000 INFO  Remote interface available at http://localhost:7474/

在浏览器中输入:http://localhost:7474/

使用用户名和密码neo4j进行连接,然后提示更改密码

 

 Neo4j Browser是开发人员用来探索Neo4j数据库、执行Cypher查询并以表格或图形形式查看结果的工具。

3.3、 Neo4j启动后data\databases目录下有store_lock,为了防止重复启动Neo4j。

2.2、docker安装Neo4j Community Server

7474 for HTTP.

7473 for HTTPS.

7687 for Bolt.

1、拉取镜像
docker pull neo4j:3.5.22-community
2、运行镜像
docker run -d -p 7474:7474 -p 7687:7687 --name neo4j \
    -e "Neo4J_AUTH=neo4j/123456" \
    -v /usr/local/soft/neo4j/data:/data \
    -v /usr/local/soft/neo4j/logs:/logs \
    -v /usr/local/soft/neo4j/conf:/var/lib/neo4j/conf \
    -v /usr/local/soft/neo4j/import:/var/lib/neo4j/import \
neo4j:3.5.22-community

2.3、Neo4j Desktop安装

直接安装对应系统最新版本就行。

默认安装,类似于上面网页版变为客户端版连接工具。

3、Neo4j - CQL使用

3.1、Neo4j - CQL简介

Neo4j的Cypher语言是为处理图形数据而构建的,CQL代表Cypher查询语言。像Oracle数据库具有查询语言SQL,Neo4j使用CQL作为查询语言。

1、它Neo4j图形数据库的查询语言。

2、它是一种声明性模式匹配语言

3、它遵循SQL语法。

4、它的语法是非常简单且人性化、可读的格式

CQL命令用法
CREATE创建节点,关系和属性
MATCH检索有关节点,关系和属性数据
RETURN返回查询结果
WHERE提供条件过滤检索数据
DELETE删除节点的关系
REMOVE删除节点和关系的属性
ORDER BY排序检索数据
SET添加或更新标签

3.2、常用函数

函数用法
String字符串它们用于使用Sring字面量
Aggregation聚合它们用于对CQL查询结果执行一些聚合操作
Relationship关系它们用于获取关系的细节,如startnode,endnode等

字符串函数

与SQL一样,Neo4j CQL提供了一组String函数,用于在CQL查询中获取所需的结果。

功能描述
UPPER它用于将所有字母更改为大写字母
LOWER它用于将所有字母更改为小写字母
SUBSTRING它用于获取给定String的子字符串
REPLACE它用于替换一个字符串的子字符串
MATCH (e) RETURN id(e),e.name,substring(e.name,0,2);

二、Neo4j技能树学习体验

2.1、Neo4j技能树练习题

        1、练习题的数量比较少

        2、练习题增加点增删改查CQL语句等方面的知识和实例练习

每天⽤⼼记录⼀点点。内容也许不重要,但习惯很重要!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杀神lwz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值