• Neo4j离线环境搭建与基于python中py2neo的简单操作


    1 安装与配置

    1.1 Neo4j安装

    1. 下载安装包:https://neo4j.com/ neo4j-community-4.4.11-unix.tar.gz

    2. 下载JDK: 因为no4j是基于Java的,所以需要安装之前需要安装JDK;V4版本的NO4J对应JDK11。
      下载链接:https://mirrors.huaweicloud.com/java/jdk/8u202-b08/
      我这里下载linux版本https://mirrors.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz

    3. 安装JDK
      (1)解压 :进入所在目录,执行:
      tar zxvf jdk-11.0.15.1_linux-x64_bin.tar.gz
      (2) 放入安装目录:选择自己要安装的目录将解压后的文件放入。
      (3) 修改环境变量

      #java
      export JAVA_HOME=自己的放置目录/jdk-11.0.15.1
      export JRE_HOME=${JAVA_HOME}/jre
      export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
      export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
      export PATH=$PATH:${JAVA_PATH}
      

        重启配置文件:source /etc/profile
        (4) 验证

    	javac
    	java-version
    

    安装成功啦!

    1. 安装Neo4j
      (1) 解压
      (2) 放入安装目录
      (3) 修改配置文件
      (4) 启动
      进入所在目录的bin文件夹下,打开终端,输入 ./neo4j start
      (5) 查看状态 ./neo4j status
      (6) 停止 ./neo4j stop
      (7) 客户端访问
      访问地址:http://服务器ip:7474/browser/
      本地访问:http://localhost:7474/browser/

    1.2 python操作环境配置

    1、 下载安装包:neo4j-5.0.0.tar.gz
    2、 pip install neo4j-5.0.0.tar.gz

    2 Neo4j操作

    2.1 创建:

    创建点

    CREATE (:电影{title:’The Matrix’,时间:1997}) 
    

    电影是节点的label,后面是节点属性,节点id只能自动生成

    CREATE (p:Person {name: ‘Keanu Reeves’, born: 1964})

    RETURN p

    CREATE(节点名称:节点标签名称 {属性名称1:属性值1,属性名称2:属性值2})
    

    创建点边:

    CREATE(a:Per{name:’Tom’})-[r:ACTED_IN{roles:’Forrest’}]->(m:Movie)

    > MATCH(节点标签1:节点名称1),(节点标签2:节点名称2> CREATE(节点标签1)-[关系标签:关系名称{属性值}]->(节点标签2) 	
    > RETURN 关系标签
    

    给一个节点创建多个标签:

    CREATE (::.....:)

    where创建关系:

    MATCH(:),(:)
    WHERE
    CREATE ()-[:
    {}]->()

    2.2 查询:

    >MATCH(节点名称:节点标签)
    >RETURN 节点名称.属性名称,……
    >MATCH (emp:Employee)
    >RETURN emp.empid,emp.name,emp.salary,emp.deptno
    

    where:

    MATCH (emp:Employee) 
    WHERE emp.name = 'Abc'
    RETURN emp
    

    2.3 删除:

    删除节点

    DELETE <node-name-list>
    

    删除节点与关系

    DELETE <node1-name>,<node2-name>,<relationship-name>
    

    删除属性与标签

    REMOVE <property-name-list>
    

    列表格式

    <node-name>.<property1-name>,
    <node-name>.<property2-name>, 
    .... 
    <node-name>.<propertyn-name>
    

    2.4 示例:

    MATCH (book { id:122 })
    REMOVE book.price
    RETURN book
    

    2.5 新增

    新增属性

    SET  <property-name-list>
    <node-label-name>.<property1-name>,
    <node-label-name>.<property2-name>, 
    .... 
    <node-label-name>.<propertyn-name>
    

    3 py2neo操作

    from py2neo import Graph,Node,Relationship
    graph = Graph('http://localhost:7474',auth=("neo4j","neo4j"))
    
    #此处根据自己需要向数据库添加数据
    start_node = Node("IP",name=ip_src[i],address=ip_src_address[i],port=str(ip_src_port[i]))
    end_node = Node("IP",name=ip_dst[i],address=ip_dst_address[i],port=str(ip_dst_port[i]))
    relation = Relationship(start_node,'',end_node)
    
    #graph.create(start_node)
    #使用merge,会覆盖之前一致的节点;
    graph.merge(start_node,"IP","name")
    graph.merge(end_node,"IP","name")
    graph.merge(relation)
    
  • 相关阅读:
    WebSocket原理简介
    FreeRTOS基础(如何学好FreeRTOS?)
    23-properties文件和xml文件以及dom4j的基本使用操作
    原数据治理平台业务架构图V1.1
    适用于企业级的勒索软件风险防范规范
    python 提取红楼梦第一章得到五言律诗和七言律诗(正则表达式)
    「聊设计模式」之外观模式(Facade)
    Jenkins插件Parameterized Scheduler用法
    JSON Web Token
    【牛客刷题】二叉树的镜像
  • 原文地址:https://blog.csdn.net/Shine_Su/article/details/127093083