在Docker容器中填充Neo4J
我为Neo4J创build了一个Docker容器
$ docker run --name my-neo4j -p 7474:7474 -p 7687:7687 \ -v ~/path/to/volume1:/data:rw -d neo4j:3.0.6
正如所料,这将创build一个空的graphics数据库。 对于我们的用例,我们希望有一个预填充的数据库。
任何帮助将不胜感激 – 最好命令行选项,如果有的话。
提前致谢。
你可以看一下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
和friendships
,分别具有标题personId,name
和personId1,personId2
。