【neo4j-python】安装与简单使用

【neo4j-python】安装与简单使用_第1张图片

文章目录

  • 前言
  • 环境
  • 第一步:JDK安装
  • 第二步:neo4j安装
  • 第三步:测试neo4j是否安装成功
  • 第四步:Python进行连接neo4j

前言

最近新入坑梦幻模拟战手游,对于英雄的羁绊一直不是很清楚,也不知道怎么方便查找英雄的羁绊(后来发现哔哩哔哩有专门的wiki进行介绍)。想到之前使用过一个叫做全历史的软件,是不是可以自己画一个类似的那种人物羁绊关系图,后来网上搜索了一下有个知识图谱的东西,似乎就很相似。但是网上的资料似乎都或多或少有点问题,花了我一天半的时间我才学会如何使用neo4j,因此在这儿重新梳理一下如何从完全不了解的情况下,开始使用neo4j搭建一个简单的知识图谱。写的不好,欢迎指责!

环境

  • win11
  • python = 3.8.1
  • IDE:VS code

第一步:JDK安装

  1. 官网下载
    https://www.oracle.com/java/technologies/javase-downloads.html

  2. 选择JDK版本
    博主最开始下载的是java-20的版本,但是后来启动neo4j网页的时候,cmd终端总会发出警告(与neo4j版本不匹配),说是让我更换jdk的版本,因此这里使用的是JDK-17
    【neo4j-python】安装与简单使用_第2张图片

  3. 下载安装
    这玩意儿下载比较慢,博主试了好几次,反复点击链接新建下载,每次下载的速度都不一样,慢的半小时,快的两分钟。

【neo4j-python】安装与简单使用_第3张图片

  1. 保存安装路径
    这里可以直接使用这个路径,安装在C盘也只有200+MB,也不会被误删,记得先复制下来这个路径,待会儿有用【neo4j-python】安装与简单使用_第4张图片

  2. 设置系统变量
    可以直接在搜索框搜索环境变量
    【neo4j-python】安装与简单使用_第5张图片
    点进系统属性-高级-环境变量
    【neo4j-python】安装与简单使用_第6张图片
    选择新建一个系统变量,变量名为JAVA_HOME,变量值为C:\Program Files\Java\jdk-17(就是刚刚那个JDK的安装路径)
    【neo4j-python】安装与简单使用_第7张图片
    如下所示:
    【neo4j-python】安装与简单使用_第8张图片

  3. 设置环境变量
    双击系统变量里面的path,创建环境变量路径:%JAVA_HOME%\bin,设置完连点三个确定就可以了。
    【neo4j-python】安装与简单使用_第9张图片
    【neo4j-python】安装与简单使用_第10张图片

  4. 检测JDK是否安装成功
    使用win+R,打开cmd,输入java -version,若没有报错则JDK安装成功

第二步:neo4j安装

  1. 官网下载
    https://neo4j.com/download-center/#community
  2. 版本选择
    我是直接选择的最新个人社区版
    【neo4j-python】安装与简单使用_第11张图片
  3. 下载解压
    【neo4j-python】安装与简单使用_第12张图片
    将压缩包解压在一个你不会误删除的地方,比如我放在了D:\neo4j-community-5.6.0
    【neo4j-python】安装与简单使用_第13张图片
  4. 设置系统变量与环境变量
    跟刚刚的JDK类似,搜索环境变量打开菜单栏,添加系统变量环境变量,设置完就连点三个确定就可以了。
    【neo4j-python】安装与简单使用_第14张图片
    【neo4j-python】安装与简单使用_第15张图片

第三步:测试neo4j是否安装成功

  1. 进入到neo4j文件夹下的bin目录:D:\neo4j-community-5.6.0\bin,这儿有neo4j的启动文件neo4j.bat
    【neo4j-python】安装与简单使用_第16张图片

  2. 使用鼠标右键点击空白处,选择在终端中打开,或者通过win+R,打开cmd,通过cd指令,进入到这个路径。然后输入

    ./neo4j.bat console
    

    通过框选处给出的网址可以进入到网页端的neo4j这个窗口在使用时不可关闭
    【neo4j-python】安装与简单使用_第17张图片

  3. 设置用户名与密码
    初次打开网页使用用户名neo4j和密码neo4j即可登陆成功,然后他紧接着会要求你修改密码,这个密码很关键,后面使用python进行连接的时候需要用到,记得保存。

  4. 试用一下
    打开后是这样的内容,下面两个小框可以直接叉掉,不用管
    【neo4j-python】安装与简单使用_第18张图片
    在第一行输入

    match(n) detach delete n
    

    大小写都可以,可以先删除之前残留的知识图谱,(建议每次打开都删除一下)
    【neo4j-python】安装与简单使用_第19张图片
    然后再在第一行输入指令

    CREATE (n:Person {name:'老师'}) RETURN n;
    CREATE (n:Person {name:'学生A'}) RETURN n;
    CREATE (n:Person {name:'学生B'}) RETURN n;
    

    创建三个节点
    【neo4j-python】安装与简单使用_第20张图片
    可以使用指令

    match(n) return n
    

    显示当前的知识图谱
    【neo4j-python】安装与简单使用_第21张图片
    然后输入指令(注意指令中的箭头),把这三者的关系加上

    MATCH (a:Person {name:'老师'}), (b:Person {name:'学生A'}) MERGE (a)-[:师生]->(b);
    MATCH (a:Person {name:'老师'}), (b:Person {name:'学生B'}) MERGE (a)-[:师生]->(b);
    MATCH (a:Person {name:'学生A'}), (b:Person {name:'学生B'}) MERGE (a)-[:同学]->(b);
    

    再输入指令

    match(n) return n
    

    显示一下知识图谱:
    【neo4j-python】安装与简单使用_第22张图片
    可以看见三者之间的关系已经创建好了,可能有同学会觉得这个单向箭头有点不对劲,但是实际上在neo4j里面,显示形式只有单向箭头,当然也可以通过再加一套箭头的方式来显得好看,比如输入指令(注意指令中的箭头):

    MATCH (a:Person {name:'老师'}), (b:Person {name:'学生A'}) MERGE (a)<-[:师生]-(b);
    MATCH (a:Person {name:'老师'}), (b:Person {name:'学生B'}) MERGE (a)<-[:师生]-(b);
    MATCH (a:Person {name:'学生A'}), (b:Person {name:'学生B'}) MERGE (a)<-[:同学]-(b);
    

    构建一套三者的关系
    【neo4j-python】安装与简单使用_第23张图片
    再使用match(n) return n进行显示便得到:
    【neo4j-python】安装与简单使用_第24张图片
    Tips:实际上不需要每次都输入match(n) return n,我们可以点击代码块右上角的▶按钮,进行重复运行这一代码块,这样子这一块就是每次更新知识图谱的内容

第四步:Python进行连接neo4j

  1. 安装py2neo包
pip install py2neo
  1. 在终端启动neo4j (使用时不能关闭)
    打开窗口中的那个网页,并使用match(n) detach delete n删除之前的图谱
./neo4j.bat consle
  1. 编写并运行python程序
    这里进行说明一下,代码中的auth=(“neo4j”, “88888”)是用户名和密码,就是第一次打开时让你改的那个密码,而前面那个网址就是neo4j那个网页的网址
from py2neo import Graph, Node, Relationship, NodeMatcher
 
graph = Graph('http://localhost:7474',auth=("neo4j", "88888"),name='neo4j')
 
# 可以一个一个创建
t = Node('Person',name='老师')
a = Node('Person',name='学生A')
b = Node('Person',name='学生B')

graph.create(Relationship(t, "师生", a))
graph.create(Relationship(t, "师生", b))
graph.create(Relationship(a, "同学", b))
  1. 显示知识图谱
    回到neo4j网页,输入以下指令
match(n) return n

【neo4j-python】安装与简单使用_第25张图片

你可能感兴趣的:(neo4j,python,知识图谱)