在 Docker 容器中填充 Neo4J 数据库

3

我使用 Docker 创建了一个 Neo4J 容器。

$ docker run --name my-neo4j -p 7474:7474 -p 7687:7687 \
             -v ~/path/to/volume1:/data:rw -d neo4j:3.0.6

这将创建一个空的图形数据库,与我们的用例不符,我们希望有一个预填充的数据库。
如果有任何帮助,都会受到赞赏 - 最好是命令行选项(如果有)。
提前致谢。

将您的graph.db挂载到Neo4j中?虽然我不是Neo4j专家,但这对我来说似乎是一个选项。 - lvthillo
请查看以下网址:https://dev59.com/cV8e5IYBdhLWcg3wRIpQ - user2915097
1个回答

4
你可以在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文件,peoplefriendships,分别具有标题personId,namepersonId1,personId2


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接