You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python在Neo4j Browser中上传CSV批量构建图并查询信息?

用Python批量导入CSV到Neo4j并查询信息

一、前置准备

  • 安装Neo4j Python驱动:pip install neo4j
  • 将你的CSV文件放到Neo4j安装目录下的import文件夹(默认路径:neo4j-xxx/data/import),这样可以直接通过file:///协议访问。如果需要自定义路径,需修改Neo4j配置文件neo4j.conf中的dbms.security.allow_csv_import_from_file_urls=true,并添加允许的路径。

二、Python实现批量导入

使用Neo4j的LOAD CSV语句配合Python驱动执行批量导入,这比逐个创建节点/关系高效得多,适合大型图数据。

代码示例

假设你的CSV文件(graph_data.csv)结构如下:

source_id,source_name,target_id,target_name,relationship_weight
1,Alice,2,Bob,0.8
2,Bob,3,Charlie,0.5

Python代码:

from neo4j import GraphDatabase

# 数据库连接信息,根据你的Neo4j配置修改
URI = "bolt://localhost:7687"
USERNAME = "neo4j"
PASSWORD = "your_database_password"

def batch_import_csv():
    # 初始化驱动并创建会话
    with GraphDatabase.driver(URI, auth=(USERNAME, PASSWORD)) as driver:
        with driver.session() as session:
            # 批量导入的Cypher语句,MERGE避免重复创建节点/关系
            import_query = """
            LOAD CSV WITH HEADERS FROM 'file:///graph_data.csv' AS row
            MERGE (source:User {id: row.source_id, name: row.source_name})
            MERGE (target:User {id: row.target_id, name: row.target_name})
            MERGE (source)-[r:FOLLOWS {weight: toFloat(row.relationship_weight)}]->(target)
            """
            # 执行查询并获取统计结果
            result = session.run(import_query)
            counters = result.consume().counters
            print(f"导入完成:创建节点 {counters.nodes_created} 个,创建关系 {counters.relationships_created} 条")

if __name__ == "__main__":
    batch_import_csv()

三、Neo4j Browser中的操作说明

你不需要找专门的"添加图"按钮,直接在Browser的查询框中执行上述LOAD CSV语句即可完成导入。导入后,可执行Cypher查询提取信息:

常用查询示例

# 查询前10个节点及其属性
MATCH (n) RETURN n LIMIT 10

# 查询特定节点的所有关联关系
MATCH (u:User {name: 'Alice'})-[r]->(friend) RETURN u, r, friend

# 统计所有关系数量
MATCH ()-[r]->() RETURN COUNT(r) AS total_relationships

四、大型图数据的优化建议

如果你的数据量极大(百万级以上节点/关系),推荐使用Neo4j官方的neo4j-admin import工具,这是离线导入工具,速度远快于LOAD CSV。使用方式如下(命令行执行):

neo4j-admin import --nodes import/nodes.csv --relationships import/relationships.csv

注意:使用该工具需要先停止Neo4j服务,且CSV格式需符合官方要求(节点和关系分开存储)。

内容的提问来源于stack exchange,提问作者user20505088

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 03:57:25