下载安装包:https://neo4j.com/ neo4j-community-4.4.11-unix.tar.gz
下载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
安装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
安装成功啦!
./neo4j start
./neo4j status
./neo4j stop
http://服务器ip:7474/browser/
http://localhost:7474/browser/
1、 下载安装包:neo4j-5.0.0.tar.gz
2、 pip install neo4j-5.0.0.tar.gz
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 ()-[
:
{}]->(
)
>MATCH(节点名称:节点标签)
>RETURN 节点名称.属性名称,……
>MATCH (emp:Employee)
>RETURN emp.empid,emp.name,emp.salary,emp.deptno
where:
MATCH (emp:Employee)
WHERE emp.name = 'Abc'
RETURN emp
删除节点
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>
MATCH (book { id:122 })
REMOVE book.price
RETURN book
新增属性
SET <property-name-list>
<node-label-name>.<property1-name>,
<node-label-name>.<property2-name>,
....
<node-label-name>.<propertyn-name>
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)