2016-10-28 58 views
1

我創建使用填充的Neo4j在泊塢集裝箱

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

此,如所預期,創建一個空的圖形數據庫Neo4j的一個泊塢容器。對於我們的用例,我們希望有一個預先填充的數據庫。

任何幫助將不勝感激 - 最好命令行選項,如果有的話。

在此先感謝。

+0

在你的neo4j中安裝你的graph.db?我不是Neo4j的專家,但這對我來說似乎是一種選擇。 – lvthillo

+0

看看http://stackoverflow.com/questions/25920029/setting-up-mysql-and-importing-dump-within-dockerfile – user2915097

回答

1

您可以在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,namepersonId1,personId2分別。