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 (<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

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)
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值