将CSV文件加载到Docker中运行的Neo4J中

时间:2018-04-12 17:13:09

标签: csv docker neo4j neo4j-driver

我在Docker(Windows 10)中运行Neo4J。我想使用Node和neo4j-driver

将大型CSV文件导入其中

我的查询是(限于5行,用于测试目的):

let csvPath = 'file:///C:/Users/Test/largefile.csv';

let query = `
  USING PERIODIC COMMIT
  LOAD CSV FROM '${csvPath}' AS line
  WITH line LIMIT 5
  MERGE (:Person {name: line[1]})-[:connected_to]->(:Person {name: line[2]})
`;

无论我尝试放入路径,驱动程序都会继续寻找file:/var/lib/neo4j/import/C:/Users/Test/largefile.csv

我试过/没有驱动器号;尝试过本地文件并使用./;尝试了不同的路径 - 即使我的机器上没有这样的文件夹,驱动程序总是在/var/lib/neo4j/import查找文件。

是否可以从我的主机导入文件,还是需要将其复制到Docker容器中,进入该文件夹结构?

1 个答案:

答案 0 :(得分:2)

您需要将其复制到docker容器或映射到它的目录中;默认情况下,Neo4J仅支持从import目录加载CSV,所有LOAD CSV路径都相对于此。

这是开箱即用的选择;通过修改配置文件中的dbms.directories.import变量,可以对其进行更改,但Neo4J文档明确不建议这样做。