1, .cypher
直接通过.cypher文件写入,适合图谱数据的原型test
//创建节点
CREATE
(dan:Person {name: 'Dan', born:1992}),
(annie:Person {name: 'Annie', born:1993}),
(matt:Person {name: 'Matt', born:1996}),
(jeff:Person {name: 'Jeff', born:1988}),
(brie:Person {name: 'Brie', born:1994}),
(elsa:Person {name: 'Elsa', born:1995}),
(beijing:address {province:'beijing'}),
(shanghai:address {province:'shanghai'}),
//创建关系
(dan)-[:LOCATES]->(beijing),
(annie)-[:LOCATES]->(beijing),
(jeff)-[:LOCATES]->(shanghai),
(brie)-[:LOCATES]->(shanghai);
2, loadcsv (适合10m以下的数据)**
将数据放入db - Open folder - Import
browser直接导入
//create nodes
LOAD CSV WITH HEADERS FROM 'file:///consumer_sample' AS row
WITH row WHERE row.city_name IS NOT NULL
MERGE (city:city_name {city_name:row.city_name})
//create relations
LOAD CSV WITH HEADERS FROM 'file:///consumer.csv' AS row
MATCH (city:city_name {city_name:row.city_name})
MATCH (c:Consumer {consumerId:row.consumer_id})
MERGE (c)-[cc:live_in]->(city)
3, neo4j-admin import
(适合较大数据量的csv,亲测5000w 条数据也就也几分钟的时间就导入了)**
数据准备
设配:
- mac电脑需要安装 version11的jdk
- 安装neo4j desktop
- 新增project 和 DBMS
- DBMS数据为空,且neo4j不在运行中
文件准备
relations可以整合在一个文件夹中,nodes因为格式区别可以拆分文件夹:
relations需要具备的字段 ‘:START_ID’,‘:END_ID’,‘:TYPE’
nodes文件需要具备的字段 ‘xxx:ID’,‘name’,‘:LABEL’
导入流程
- 进入文件夹 db - Open folder - DBMS 找到bin文件夹
- 将相关数据文件拖入bin文件夹下
- 确保neo4j处于关闭状态
- 在bin文件夹中open terminal 运行neo4j-admin 如下:
./neo4j-admin import --database=neo4j --nodes=product_clean_admin1.csv --nodes=consumerinfo_admin.csv --nodes=city_admin.csv --relationships=relation_combine.csv --skip-duplicate-nodes --skip-bad-relationships