图存储数据库neo4j的基础操作和python操作_图数据库

py2neo包的安装

pip install py2neo
连接到neo4j
from py2neo import Node, Graph, Relationship, NodeMatcher
link = Graph("http://localhost:7474", username="neo4j", password="neo4j")
删除所有相关内容
link.delete_all()
创建节点,边
node1 = Node("animal",name = 'cat')
node2 = Node("animal",name = 'dog')
node3 = Node("Person",name = 'Alice')
node4 = Node("Person",name = "nuocheng")
r1 = Relationship(node1,'know',node2)
r2 = Relationship(node2,'hos',node3)
r3 = Relationship(node4,'has',node2)
link.create(node1)
link.create(node2)
link.create(node3)
link.create(node4)
link.create(r1)
link.create(r2)
link.create(r3)
查找节点
matcher = NodeMatcher(link)
matcher.match("Person").where("_.name='nuocheng'")

Neo4J中增删改查

添加

添加节点

create(n:Person{name:"wo",age:31})

n表示别名,person表示标签

create()

带有关系属性

create(p:Person{name:"wo",age:"31})-[:包工程{金额:10000}]->(n:Person{name:"好大哥",age:35})

别名不能进行重复

—表示关系后面跟着[],{}里面指定属性

create()-[]->()

删除

删除节点

match(n:Person{name:"wo"}) delete n

删除关系

match (p:Person{name:"wo",age:"31})-[f:包工程]->(n:Person{name:"好大哥",age:35}) delete f

删除关系,删除节点

match (p:Person{name:"wo",age:"31})-[f:包工程]->(n:Person{name:"好大哥",age:35}) delete f,n,p

加标签

match (t:Person) where id(t)=344 set t:好人 return t

添加属性

match(a:好人) where id(a)=344 set a.战斗力=200 return a

修改属性(与添加属性一致)

match(a:好人) where id(a)=344 set a.战斗力=200 return a
查操作
match (p:Person)-[:包工程] ->(n:Person) return p,n