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 中包含了详细的变更日志,方便追踪每个版本的更新内容。迁移指南则帮助用户在不同版本间平滑升级。
