由于我使用Neo4j 3.0.1,这个密码查询:
USING PERIODIC COMMIT 500
LOAD CSV WITH HEADERS
FROM >"file:///home/user/Documents/links.csv" AS csvLine
...
返回
Couldn't load the external resource at: file:/home/user/Documents/neo4j-community-3.0.1/import/home/user/Documents/links.csv
Neo4j位于我的机器上(Ubuntu 14.04),位于" Documents"文件夹,作为" links.csv"文件。
(使用2.xx版本的neo4j,这个确切的查询工作正常)
我不知道为什么neo4j3.0尝试在" import"中重建csv文件路径。文件夹...
在ftp上传文件以通过http协议查询neo4j是有效的,因此它与" import"文件夹"的访问权限无关。我的#34; links.csv"文件权限是664。
有什么想法吗?
答案 0 :(得分:11)
这是一个集成在neo4j 3.0中的安全性,以防止脚本从不需要的目录加载源(例如/etc/password
。
您可以在conf/neo4j.conf
中添加以下设置,以避开此问题:
dbms.security.allow_csv_import_from_file_urls=true
或者只是将您的csv文件放在导入目录中。
答案 1 :(得分:3)
你应该从neo4j.conf注释掉这一行 line:
dbms.directories.import=import
或在导入时设置文件
答案 2 :(得分:1)
我遇到了类似的错误。在读完别人的答案之后,我猜这确实是一个安全问题。对我来说快速解决方法是将我的数据移动到Neo4j / default.graphdb / import目录下,Neo4j正试图重定向。就我而言,我必须创建导入目录。现在我可以使用“file:///my_data_dir/test.csv”加载我的文件,只要my_data_dir嵌套在Neo4j / default.graphdb / import
下注意:我使用的是Mac OS X El Capitan 10.11.6并运行Neo4j Community Edition 3.1.0-BETA1。
答案 3 :(得分:0)
从配置文件'neo4j.conf':
# This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or uncomment it to
# allow files to be loaded from anywhere in filesystem; this introduces possible security problems. See the `LOAD CSV`
# section of the manual for details.
#dbms.directories.import=import