问题
Since I use Neo4j 3.0.1, this cypher query:
USING PERIODIC COMMIT 500
LOAD CSV WITH HEADERS
FROM >"file:///home/user/Documents/links.csv" AS csvLine
...
returns
Couldn't load the external resource at: file:/home/user/Documents/neo4j-community-3.0.1/import/home/user/Documents/links.csv
Neo4j is located on my machine (Ubuntu 14.04), in the "Documents" folder, as the "links.csv" file.
(with a 2.xx version of neo4j this exact query was working perfectly)
I don't undersand why neo4j3.0 try to rebuild the csv file path in the "import" folder...
Uploading the file on ftp to query neo4j through http protocol works, so it's not about access permissions of the "import "folder". My "links.csv" file permission is 664.
Any idea ?
回答1:
This is a security that has been integrated in neo4j 3.0 in order to prevent scripts to load sources from an unwanted directory (like /etc/password
for example.
You can add the following setting in conf/neo4j.conf
in order to bypass this :
dbms.security.allow_csv_import_from_file_urls=true
Or just put your csv files in the import directory.
回答2:
You should comment out this line from the neo4j.conf line:
dbms.directories.import=import
or set the files at the import
回答3:
I was getting a similar error. After reading others' answers, I'm guessing this is indeed a security issue. A quick fix for me was to move my data under the Neo4j/default.graphdb/import directory where Neo4j is trying to redirect anyway. In my case, I had to create the import directory. Now I can load my files using "file:///my_data_dir/test.csv" so long as my_data_dir is nested under Neo4j/default.graphdb/import
Note: I'm on Mac OS X El Capitan 10.11.6 and running Neo4j Community Edition 3.1.0-BETA1.
回答4:
From the configuration file '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
来源:https://stackoverflow.com/questions/37444448/neo4j-load-csv-returns-couldnt-load-external-resource-neo4j-lost-in-directory