我的应用程序中有一个neo4j嵌入式数据库,我想加载一个.csv文件来填充数据库。我已经设法在/import
文件夹中创建了.csv文件,但是当我尝试加载它时,却得到了Couldn't load the external resource at: file:/csv_file.csv
。
我已经读过它可能与权限有关,但是我无法更改它们,因为它在每次运行我的应用程序时都会创建整个文件夹结构(我尝试在使用Runtime.getRuntime().exec("chmod 777 /path_to_file/csv_file.csv")
创建文件后更改它们,但它永远无法正常工作)< / p>
这是我的代码:
public void addCSVtoDB() {
try ( Transaction ignored = graphDb.beginTx();
Result result = graphDb.execute( "LOAD CSV WITH HEADERS FROM \"file:///csv_file.csv\" AS csvLine\n" )
{
}
我正在使用MacOSX 10.11,所以/应该没问题。有想法吗?
答案 0 :(得分:0)
好吧,所以我finllay解决了它:到处都说.csv
文件必须在/ import文件夹中,但这不适用于嵌入式数据库。 path_to_file
是绝对的,因此我将.csv
文件放在我的/users/MY_USER/
文件夹中,并进行如下密码查询:
public void addCSVtoDB() {
try ( Transaction ignored = graphDb.beginTx();
Result result = graphDb.execute( "LOAD CSV WITH HEADERS FROM \"file:////Users/My_User/csv_file.csv\" AS csvLine\n" )
{
}