用neo4j模块执行cql语句,一直报错,节点可以出来,但是关系出不来,这是什么情况。
修改结点
from py2neo import Graph,Node,Relationship,NodeMatcher,Subgraph
match_graph = Graph('http://localhost:7474/', username='neo4j', password=‘*******’)
matcher = NodeMatcher(match_graph)
tx = match_graph.begin()
change_Person_node = matcher.match('Person').all() # .all()注意版本问题,4.3.0可调用.first(),但无法调用.all()
print(change_Person_node)
new_Person_nodes = []
for node in change_Person_node:
node['name']='P'+node['name']
new_Person_nodes.append(node)
Sub = Subgraph(nodes=new_Person_nodes)
tx.push(Sub) # 应使用py2neo 2020.1.0版本,py2neo 4.3.0版本本条语句报错:AttributeError: 'str' object has no attribute 'graph'
tx.commit()
删除结点
matcher = NodeMatcher(match_graph)
num = len(matcher.match('Person'))
for i in range(num):
nodes = matcher.match('Person').first() # 不能使用.all()语句,显示neo4j语法错误
match_graph.delete(nodes)
# g.delete()删除关系时会连带删除与其连接的结点
# g.separate()删除关系时只删除关系
# g.separate()可进行删除关系批处理,但删除满足条件的结点,要执行上述删除代码