我使用 Docker 创建了一个 Neo4J 容器。
$ docker run --name my-neo4j -p 7474:7474 -p 7687:7687 \
-v ~/path/to/volume1:/data:rw -d neo4j:3.0.6
这将创建一个空的图形数据库,与我们的用例不符,我们希望有一个预填充的数据库。
如果有任何帮助,都会受到赞赏 - 最好是命令行选项(如果有)。
提前致谢。
我使用 Docker 创建了一个 Neo4J 容器。
$ docker run --name my-neo4j -p 7474:7474 -p 7687:7687 \
-v ~/path/to/volume1:/data:rw -d neo4j:3.0.6
$ 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
。