neo4j-driver 常用操作

本文介绍了Neo4j数据库的Python驱动Neo4j-driver的基本操作,包括如何创建Session、自动提交事务和事务函数提交事务的方式,以及如何处理查询结果StatementResult。重点讲解了Session的生命周期、事务管理和Result对象的常用方法,如keys(), records(), single(), peek()等。示例代码和官方资源链接提供了更多实践参考。" 82924155,7640075,Java实现桌球小游戏实战,"['Java开发', '游戏编程', '桌面应用', '源码解析']
摘要由CSDN通过智能技术生成
1、创建驱动对象实例
from neo4j.v1 import GraphDatabase
uri = "bolt://localhost:7687"
_driver = GraphDatabase.driver(uri, auth=("neo4j", "password"))
_driver.close()  #关闭连接。
2、 创建session对象

Session的创建是一个轻量级的操作,由于Session不是线程安全的,因此,Session通常应该在单个线程中短暂存续,用完之后立即销毁。在Python中,推荐在with上下文中创建和销毁Session对象:

def add_person(name):
    with _driver.session() as session:
        session.run("CREATE (a:Person {name: $name})", name=name)

Session对象是执行事务的逻辑上下文,Cypher支持两种方式来提交事务。

3、自动方式提交事务

以自动提交事务的方式执行Cypher查询,在Session对象执行Cypher语句之后,事务立即提交,因此,一次事务只能执行一个Cyper查询,返回的结果是StatementResult对象:

_session.run(statement, parameters=None)

4、事务函数提交事务

事务函数包含事务的工作单元,以事务函数方式提交事务是neo4j推荐的提交事务的方式,在事务函数方式中,一个事务可以执行多个Cypher查询。

首先,定义事务函数,传递相应的参数(Cypher语句和参数)

def create_person_node(tx, name):
    tx.run("CREATE (a:Person {name: $name}) RETURN id(a)", name=name)

然后,在Session对象中启动写事务(write_transaction)来调用事务函数,返回的结果是StatementResult对象:

def add_person(driver, name):
    with _driver.session() as session:
        # Caller for transactional unit of work
        return session.write_trans
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值