参考文档
一目了然图
主要说明LOAD CSV(运用最广泛)
可变参数解释:
1、USING PERIODIC COMMIT 300
使用批量提交,每满300条提交一次,防止内存溢出
2、WITH HEADERS
从文件中读取第一行作为参数名,只有在使用了该参数后,才可以使用line.name这样的表示方式,否则需使用line[0]的表示方式
3、AS line
为每行数据重命名
4、FIELDTERMINATOR ';'
自定义字段定界符
导入节点(新建实体,不检查重复)
USING PERIODIC COMMIT 300 LOAD CSV WITH HEADERS FROM "file:///name.csv" AS line FIELDTERMINATOR ';'
CREATE (a:User{name:line.username})
想实现各种定制效果或导入关系,新增或无则插入有则更改等就改cypher语句即可
注意点
1、csv文件必须是utf-8编码,否则会造成中文乱码。可用记事本打开另存为时选择utf8编码
2、csv文件默认需要放在import目录下,如需从远程或者其他本地目录导入,则需要修改conf/neo4j.conf
# load csv时文件路径。默认需要放在${NEO4J_HOME}/import目录下
# 注释后可从任意路径读取文件,也可以指定其他路径。
dbms.directories.import=import
# 是否允许从远程url来load csv。默认不可以
dbms.security.allow_csv_import_from_file_urls=true
除配置文件外还要注意linux权限。。。报错:Couldn't load the external resource at大部分都是这里的原因
3、数据量较大时,要在merge的属性上建索引。节点和关系不要放太多属性,尤其少放非ASCII码的属性。