Neo4j Python Driver:图数据库的官方 Python 驱动

Neo4j Python Driver:图数据库的官方 Python 驱动

文章目录

  • 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 数据库,创建节点关系并查询结果:

fromneo4jimportGraphDatabase,RoutingControl URI="neo4j://localhost:7687"AUTH=("neo4j","password")defadd_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",)defprint_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,)forrecordinrecords:print(record["friend.name"])withGraphDatabase.driver(URI,auth=AUTH)asdriver: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 中包含了详细的变更日志,方便追踪每个版本的更新内容。迁移指南则帮助用户在不同版本间平滑升级。