Prerequisites
- Docker Engine or Docker Desktop with Docker Compose.
- GraphCheck installed through the normal repository workflow. From a development checkout, use
uv sync --group devand prefix GraphCheck commands withuv run. - Local ports
7474and7687available.
graphcheck-demo. Its disposable local credentials are
neo4j / Password@123, and Bolt is available only on bolt://localhost:7687.
Start and load the fixture
Run these commands from the repository root:docker compose up -d starts the services
asynchronously; it does not wait for the one-shot fixture loader. Only a successful
fixture-seed completion means the demo graph is ready for GraphCheck. Download, checksum,
connection, and Cypher errors produce a non-zero status instead of silently continuing.
Compose anonymously downloads only fixtures/fraud-ring/seed.cypher from the public canonical
graphora/graphcheck-fraud-ring-fixture repository at immutable commit
d2b8c76c2d2940f53f71491703619961a699c293. It verifies SHA-256
d955dbf08a3821a53e3b39f4f5234c16d13eb08c33b2a573fe422c85d5dcd90a before seeding. GraphCheck
does not maintain a copy of the fixture data.
The seeded graph contains 5,011 nodes and 5,872 relationships.
Run GraphCheck
Afterfixture-seed completes successfully, run:
uv run graphcheck run instead.
The expected results are:
fraud-ring-conformance/account-no-orphans: 3 violations.fraud-ring-conformance/account-owner-cardinality: 4 violations.graphcheck-action-smoke/smoke-connection-alive: passes.
.graphcheck/runs/latest/.
No baseline is created or required by the default quickstart. Drift and baseline testing is a
separate follow-on workflow using examples/checks/example.yml
with a genuine before-state baseline; that example is outside default check discovery.
Teardown
Remove the containers, network, downloaded fixture, and database volumes with:graphcheck-demo database.
Troubleshooting
- If startup reports that port
7687or7474is already in use, stop the local service using that port before retrying. - If fixture loading fails, inspect
docker compose logs fixture-fetch fixture-seed; do not run GraphCheck untildocker compose wait fixture-seedsucceeds.
