我在运行Ubuntu 14.04的公司云服务器上全新安装了Neo4j 2.1.4开源软件。我正在将CSV文件导入数据库。我文件的路径是'/home/username/data-neo4j/node.csv'

下面是我的命令,该命令是从Neo4j命令行工具neo4j-shell运行的:

LOAD CSV WITH HEADERS FROM "file:///home/username/data-neo4j/node.csv" AS line CREATE (:Node { nid: toInt(line.nid), title: line.title, type: line.type, url: line.url});

返回:

LoadExternalResourceException: Couldn't load the external resource at: file:/home/user/data-neo4j/node.csv

这看起来像一条消息,指出找不到文件。但是,该文件到位。我什至尝试将文件的权限更改为755。

我在本地计算机(带有Neo4j 2.1.2 Enterprise的OSX)上有一个单独的Neo4j实例。给定我切换的路径以匹配,该命令在本地计算机上成功执行。

当我运行neo4j-shell时,我注意到的一件事是得到NOTE: Remote Neo4j graph database service 'shell' at port 1337。我已经打开了该端口,但是我的命令仍然返回相同的错误消息。

我也阅读了此链接-但他们的问题是他们尚未上传文件。我的文件到位了。

neo4j LOAD CSV returns Couldn't Load external resource

最佳答案

sheldonkreger,您的同事是对的。多亏了他

我以同样的方式解决了该问题,但是实际上您不需要按照他的建议将文件放置在neo4j用户具有权限的位置,例如/ var / log / neo4j或/ var / lib / neo4j。

相反,只需转到上面提到的neo4j目录,然后查看那里的文件权限,并为您的csv文件或尝试导入的任何文件提供相同的权限。

例如,对于我的系统,neo4j文件夹中的文件权限如下所示:

ls -la
total 208
drwxr-xr-x  4 neo4j adm    4096 Feb  4 10:35 .
drwxr-xr-x 87 root  root   4096 Feb 11 22:21 ..
drwxr-xr-x  3 neo4j adm    4096 Feb  4 10:35 bin
-rw-r--r--  1 neo4j adm   61164 Jan 29 22:32 CHANGES.txt
lrwxrwxrwx  1 neo4j adm      10 Sep 30 12:07 conf -> /etc/neo4j
drwxr-xr-x  4 neo4j adm    4096 Mar 13 13:25 data
lrwxrwxrwx  1 neo4j adm      20 Sep 30 12:07 lib -> /usr/share/neo4j/lib
-rw-r--r--  1 neo4j adm  125517 Jan 29 22:32 LICENSES.txt
lrwxrwxrwx  1 neo4j adm      24 Sep 30 12:07 plugins -> /usr/share/neo4j/plugins
-rw-r--r--  1 neo4j adm    1568 Jan 29 22:32 README.txt
lrwxrwxrwx  1 neo4j adm      23 Sep 30 12:07 system -> /usr/share/neo4j/system
-rw-r--r--  1 neo4j adm    4018 Jan 29 22:30 UPGRADE.txt


因此,我对文件执行了相同的操作,neo4j成功地运行了import命令。

我这样做:

sudo chown neo4j:adm <csv file location>

关于csv - 在Cypher + Neo4j中加载CSV失败“LoadExternalResourceException:无法在以下位置加载外部资源:”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26149712/

10-09 20:45