我在Docker(Windows 10)中运行Neo4J。我想使用Node和neo4j-driver
。
我的查询是(限于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容器中,进入该文件夹结构?
答案 0 :(得分:2)
您需要将其复制到docker容器或映射到它的目录中;默认情况下,Neo4J仅支持从import
目录加载CSV,所有LOAD CSV路径都相对于此。
这是开箱即用的选择;通过修改配置文件中的dbms.directories.import
变量,可以对其进行更改,但Neo4J文档明确不建议这样做。