当前位置:   article > 正文

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

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}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

	javac
	java-version
  • 1
  • 2

安装成功啦!

  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}) 
  • 1

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

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

RETURN p

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

创建点边:

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

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

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

CREATE (<node-name>:<label-name1>:<label-name2>.....:<label-namen>)

where创建关系:

MATCH(<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-ame>)
WHERE <condition>
CREATE (<node1-label-name>)-[<relationship-label-name>:<relationship-name>
{<relationship-properties>}]->(<node2-label-name>)

2.2 查询:

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

where:

MATCH (emp:Employee) 
WHERE emp.name = 'Abc'
RETURN emp
  • 1
  • 2
  • 3

2.3 删除:

删除节点

DELETE <node-name-list>
  • 1

删除节点与关系

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

删除属性与标签

REMOVE <property-name-list>
  • 1

列表格式

<node-name>.<property1-name>,
<node-name>.<property2-name>, 
.... 
<node-name>.<propertyn-name>
  • 1
  • 2
  • 3
  • 4

2.4 示例:

MATCH (book { id:122 })
REMOVE book.price
RETURN book
  • 1
  • 2
  • 3

2.5 新增

新增属性

SET  <property-name-list>
<node-label-name>.<property1-name>,
<node-label-name>.<property2-name>, 
.... 
<node-label-name>.<propertyn-name>
  • 1
  • 2
  • 3
  • 4
  • 5

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号