我刚刚开始使用Neo4j,并尝试在YouTube上关注如何将CSV输入Neo4j的教程。
我正在使用以下代码尝试使用Cypher将我的CSV导入Neo4j:
xfox
但是,我一直收到这个错误:
Neo.ClientError.Statement.ExternalResourceFailed
任何帮助都将非常感谢:)
答案 0 :(得分:2)
您应该将CSV文件放入Neo4j安装的导入目录中。对于OS X安装,此目录为<neo4j-home>/import
。
之后,您的LOAD CSV
语句将如下所示:
LOAD CSV WITH HEADERS FROM "file:///LL.csv" As csvline MATCH(n)
RETURN n
即:文件URL相对于导入目录。
答案 1 :(得分:0)
这是在neo4j 3.0及更高版本中自动启用的安全功能。它不允许从文件系统中的任何位置加载文件。
您有2个解决方案/选项:
此选项很简单,只需将要读取的所有CSV文件复制并粘贴到安装目录(文件夹)中的“导入”目录(文件夹)中即可。
然后使用以下文件路径(例如,加载粘贴到导入目录(文件夹)中的CSV文件“ data.csv”
LOAD CSV file:///data.csv
要允许导入任何URL或文件路径,必须导航至neo4j.conf文件。该文件位于安装目录的conf文件夹中。另外,您可以简单地搜索“ neo4j.conf”文件。
找到文件后,将其打开(使用记事本或其他工具)。然后确保没有注释掉下面的“ dbms.security.allow_csv_import_from_file_urls = true”(删除“#”)和&注释掉下面的“ dbms.directories.import = import”(添加“#”)。
# Determines if Cypher will allow using file URLs when loading data using
# `LOAD CSV`. Setting this value to `false` will cause Neo4j to fail `LOAD CSV`
# clauses that load data from the file system.
dbms.security.allow_csv_import_from_file_urls=true
# This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or comment it out to
# allow files to be loaded from anywhere in the filesystem; this introduces possible security problems. See the
# `LOAD CSV` section of the manual for details.
#dbms.directories.import=import