Neopop is a thin wrapper around cypher-shell for structured graph population in Neo4j 5.
It provides consistent commit models, execution control, and database preparation when executing Cypher workloads.
Two graph seed kinds:
- Monolithic: a single Cypher file (DDL and/or DML)
- Modular: DDL pre/post files + a pure DML file
Commit models:
- Statement-wise: each statement runs in its own implicit transaction
- Package-wise: explicit transaction blocks of size N
Execution control:
--fail-fast(default)--best-effort
Database preparation:
--clean-db--reset-db
Other:
--echo-cysecho cypher-shell output during seeding
(also cf. Design.)
neopop --helpor
man neopop(also cf. Synopsis.)
neopop -u neo4j -p secret -a neo4j://localhost:7687 -d test \
monolithic --seed mixed.cypher --echo-cys--seed FILEInput file containing DDL and/or DML (-= STDIN)--stm-wise(default) Statement-wise commit model--echo-cysecho cypher-shell output during seeding
neopop -u neo4j -p secret -a neo4j://localhost:7687 -d test \
modular --seed-pre pre.cypher \
--seed-grp graph.cypher \
--seed-post post.cypher \
--pkg-wise --pkg-size 500 \
--echo-sys--seed-grp FILE(mandatory) pure DML (-= STDIN)--seed-pre FILE/--seed-post FILE(optional) DDL only--stm-wiseor--pkg-wise --pkg-size N--echo-cysecho cypher-shell output during seeding
db-check→ test connectivity (RETURN 1)db-clean→ delete all nodes, relationships, constraints, indexesdb-reset→ drop + recreate database, wait until online
Monolithic seed from stdin:
cat mixed.cypher | neopop -u neo4j -p secret -a ... -d test \
monolithic --seed -Modular seed (statement-wise):
neopop -u neo4j -p secret -a ... -d test \
modular --seed-grp graph.cypher --stm-wiseReset database:
neopop -u neo4j -p secret -a ... -d test db-resetWe welcome contributions! Please see CONTRIBUTING.md.
See INSTALL.md.