把数据导入 Neo4j 常见有几种方式,取决于你的数据格式和使用场景。下面按「从易到难 / 从常用到专业」给你梳理一下。
CREATE (:Person {name:'张三', age:30})
MATCH (a:Person {name:'张三'}), (b:Person {name:'李四'})
CREATE (a)-[:FRIEND]->(b)
✅ 适合:
路径一般是:
neo4j/import/
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
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 import \
--nodes=Person=import/person.csv \
--relationships=FRIEND=import/friend.csv
⚠ 注意:
✅ 适合:
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
)
✅ 适合:
| 场景 | 推荐方式 |
|---|---|
| 学习 / 测试 | Cypher |
| 普通业务数据 | LOAD CSV |
| 超大数据 | neo4j-admin import |
| 实时写入 | 程序(Python/Java) |
如果你愿意,可以告诉我:
我可以给你 定制导入方案 + 示例脚本。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。