Python操作neo4j库py2neo使用之py2neo 删除及事务相关操作(三)

Python操作neo4j库py2neo使用之py2neo 删除及事务相关操作(三)

py2neo 删除

1、连接数据库

python 复制代码
from py2neo import Graph
graph = Graph("bolt://xx.xx.xx.xx:7687", auth=(user, pwd), name='neo4j')

2、删除节点

python 复制代码
# 删除单个节点
node = graph.nodes.match(label='公司',name='XX公司').first()
graph.delete(node)
 
# 删除多个节点
nodes = graph.nodes.match(label='公司',name='XX公司').all()
for node in nodes:
    graph.delete(node)

3、删除关系

python 复制代码
relationship = graph.relationships.match(r_type='投资').first()
graph.delete(relationship)
 
relationships = graph.relationships.match(r_type='投资').all()
for relationship in relationships:
    graph.delete(relationship)

4、 删除所有的数据和节点

python 复制代码
graph.delete_all()

5、删除数据库

python 复制代码
from py2neo.database import SystemGraph
system = SystemGraph("bolt://xx.xx.xx.xx:7687", auth=(user, pwd))
system.run(f'drop database {graph_name}')

py2neo 事务

python 复制代码
from py2neo import Graph, Node, Relationship
from py2neo.database import Transaction
graph = Graph("bolt://xx.xx.xx.xx:7687", auth=(user, pwd), name='neo4j')
 
# 创建事务
tn:Transaction = self.graph.begin()
# 创建节点
node1 = Node(label='公司', name='百度')
node2 = Node(label='公司', name='爱奇艺')
tn.create(node1)
tn.create(node2)
tn.graph.commit()
 
# 创建关系
relationship = Relationship(node1,"投资",node2,**{'金额':100000})
tn.create(relationship)
 
# 提交
tn.graph.commit()
 
# 合并节点
tn.merge()
 
# 删除节点、关系
tn.delete()
 
# 回滚
tn.graph.rollback()

py2neo 其他操作

1、执行原生cyther语句

python 复制代码
from py2neo import Graph
graph = Graph("bolt://100.100.20.55:7687", auth=(user, pwd), name='neo4j')
 
# 获取label为公司,名称为XX公司的节点
graph.run("Match (n:`公司`) where n.name=`XX公司` return n")
相关推荐
直裾2 分钟前
scala借阅图书保存记录(三)
开发语言·后端·scala
老刘莱国瑞7 分钟前
STM32 与 AS608 指纹模块的调试与应用
python·物联网·阿里云
唐 城23 分钟前
curl 放弃对 Hyper Rust HTTP 后端的支持
开发语言·http·rust
一只敲代码的猪1 小时前
Llama 3 模型系列解析(一)
大数据·python·llama
Hello_WOAIAI2 小时前
批量将 Word 文件转换为 HTML:Python 实现指南
python·html·word
winfredzhang2 小时前
使用Python开发PPT图片提取与九宫格合并工具
python·powerpoint·提取·九宫格·照片
矩阵推荐官hy147622 小时前
短视频矩阵系统种类繁多,应该如何对比选择?
人工智能·python·矩阵·流量运营
测试19982 小时前
外包干了2年,技术退步明显....
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
码银2 小时前
【python】银行客户流失预测预处理部分,独热编码·标签编码·数据离散化处理·数据筛选·数据分割
开发语言·python
从善若水2 小时前
【2024】Merry Christmas!一起用Rust绘制一颗圣诞树吧
开发语言·后端·rust