温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用python连neo4j

发布时间:2026-10-20 12:05:01 来源:亿速云 阅读:113 作者:小樊 栏目:数据库

下面给你从零开始用 Python 连接 Neo4j 的完整思路,包含官方推荐方式和常见坑。


一、准备环境

1. 安装 Neo4j

  • 本地安装:https://neo4j.com/download/
  • 或用 Neo4j Desktop / Docker

启动后默认:

  • 地址:bolt://localhost:7687
  • 用户名:neo4j
  • 密码:你设置的

二、Python 连接 Neo4j(推荐方式)

✅ 官方驱动:neo4j 包

1. 安装驱动

pip install neo4j

2. 基本连接示例

from neo4j import GraphDatabase

uri = "bolt://localhost:7687"
user = "neo4j"
password = "your_password"

driver = GraphDatabase.driver(uri, auth=(user, password))

def test_connection():
    with driver.session() as session:
        result = session.run("RETURN 1 AS num")
        print(result.single())

test_connection()
driver.close()

三、增删改查示例(Cypher)

1. 创建节点

with driver.session() as session:
    session.run(
        "CREATE (p:Person {name: $name, age: $age})",
        name="Alice", age=30
    )

2. 查询节点

with driver.session() as session:
    result = session.run(
        "MATCH (p:Person {name: $name}) RETURN p",
        name="Alice"
    )
    for record in result:
        print(record["p"])

3. 创建关系

with driver.session() as session:
    session.run("""
        MATCH (a:Person {name:'Alice'}), (b:Person {name:'Bob'})
        CREATE (a)-[:FRIEND]->(b)
    """)

4. 删除节点

with driver.session() as session:
    session.run("MATCH (p:Person {name:$name}) DELETE p", name="Alice")

四、使用参数(防止注入)

✅ 一定要用参数

session.run(
    "MATCH (p:Person) WHERE p.name = $name RETURN p",
    name="Alice"
)

五、常见错误

❌ 连接失败

  • Neo4j 没启动
  • 端口不是 7687(看 neo4j.conf)
  • 防火墙拦截

❌ 认证失败

  • 用户名不对
  • 密码错误

六、可选:ORM 风格(进阶)

如果你想“像操作对象一样操作图”:

  • py2neo(更简单,但非官方)
  • neomodel(ORM)

py2neo 示例

pip install py2neo
from py2neo import Graph

graph = Graph("bolt://localhost:7687", auth=("neo4j", "password"))
graph.run("CREATE (n:Test {x:1})")

七、总结

✅ 推荐方案

  • 新项目:neo4j 官方驱动
  • 脚本/小项目:py2neo

如果你愿意,可以告诉我:

  • 是 本地 / 云 Neo4j(Aura)
  • 是否用 Flask / FastAPI
  • 是否要做 知识图谱 / 推荐系统

我可以直接给你项目级结构代码。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手