在嵌入Java的neo4j中加载csv文件

时间:2018-07-26 16:46:36

标签: java database macos csv neo4j

我的应用程序中有一个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,所以/应该没问题。有想法吗?

1 个答案:

答案 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" )
        {

    }