我在运行Ubuntu14.04的公司云服务器上重新安装了Neo4j 2.1.4开源。我正在将CSV文件导入到数据库中。我的文件的路径是‘/home/username/data-ne4j/node.csv’
下面是我的命令,我从Neo4j命令行工具new4j-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实例(OSX与Neo4j 2.1.2Enterprise)。该命令在我的本地机器上是成功的,因为我切换到匹配的路径。
当我运行新的时,我注意到一件事,我得到了NOTE: Remote Neo4j graph database service 'shell' at port 1337
。我已经打开了这个端口,我的命令仍然返回相同的错误消息。
我也读过这个链接,但是他们的问题是他们没有上传他们的文件。我的档案准备好了。
发布于 2015-03-13 00:07:17
谢尔顿雷格,你的同事是对的。感谢他。
我解决了它同样的问题,但实际上不需要像neo4j用户所建议的那样将文件放置在具有权限的位置,例如/var/log/ne4j或/var/lib/ne4j。
相反,只需转到上面提到的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成功地运行了导入命令。
我做了这个:
sudo chown neo4j:adm <csv file location>
发布于 2014-10-01 12:21:49
一位同事帮我调试了这个。
问题是得到了许可。在Linux中,neo4j有自己的用户“ne4j”。该用户没有权限访问/home/myuser/ data -nei4j/node.csv上的数据。
我们将数据移动到neo4j用户拥有权限的文件夹中,并调整了查询中的路径。
作为将来的参考,Neo4j的日志可以提供更多的信息,在Linux中可以在/var/ log /nei4j上找到。
https://stackoverflow.com/questions/26149712
复制相似问题