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")
相关推荐
你好潘先生4 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
Agent_大师4 小时前
WebSocket 行情重连成功,K线缺口不会自动消失
python
荣码4 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
copyer_xyf4 小时前
FastAPI 如何连接 MySQL
后端·python
apocelipes18 小时前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
用户83562907805119 小时前
使用 Python 在 PDF 中创建与管理书签
后端·python
MeixianAgent1 天前
Python 回测数据入口怎么验?历史 K 线入库前先做 5 个检查
后端·python
咕白m6251 天前
用 Python 实现一键批量查找与替换 Excel 数据
后端·python
SelectDB2 天前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
荣码2 天前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python