win10 安装neo4j,python连接

本文详细介绍了Neo4j图数据库的安装过程,包括JDK配置、环境变量设置及启动步骤,并演示了如何使用Python的neo4j驱动进行数据库连接与基本操作。
部署运行你感兴趣的模型镜像
1,安装java jdk,具体不在叙述
C:\Users\RoseC>java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
2,下载neo4j图数据库,通常采用社区版本,地址,也可以到官网下载详细的版本
3,配置环境变量并启动,下载后将C:\Software\neo4j-community-3.5.9\bin地址添加到系统的环境变量,然后执行如下脚本启动,且采用管理员权限
neo4j.bat console

然后访问,http://localhost:7474,第一次登陆密码为,neo4j。且登录后需要修改登陆密码

4,安装相关的python包
pip install neo4j neo4j-driver
5,python程序连接
# -*- coding: utf-8 -*-  
from neo4j import GraphDatabase

driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "123456"))

def add_friend(tx, name, friend_name):
    tx.run("MERGE (a:Person {name: $name}) "
           "MERGE (a)-[:KNOWS]->(friend:Person {name: $friend_name})",
           name=name, friend_name=friend_name)

def print_friends(tx, name):
    for record in tx.run("MATCH (a:Person)-[:KNOWS]->(friend) WHERE a.name = $name "
                         "RETURN friend.name ORDER BY friend.name", name=name):
        print(record["friend.name"])

with driver.session() as session:
    session.write_transaction(add_friend, "Arthur", "Guinevere")
    session.write_transaction(add_friend, "Arthur", "Lancelot")
    session.write_transaction(add_friend, "Arthur", "Merlin")
    session.read_transaction(print_friends, "Arthur")

# 结果如下
C:\Users\RoseC\Anaconda3_py_3_6\envs\common01\python.exe F:/project/NLP/QASystemOnMedicalKG/test/test02.py
Guinevere
Lancelot
Merlin

图数据库创建的关系如下图所示:
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

<think>我们已知用户意图是使用Python连接Neo4j图数据库,需要了解连接方法、驱动使用或示例代码。 根据引用[1]至[4],我们可以总结出几种Python连接Neo4j的方法,包括使用官方驱动、全功能ORM等。 我们将按照以下结构回答: 1. 介绍连接Neo4j的常用方法(官方驱动、py2neo、neomodel、asyncneo4j等) 2. 分别给出每种方法的示例代码(参考引用[3]和[4]的示例) 3. 简要说明每种方法的特点和适用场景 4. 生成相关问题 注意:引用[3]和[4]提供了具体的代码示例,我们将基于这些示例进行展示,同时结合引用[1][2]中的分类。 由于引用[2]提到了四种方式,但引用中只详细列出了官方驱动(neo4j)和py2neo,其他两种(neomodel和asyncneo4j)没有详细代码示例,因此我们主要展示前两种,并简要提及其他两种。 步骤: 1. 官方驱动(neo4j)方式 2. py2neo方式 3. 其他方式(neomodel和asyncneo4j)简要介绍 注意:在代码示例中,我们使用引用[3]和[4]的代码,但需要确保与引用[2]的分类一致。</think>### Python连接Neo4j图数据库的方法详解 以下是Python连接Neo4j的三种主流方法,根据实际需求选择合适的方式: #### 1. **官方驱动(neo4j)** [^1][^2] **特点**:轻量级、原生支持Cypher查询、异步支持 ```python from neo4j import GraphDatabase # 配置连接信息 uri = "bolt://localhost:7687" # 或neo4j://协议 username = "neo4j" password = "your_password" # 创建驱动 driver = GraphDatabase.driver(uri, auth=(username, password)) # 执行查询 with driver.session() as session: result = session.run("MATCH (n:Person) RETURN n.name LIMIT 5") for record in result: print(record["n.name"]) # 关闭连接 driver.close() ``` #### 2. **全功能ORM(py2neo)** [^2] **特点**:对象映射、高级API、事务管理 ```python from py2neo import Graph # 直接创建图对象 graph = Graph("bolt://localhost:7687", auth=("neo4j", "your_password")) # 执行Cypher查询 result = graph.run("MATCH (p:Person)-[r:KNOWS]->() RETURN p.name, type(r)") for record in result: print(f"{record['p.name']} 认识 {record['type(r)']}") # 节点操作示例 from py2neo import Node alice = Node("Person", name="Alice") graph.create(alice) ``` #### 3. **领域驱动设计(neomodel)** [^2] **特点**:Django式ORM、模式定义、数据验证 ```python from neomodel import config, StructuredNode, StringProperty # 配置连接 config.DATABASE_URL = "bolt://neo4j:your_password@localhost:7687" # 定义数据模型 class Person(StructuredNode): name = StringProperty(unique_index=True) # 操作节点 james = Person(name='James').save() results = Person.nodes.filter(name__startswith='J') ``` #### 连接参数说明: | 参数 | 说明 | 默认值 | |------------|-------------------------------|-------------| | `uri` | 协议+地址+端口 | 必填 | | `auth` | 认证元组 (username, password) | (neo4j, "") | | `encrypted`| 启用TLS加密 | True | > **关键区别**: > - 需要直接执行Cypher → 选官方驱动 > - 需要对象映射 → 选py2neo/neomodel > - 需要异步支持 → 官方驱动+`asyncio` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值