赞
踩
在使用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.csv或file:///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语句,防止重复导入
另附一个参考文章:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。