标签: neo4j-python-driver

Neo4j 驱动程序 - 确认交易成功

我刚刚开始使用新的用于 python 的 neo4j 驱动程序并完全陷入事务中。如何检查交易是否成功完成?据我所知,commit函数不会自动引发任何错误,例如,如果我向它提供了不正确的 Cypher 查询,我将无法获得有关此的信息。

我尝试last_resultSession对象中读取参数并想出了类似的东西:

import neo4j.v1 as neo

def db_confirm_transaction_success(session):
    try:
        w = list(session.last_result)
        return True
    except neo.CypherError as e:
        session.last_result._consumed = True
        return False
    except neo.ResultError as e:
        session.last_result._consumed = True
        return False
Run Code Online (Sandbox Code Playgroud)

它有点工作......但是,它确实需要修改私有属性,而且似乎不正确/不正确。必须有一个更简单、更优雅的解决方案。

预先感谢您的帮助。

编辑:只是为了清楚说明Transaction.success属性指示事务是否应该提交或回滚。然而,例如 Cypher 错误可以在查询的执行时间被识别。

python neo4j neo4j-python-driver

2
推荐指数
1
解决办法
2019
查看次数

标签 统计

neo4j ×1

neo4j-python-driver ×1

python ×1