温馨提示×

温馨提示×

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

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

怎样导入数据到neo4j

发布时间:2026-11-09 15:51:13 来源:亿速云 阅读:88 作者:小樊 栏目:数据库

把数据导入 Neo4j 常见有几种方式,取决于你的数据格式和使用场景。下面按「从易到难 / 从常用到专业」给你梳理一下。


一、最常用:使用 Cypher 语句手动导入

1️⃣ 导入节点

CREATE (:Person {name:'张三', age:30})

2️⃣ 导入关系

MATCH (a:Person {name:'张三'}), (b:Person {name:'李四'})
CREATE (a)-[:FRIEND]->(b)

✅ 适合:

  • 数据量小
  • 学习 / 测试
  • 手动构造图结构

二、从 CSV 文件导入(最推荐)

1️⃣ 把 CSV 放到 Neo4j 的 import 目录

路径一般是:

neo4j/import/

2️⃣ 导入节点(CSV)

LOAD CSV WITH HEADERS FROM 'file:///person.csv' AS row
CREATE (:Person {name: row.name, age: toInteger(row.age)})

person.csv 示例:

name,age
张三,30
李四,25

3️⃣ 导入关系(CSV)

LOAD CSV WITH HEADERS FROM 'file:///friend.csv' AS row
MATCH (a:Person {name: row.from})
MATCH (b:Person {name: row.to})
CREATE (a)-[:FRIEND]->(b)

✅ 适合:

  • 结构化数据
  • 中小数据量(百万级以内)

三、使用 Neo4j Admin 导入(大数据量)

适合 千万级以上数据

命令示例

neo4j-admin import \
  --nodes=Person=import/person.csv \
  --relationships=FRIEND=import/friend.csv

⚠ 注意:

  • 数据库必须是 空库
  • 格式要求严格(header 行)
  • 速度快,但不灵活

✅ 适合:

  • 生产环境初始化
  • 批量大图数据

四、通过程序导入(Python / Java)

Python 示例(neo4j driver)

from neo4j import GraphDatabase

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

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

✅ 适合:

  • 实时数据
  • ETL 流程
  • 与业务系统对接

五、从其他数据库导入

  • MySQL / PostgreSQL → 先导出 CSV → 再 LOAD CSV
  • Spark → Neo4j Connector
  • GraphQL / JSON → 程序解析后写入

六、导入方式选择建议

场景 推荐方式
学习 / 测试 Cypher
普通业务数据 LOAD CSV
超大数据 neo4j-admin import
实时写入 程序(Python/Java)

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

  • 数据格式(CSV / Excel / JSON / 数据库)
  • 数据规模(几千 / 几百万)
  • 是否已有 Neo4j 环境

我可以给你 定制导入方案 + 示例脚本。

向AI问一下细节

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

AI
助
手