当前位置: 首页 > news >正文

python连接neo4j的方式汇总

python连接neo4j的方式汇总

  • 1.官方驱动(neo4j)
    • 特点
    • 代码示例
  • 2. 全功能ORM(py2neo)
    • 特点
    • 代码示例
  • 3. 领域驱动设计框架(neomodel-odm)
    • 特点
    • 代码示例
  • 4. 异步高性能驱动(asyncneo4j)
    • 特点
    • 代码示例

1.官方驱动(neo4j)

特点

  • 官方维护,支持Neo4j 5.x所有新特性(如分片集群、时序图)
  • 提供同步/异步API,兼容asyncio和Reactive Streams
  • 与APOC插件深度集成,支持存储过程调用

代码示例

from neo4j import GraphDatabase driver = GraphDatabase.driver("bolt://localhost:7687",  auth=("neo4j", "password"))
with driver.session()  as session:result = session.run("MATCH  (n:User) RETURN n.name  LIMIT 10")print([record["n.name"]  for record in result])# 关闭驱动
driver.close()

2. 全功能ORM(py2neo)

特点

  • 支持节点/关系对象化操作,内置子图事务管理
  • 集成GIS空间数据处理(WKT格式与Neo4j Spatial插件兼容)
  • 提供GraphQL转换工具,一键生成API端点

代码示例

from py2neo import Graph, Node graph = Graph("bolt://localhost:7687", auth=("neo4j", "password"))
user = Node("User", name="Alice", age=30)
graph.create(user)   # 自动提交事务 

3. 领域驱动设计框架(neomodel-odm)

特点

  • 类Django的声明式模型定义,支持DDD模式(聚合根、值对象)
  • 自动生成数据库迁移脚本,兼容CI/CD流水线
  • 内置事件溯源(Event Sourcing)和CQRS模式支持

代码示例

from neomodel_odm import StructuredNode, StringProperty class Product(StructuredNode):sku = StringProperty(unique_index=True)name = StringProperty(required=True)# 自动创建唯一约束并持久化 
Product(sku="P-2025", name="Quantum Laptop").save()

4. 异步高性能驱动(asyncneo4j)

特点

  • 专为微服务设计,支持万级并发连接
  • 内置连接池自动扩缩容与故障转移机制
  • 优化Bolt协议二进制编码,降低网络开销30%

代码示例

from asyncneo4j import Neo4jClient client = Neo4jClient("bolt://cluster-node:7687", pool_size=20)
async with client.transaction()  as tx:await tx.execute("CREATE  (:Log {level: $level})", level="INFO")
http://www.lryc.cn/news/546857.html

相关文章:

  • Graph RAG 迎来记忆革命:“海马体”机制让问答更精准!
  • Spring(三)容器-注入
  • 剧本杀门店预约小程序:市场发展下的刚需
  • stable-diffusion-webui 加载模型文件
  • Ubuntu20.04双系统安装及软件安装(十一):向日葵远程软件
  • 华为云 | 快速搭建DeepSeek推理系统
  • printf 与前置++、后置++、前置--、后置-- 的关系
  • centos7操作系统下安装docker,及查看docker进程是否启动
  • 【向量数据库Weaviate】 和Elasticsearch的区别
  • 深度学习-大白话解释循环神经网络RNN
  • python3.13安装教程【2025】python3.13超详细图文教程(包含安装包)
  • RocketMQ的运行架构
  • SLAM文献之-DROID-SLAM: Deep Visual SLAM for Monocular, Stereo, and RGB-D Cameras
  • nano 是 Linux 系统中的一个 命令行文本编辑器
  • JAVA毕设项目-基于SSM框架的百色学院创新实践学分认定系统源码+设计文档
  • Unity3D 刚体动力学(Rigidbody Dynamics)详解
  • 深入理解Spring Cloud Gateway网关原理及使用
  • ESP32+Mixly-WiFi
  • Spring AI:开启Java开发的智能新时代
  • Github-介绍
  • 爬虫系列之【数据解析之正则】《二》
  • 【音视频】视频基本概念
  • 2.4GHZ无线跳频算法 C语言
  • 【leetcode hot 100 56】合并区间
  • Python测试框架Pytest的参数化
  • 4G工业路由器在公交充电桩中的应用与优势
  • 搭建一个简单的node服务,模拟后端接口
  • 高频 SQL 50 题(基础版)_610. 判断三角形
  • 【JQuery—前端快速入门】JQuery 基础语法
  • Springboot整合WebSocket+Redis以及微信小程序如何调用