我的应用程序中有一个 neo4j 嵌入式数据库,我想加载一个 .csv 文件来填充数据库。我已成功在 /import
文件夹中创建 .csv 文件,但当我尝试加载它时,出现无法加载外部资源:file:/csv_file.csv
。
我读过它可能与权限有关,但我无法更改它们,因为每次运行应用程序时它都会创建整个文件夹结构(我尝试在使用 Runtime.getRuntime().exec("chmod 777/path_to_file/csv_file.csv") 创建文件后更改它们,但它从来没有工作)
这是我的代码:
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,所以/应该没问题。有什么想法吗?
最佳答案
好吧,我终于解决了这个问题:到处都说 .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" )
{
}
关于java - 在Java中嵌入的neo4j中加载csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51543837/