Neo4j-Python安装及简单使用指南

文章目录

  • 前言
  • 环境
  • 第一步: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

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

    1. 保存安装路径
      这里可以直接使用这个路径,安装在C盘也只有200+MB,也不会被误删,记得先复制下来这个路径,待会儿有用

    2. 设置系统变量
      可以直接在搜索框搜索环境变量

      点进系统属性-高级-环境变量

      选择新建一个系统变量,变量名为JAVA_HOME,变量值为C:\Program Files\Java\jdk-17(就是刚刚那个JDK的安装路径)

      如下所示:

    3. 设置环境变量
      双击系统变量里面的path,创建环境变量路径:%JAVA_HOME%\bin,设置完连点三个确定就可以了。

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

    第二步:neo4j安装

    1. 官网下载
      https://neo4j.com/download-center/#community
    2. 版本选择
      我是直接选择的最新个人社区版
    3. 下载解压

      将压缩包解压在一个你不会误删除的地方,比如我放在了D:\neo4j-community-5.6.0
    4. 设置系统变量与环境变量
      跟刚刚的JDK类似,搜索环境变量打开菜单栏,添加系统变量环境变量,设置完就连点三个确定就可以了。

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

    1. 进入到neo4j文件夹下的bin目录:D:\neo4j-community-5.6.0\bin,这儿有neo4j的启动文件neo4j.bat

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

      ./neo4j.bat console
      

      通过框选处给出的网址可以进入到网页端的neo4j这个窗口在使用时不可关闭

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

    4. 试用一下
      打开后是这样的内容,下面两个小框可以直接叉掉,不用管

      在第一行输入

      match(n) detach delete n
      

      大小写都可以,可以先删除之前残留的知识图谱,(建议每次打开都删除一下)

      然后再在第一行输入指令

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

      创建三个节点

      可以使用指令

      match(n) return n
      

      显示当前的知识图谱

      然后输入指令(注意指令中的箭头),把这三者的关系加上

      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里面,显示形式只有单向箭头,当然也可以通过再加一套箭头的方式来显得好看,比如输入指令(注意指令中的箭头):

      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进行显示便得到:

      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
    

    物联沃分享整理
    物联沃-IOTWORD物联网 » Neo4j-Python安装及简单使用指南

    发表评论