Python 驱动程序

本节介绍 Neo4j 1.7 Python 驱动程序和 4.x Python 驱动程序之间的重大变更。

可以在 Python 驱动程序的官方页面 上找到最新版本的 Neo4j Python 驱动程序。

1.7 更改 4.x

max_retry_time

重命名配置

max_transaction_retry_time

access_mode

重命名配置,现在是 **关键字参数**

default_access_mode

neo4j.exceptions.CypherError

重命名异常

neo4j.exceptions.Neo4jError

neo4j.exceptions.ConnectionExpired

已移除异常

-

transaction.success

已移除标志

-

Result.value(item=0, default=None)

neo4j.Record 帮助程序函数已将参数名称从 item 更改为 key

Result.value(key=0, default=None)

Result.values(*items)

neo4j.Record 帮助程序函数已将参数名称从 items 更改为 keys

Result.values(*keys)

Result.data(*items)

neo4j.Record 帮助程序函数已将参数名称从 items 更改为 keys

Result.data(*keys)

neobolt

不再是依赖项

-

neotime

不再是依赖项

-

现在是依赖项

pytz

Transaction.sync()

已移除

如果行为是耗尽结果对象,请使用 Result.consume()

Transaction.success

已移除

-

Transaction.close()

行为更改,仅在未执行提交时才执行回滚。

Transaction.close()

Session.sync()`

已移除

如果行为是耗尽结果对象,请使用 Result.consume()

Session.detach()

已移除

如果行为是耗尽结果对象,请使用 Result.consume()

Session.next_bookmarks()

已移除

-

Session.has_transaction()

已移除

-

Session.closed()

已移除

-

示例 1. 1.7 Python 驱动程序和 4.0 Python 驱动程序之间的更改示例
4.0 Python 驱动程序的示例代码 1.7 Python 驱动程序的示例代码
driver = GraphDatabase.driver(
    uri, auth=(user, password),
    max_transaction_retry_time=120
)
def create_and_return_greeting(tx,
                               message):
    result = tx.run(
        "CREATE (a:Greeting) "
        "SET a.message = $message "
        "RETURN a.message + "
        "', from node ' + id(a)",
        message=message
    )
    return result.single()[0]
with driver.session() as session:
    greeting = session.write_transaction(
        create_and_return_greeting,
        "Hello World"
    )
    print(greeting)
driver = GraphDatabase.driver(
    uri, auth=(user, password),
    max_retry_time=120
)
def create_and_return_greeting(tx,
                               message):
    result = tx.run(
        "CREATE (a:Greeting) "
        "SET a.message = $message "
        "RETURN a.message + "
        "', from node ' + id(a)",
        message=message
    )
    return result.single()[0]
with driver.session() as session:
    greeting = session.write_transaction(
        create_and_return_greeting,
        "Hello World"
    )
    print(greeting)