Neo4j¶
Load With Docker¶
Create Neo4j container.
$ docker run -d \
-p 7474:7474 \
-p 7687:7687 \
--name neo4j \
--env NEO4J_AUTH=none \
neo4j
Copy Neo4j files to the container.
$ docker cp <path/to/edges/file> neo4j:/var/lib/neo4j/import/neo.edges
$ docker cp <path/to/nodes/file> neo4j:/var/lib/neo4j/import/neo.nodes
e.g.
$ docker cp output/musician/neo/*.edges neo4j:/var/lib/neo4j/import/neo.edges
$ docker cp output/musician/neo/*.nodes neo4j:/var/lib/neo4j/import/neo.nodes
Import data and reload Neo4j server.
docker exec neo4j bash -c \
"rm -rf data/databases/graph.db/ && neo4j-admin import \
--database=graph.db \
--nodes=import/neo.nodes \
--relationships=import/neo.edges \
--delimiter='\t' \
&& chown -R root:root /data" \
&& docker restart neo4j
Access to http://localhost:7474 on your web browser to see the imported data.
Load Without Docker¶
Create sample data.
$ vi data.pg
data.pg
p1 :person name:Bob
p2 :person name:Alice
p1 -> p2 :likes since:2013
p1 -- p2 :friend since:2011
Create Neo4j style nodes/edges files.
$ alias pg2neo='docker run --rm -v $PWD:/work g2glab/pg:x.x.x pg2neo'
$ pg2neo data.pg
Remove existing Neo4j database files.
$ rm -r $NEO4J_DIR/data/databases/graph.db
Import data from nodes/edges files.
$ $NEO4J_DIR/bin/neo4j-import \
--into $NEO4J_DIR/data/databases/graph.db \
--nodes output/data.neo.nodes \
--relationships output/data.neo.edges
Start Neo4j console and access its browser ( http://localhost:7474/browser/ ).
$ $NEO4J_DIR/bin/neo4j console