0


Noe4J 超级详细的安装与使用

一、Neo4j 的安装与配置

由于Neo4j是基于JavaSE JDK 开发的图形数据库,所以本文以JDK11 和 Neo4j 4.x 为例,其他版本的方式步骤一致,需要注意的是JDK 和 Neo4j 的版本对应。

1、

安装JDK

Neo4j是基于Java的图形数据库,运行Neo4j需要启动JVM进程,因此必须安装JAVA SE的JDK。
配置 JDK环境,为以后能适应Springboot,请选择最低JDK1.8的环境。

【如果想安装多个JDK版本的可以点击这里进行查看】

1.1 下载JDK11

     首先打开网页搜索甲骨文JDK,结果如下图1所示,点击红圈地址。

在这里插入图片描述

   点击进入之后寻找JDK11的版本,选择windows系统,下载压缩包,如图2所示。若系统提醒输入甲骨文账号,自己到CSDN搜索甲骨文账号,有很多的共享账号。

在这里插入图片描述

    下载完之后进行解压安装,选择合适的路径解压,我是在D盘里新建的文件夹,如图3所示:

在这里插入图片描述

1.2 JDK11 环境变量配置

   下载完之后就要为JDK添加环境变量,点击此电脑,点击查看旁边的更多(即三个点)然后点击属性进入下一界面。具体操作如图4所示:

在这里插入图片描述

    进入界面后点击此界面的高级系统设置,然后点击出现界面中的环境变量,如图5所示:

在这里插入图片描述

    接下来可以在用户变量或者系统变量中进行操作,在用户变量里点击新建,变量名输入JAVA_HOME,变量值为解压的地址,建完点击确定。如图6所示:

在这里插入图片描述

     然后点击用户变量里的Path,新建写入%JAVA_HOME%\bin,点击确定。看图7如下: 

在这里插入图片描述

   完成环境变量的配置之后,验证是否安装成功,win+R打开cmd,在cmd运行命令行,输入java -version,出现JDK版本号即为配置成功,如图8所示:

在这里插入图片描述

2、下载Neo4j

注意

: 由于Neo4j是基于JAVA的JDK开发的 ,所以下载时必须使用当前JDK版本的Neo4j安装包

最低 JDK1.8 对应 Neo4j 3.x 的,JDK 11 对于 Neo4j 4.x ,JDK17 对应 Neo4j 5.x 

, 依此类推 …

官网下载地址:https://neo4j.com/download-center
国内镜像地址(所有版本都有):https://we-yun.com/doc/neo4j/

2.1、最新版本下载(社区版)

在这里插入图片描述
在这里插入图片描述

2.2、国内网址下载

在这里插入图片描述

2.3、最新桌面版本下载

虽然这个操作会简单很多,但开发人员建议下载上面的服务版的,适合开发和拓展 , 桌面版比较适合非开发人员使用

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3、Neo4j 安装 与 环境配置

3.1 Neo4j 服务版

1、下载好之后,直接解压到合适的路径就可以了,无需安装。

在这里插入图片描述

2、我的电脑–>属性—>高级系统设置–>环境变量–>新建

在这里插入图片描述

在这里插入图片描述

3、在path路径中将变量添加进去

在这里插入图片描述

3.2 Neo4j 桌面版

官网桌面版安装指南:https://neo4j.com/download-thanks-desktop/?edition=desktop&flavour=winstall64&release=1.5.7&offline=true

第 1 步:激活

1、在您的计算机上,找到您刚刚下载的文件,然后双击以开始安装。
2、将激活复制并粘贴到本页顶部的Neo4j桌面的“激活密钥”框中 或者,您也可以通过填写右侧的表单从应用程序内生成密钥。

由于版权问题,详情请跳转官方地址查看

步骤 2:创建数据库

激活后,单击“新图形”按钮。从选项中选择“创建局部图形” 提出。
接下来,在字段中输入“数据库名称”和“密码”,然后单击“创建”按钮。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

步骤 3:启动数据库

创建数据库后,单击“开始”按钮。

在这里插入图片描述

打开 Neo4j 浏览器

第 1 步:启动 Neo4j 浏览器
数据库启动后,单击“管理”按钮。
在下一个屏幕上,找到屏幕顶部的“打开浏览器”并单击它。这将打开 Neo4j 浏览器 在新窗口中。

在此处了解有关如何使用 Neo4j 浏览器的更多信息。
在这里插入图片描述

步骤 2:浏览示例数据集
Neo4j Desktop附带两个示例数据集。您可以使用以下命令运行它们

:play movie graph和:play northwind graph

在这里插入图片描述
在这里插入图片描述

4、Neo4j 验证 、 启动 与 服务注册

下面示例以服务版为主,桌面版可以跳过

4.1、Neo4j 服务的配置验证 与启动

1、

win+r 打开cmd 键入 neo4j.bat console

出现下面的界面 表示安装成功

在这里插入图片描述

如果JDK版本和安装的Neo4J 版本不一致就会出现下面的报错。

在这里插入图片描述

2、用浏览器打开网址

http://localhost:7474/

,初始账户信息:用户名和密码都是neo4j

在这里插入图片描述

注意:第一次使用需要修改密码

在这里插入图片描述

 下面截图是修改后的

在这里插入图片描述

4.2、Neo4j 服务的注册

1、

win+r 打开cmd 键入 neo4j install-service 
neo4j install-service

在这里插入图片描述

二、Neo4j 的使用 与命令

1.1、导入并创建节点数据

load csv from "file:///product_ratings_data.csv" as line
create (:product_ratings { UserID:line[0],Product:line[1],Ratings:line[2]})

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1.2、创建一个人物节点

CREATE (n:Person {name:'John'}) RETURN n

CREATE是创建操作,Person是标签,代表节点的类型。花括号{}代表节点的属性,属性类似Python的字典。这条语句的含义就是创建一个标签为Person的节点,该节点具有一个name属性,属性值是John。

在这里插入图片描述

在这里插入图片描述

2、继续来创建更多的人物节点,并分别命名

CREATE (n:Person {name:'Sally'}) RETURN n;
CREATE (n:Person {name:'Steve'}) RETURN n;
CREATE (n:Person {name:'Mike'}) RETURN n;
CREATE (n:Person {name:'Liz'}) RETURN n;
CREATE (n:Person {name:'Shawn'}) RETURN n;

在这里插入图片描述

3、创建地区节点

CREATE (n:Location {city:'Miami', state:'FL'});
CREATE (n:Location {city:'Boston', state:'MA'});
CREATE (n:Location {city:'Lynn', state:'MA'});
CREATE (n:Location {city:'Portland', state:'ME'});
CREATE (n:Location {city:'San Francisco', state:'CA'});

在这里插入图片描述

如图所示,共有6个人物节点、5个地区节点,Neo4J贴心地使用不用的颜色来表示不同类型的节点。

4、接下来创建关系

MATCH (a:Person {name:'Liz'}),  (b:Person {name:'Mike'}) 
MERGE (a)-[:FRIENDS]->(b)

这里的方括号[]即为关系,FRIENDS为关系的类型。注意这里的箭头 -->是有方向的,表示是从a到b的关系。 如图,Liz和Mike之间建立了FRIENDS关系,通过Neo4J的可视化很明显的可以看出:

在这里插入图片描述

5、关系也可以增加属性

MATCH (a:Person {name:'Shawn'}),  (b:Person {name:'Sally'}) 
MERGE (a)-[:FRIENDS {since:2001}]->(b)

在关系中,同样的使用花括号{}来增加关系的属性,也是类似Python的字典,这里给FRIENDS关系增加了since属性,属性值为2001,表示他们建立朋友关系的时间。

在这里插入图片描述

6、接下来增加更多的关系


MATCH (a:Person {name:'Shawn'}), (b:Person {name:'John'}) MERGE (a)-[:FRIENDS {since:2012}]->(b);
MATCH (a:Person {name:'Mike'}), (b:Person {name:'Shawn'}) MERGE (a)-[:FRIENDS {since:2006}]->(b);
MATCH (a:Person {name:'Sally'}), (b:Person {name:'Steve'}) MERGE (a)-[:FRIENDS {since:2006}]->(b);
MATCH (a:Person {name:'Liz'}), (b:Person {name:'John'}) MERGE (a)-[:MARRIED {since:1998}]->(b);

在这里插入图片描述

7、然后,建立不同类型节点之间的关系-人物和地点的关系

MATCH (a:Person {name:'John'}), (b:Location {city:'Boston'}) MERGE (a)-[:BORN_IN {year:1978}]->(b)

这里的关系是BORN_IN,表示出生地,同样有一个属性,表示出生年份。
如图,在人物节点和地区节点之间,人物出生地关系已建立好。

在这里插入图片描述

8、同样建立更多人的出生地

MATCH (a:Person {name:'Liz'}), (b:Location {city:'Boston'}) MERGE (a)-[:BORN_IN {year:1981}]->(b);
MATCH (a:Person {name:'Mike'}), (b:Location {city:'San Francisco'}) MERGE (a)-[:BORN_IN {year:1960}]->(b);
MATCH (a:Person {name:'Shawn'}), (b:Location {city:'Miami'}) MERGE (a)-[:BORN_IN {year:1960}]->(b);
MATCH (a:Person {name:'Steve'}), (b:Location {city:'Lynn'}) MERGE (a)-[:BORN_IN {year:1970}]->(b);

在这里插入图片描述

9、至此,知识图谱的数据已经插入完毕,可以开始做查询了。

我们查询下所有在Boston出生的人物

MATCH (a:Person)-[:BORN_IN]->(b:Location {city:'Boston'}) RETURN a,b

在这里插入图片描述

10、查询所有对外有关系的节点

MATCH (a)-->() RETURN a

注意这里箭头的方向,返回结果不含任何地区节点,因为地区并没有指向其他节点(只是被指向)

在这里插入图片描述

11、查询所有有关系的节点

MATCH (a)--() RETURN a

在这里插入图片描述

12、查询所有对外有关系的节点,以及关系类型

MATCH (a)-[r]->() RETURN a.name, type(r)

在这里插入图片描述

13、查询所有有结婚关系的节点

MATCH (n)-[:MARRIED]-() RETURN n

在这里插入图片描述

14、创建节点的时候就建好关系

CREATE (a:Person {name:'Todd'})-[r:FRIENDS]->(b:Person {name:'Carlos'})

在这里插入图片描述

15、查找某人的朋友的朋友

MATCH (a:Person {name:'Mike'})-[r1:FRIENDS]-()-[r2:FRIENDS]-(friend_of_a_friend) RETURN friend_of_a_friend.name AS fofName

返回Mike的朋友的朋友:

在这里插入图片描述

16、增加/修改节点的属性

MATCH (a:Person {name:'Liz'}) SET a.age=34;
MATCH (a:Person {name:'Shawn'}) SET a.age=32;
MATCH (a:Person {name:'John'}) SET a.age=44;
MATCH (a:Person {name:'Mike'}) SET a.age=25;

这里,SET表示修改操作

在这里插入图片描述

17、删除节点的属性

MATCH (a:Person {name:'Mike'}) SET a.test='test'
MATCH (a:Person {name:'Mike'}) REMOVE a.test

删除属性操作主要通过 REMOVE

18、删除节点

MATCH (a:Location {city:'Portland'}) DELETE a

除节点操作是 DELETE

19、删除有关系的节点

MATCH (a:Person {name:'Todd'})-[rel]-(b:Person) DELETE a,b,rel

20、删除数据库中的图

MATCH (n) DETACH DELETE n

这里,MATCH 是匹配操作,而小括号() 代表一个节点node(可理解为括号类似一个圆形),括号里面的n为标识符。
在这里插入图片描述

标签: neo4j java 开发语言

本文转载自: https://blog.csdn.net/GoodburghCottage/article/details/129705252
版权归原作者 IT小郭. 所有, 如有侵权,请联系我们删除。

“Noe4J 超级详细的安装与使用”的评论:

还没有评论