在Docker容器中填充Neo4J

时间:2016-10-28 07:16:53

标签: docker neo4j

我使用

为Neo4J创建了一个Docker容器
$ docker run --name my-neo4j -p 7474:7474 -p 7687:7687 \
             -v ~/path/to/volume1:/data:rw -d neo4j:3.0.6

正如所料,这会创建一个空图数据库。对于我们的用例,我们希望有一个预先填充的数据库。

任何帮助都将受到赞赏 - 最好是命令行选项,如果有的话。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以查看https://dzone.com/articles/how-neo4j-data-import-minimal

上的示例
$ docker exec -i my-neo4j bin/neo4j-import --into /data/databases/person.db \
                                           --nodes:Person /data/people.csv \
                                           --relationships:KNOWS /data/friendships.csv

这将填充person.db。填充默认graph.db

$ docker exec -i my-neo4j bin/neo4j-shell < ./local/path/to/setup.cql

setup.cql看起来像

LOAD CSV WITH HEADERS FROM 'file:///data/people.csv' AS line 
FIELDTERMINATOR ',' 
MERGE (p:Person {person_id:line.personId, name:line.name});

USING PERIODIC COMMIT 
LOAD CSV WITH HEADERS FROM "file:///data/friendships.csv" AS line 
FIELDTERMINATOR ',' 
MATCH (p1:Person),(p2:Person) 
WHERE p1.person_id = line.personId1 AND p2.person_id= line.personId2 
CREATE UNIQUE (p1)-[r:KNOWS]->(p2);

2个CSV文件people&amp; friendships,分别有标题personId,namepersonId1,personId2