neo4j load csv 的使用问题总结

在使用load csv导入文件时一直出问题
LOAD CSV WITH HEADERS FROM "?G:\importData.csv"
AS line
return line.n

后来才发现原来neo4j默认的设置是把文件导入的根目录限制在当前库的import文件夹下:


dbms.directories.import 设置file:///与Cypher LOAD CSV子句一起使用的URL 的根目录。这必须设置为数据库服务器的文件系统上的单个目录,并将使所有从file:///URL相对于指定目录加载的请求(类似于unix chroot的操作)。默认值为import。这是一种安全措施,可防止数据库访问标准导入目录之外的文件。设置dbms.directories.import为空删除此安全措施,而是允许访问系统上的任何文件。这是不推荐的。

文件URL将相对于dbms.directories.import目录解析。例如,一个文件的URL通常会看起来像file:///myfile.csvfile:///myproject/myfile.csv

·                                如果dbms.directories.import设置为默认值导入,则使用上述URL LOAD CSV将分别从<NEO4J_HOME> /import/myfile.csv<NEO4J_HOME> import / myproject / myfile.csv读取。

·                                如果设置为/ data / csv,则使用上述URL LOAD CSV将分别从/data/csv/myfile.csv/data/csv/myproject/myfile.csv读取

--------------------------------------------------------------------------------------------------------

找到当前数据库的目录,我是安装的windows版本3.11,发现没有import目录,需要自己手动创建。

然后放入csv文件

 

接下来就可以进行导入操作了:

USING PERIODIC COMMIT 10   
LOAD CSV FROM "file:///node.csv" AS line  
create (a:Node{name:line[0]})  

 

 需要注意的是:导入node时一般用create语句,导入关系时一般用merge语句,防止重复导入


另附一个参考文章:

csv文件导入Neo4j(包括结点和关系的导入)   

猜你喜欢

转载自blog.csdn.net/xys430381_1/article/details/78186824
今日推荐