Neo4j Python Driver:图数据库的官方 Python 驱动
Neo4j Python Driver:图数据库的官方 Python 驱动
Neo4j 官方维护的 Python 驱动,目前收获了 1,046 个 Star:


这是 Neo4j 图数据库的官方 Python 驱动,用于在 Python 应用中连接和操作 Neo4j 数据库。驱动遵循语义化版本控制,主版本内的升级不会产生破坏性 API 变更。
该驱动目前支持 Python 3.10 到 3.14 的全线版本。
安装
通过 pip 直接安装:
pip install neo4j
旧包名 neo4j-driver 已弃用,从 6.0.0 开始不再更新,建议统一使用 neo4j。
如需提升性能,可额外安装 Rust 扩展 neo4j-rust-ext,该扩展默认不包含在基础包中。
快速上手
以下代码演示了如何连接 Neo4j 数据库,创建节点关系并查询结果:
from neo4j import GraphDatabase, RoutingControl
URI = "neo4j://localhost:7687"
AUTH = ("neo4j", "password")
def add_friend(driver, name, friend_name):
driver.execute_query(
"MERGE (a:Person {name: $name}) "
"MERGE (friend:Person {name: $friend_name}) "
"MERGE (a)-[:KNOWS]->(friend)",
name=name, friend_name=friend_name, database_="neo4j",
)
def print_friends(driver, name):
records, _, _ = driver.execute_query(
"MATCH (a:Person)-[:KNOWS]->(friend) WHERE a.name = $name "
"RETURN friend.name ORDER BY friend.name",
name=name, database_="neo4j", routing_=RoutingControl.READ,
)
for record in records:
print(record["friend.name"])
with GraphDatabase.driver(URI, auth=AUTH) as driver:
add_friend(driver, "Arthur", "Guinevere")
add_friend(driver, "Arthur", "Lancelot")
add_friend(driver, "Arthur", "Merlin")
print_friends(driver, "Arthur")
代码中 GraphDatabase.driver() 建立数据库连接,execute_query() 执行 Cypher 查询。RoutingControl.READ 用于将读操作路由到合适的集群节点。
主要特性
驱动的核心能力围绕 Neo4j 的 Bolt 协议展开。Bolt 是 Neo4j 设计的二进制通信协议,专为高性能图数据查询优化。
驱动提供了连接池管理、自动重试、集群路由等生产环境必需的功能。对于使用 Neo4j 集群的部署,驱动能够自动识别读写操作并将请求分发到正确的节点。
相关资源
该项目提供了完善的文档支持。Neo4j 官方 Python 驱动手册适合入门学习,API 文档覆盖了全部接口定义。Cypher 语法速查表可以帮助快速上手图查询语言。GraphAcademy 还提供免费的中文在线课程。
项目 Wiki 中包含了详细的变更日志,方便追踪每个版本的更新内容。迁移指南则帮助用户在不同版本间平滑升级。
emy 还提供免费的中文在线课程。
项目 Wiki 中包含了详细的变更日志,方便追踪每个版本的更新内容。迁移指南则帮助用户在不同版本间平滑升级。
更多推荐
所有评论(0)