neo4j学习笔记(三)——python接口-创建删除结点和关系

 

neo4j学习笔记(一)

neo4j学习笔记(二)——python接口-查询

neo4j学习笔记(三)——python接口-创建删除结点和关系

先查询再创建的可能就我一个罢

基本概念

Node

一个节点类,一个节点就是neo4j那个图形界面上的一个球球。

Relationship

关系类,一个关系就是界面上两个球球间的一条线。

还是这张图。看看球球就是结点,球球有属性,只是没显示出来。线线就是关系。关系也有属性,就是没写出来。

图上显示的是球球的名称 name  和关系的类型 type

neo4j学习笔记(三)——python接口-创建删除结点和关系_第1张图片

创建结点和关系

直接上代码

from py2neo import Graph, Node, Relationship,NodeMatcher
#连图数据库
graph = Graph('http://localhost:7474', username='neo4j', password='111111')

#创建结点,类型是Person,剩下是属性
node1=Node('Person',label="lalala",name="lilisister",age=3)
node2=Node('Person',label="lalala",name="lilisister2",age=2)
node3=Node('Person',name="lily",age=23)
node4=Node('Person',name="lilymom",age=23)

#把结点放到到图上去
for node in [node1,node2,node3,node4]:
    graph.create(node)

#创建关系:
relationship1 = Relationship(node1,'姐妹',node2)
graph.create(relationship1)

没什么好说的。

删除结点和关系

#找到一个结点或者关系,然后删除它

b=list(nodematcher.match(age=3))[0]

graph.delete(b)

使用delete删除关系的时候,会把关系的两个结点一起删掉。

如何只删除关系而不删除结点呢

使用python的方法我还没找到,不用python的话可以写CQL删除r。找到了

#使用 Graph.separate方法删除单个关系,不删除结点
#找一个结点
b=list(nodematcher.match(age=3))[0]
#找一个关系
c=relationshipmatcher.match((b,))

#删掉关系
graph.separate(c.first())

 

你可能感兴趣的:(neo4j基础)