Python 驱动程序

本节展示了 Neo4j 1.7 Python 驱动与 4.x Python 驱动之间的重大变化。

Neo4j 的最新 Python 驱动版本可在 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)
© . This site is unofficial and not affiliated with Neo4j, Inc.