Skip to main content
GraphCheck is an open-source CLI that tests a Neo4j property graph the way pytest tests code. You declare what should be true about your graph in YAML, GraphCheck runs it read-only, and you get deterministic pass/fail verdicts with evidence — in your terminal and in CI.

Quickstart

Install, connect, and get your first verdict in minutes

Docker Quickstart

A purely local demo with a seeded fraud-ring graph

Check Reference

Built-in check catalog with representative YAML examples

CI Setup

Gate merges on the exit-code contract

What it checks

Three declarative patterns cover most of what a graph needs:
  • Conformance — quality rules from the built-in core pack: completeness, cardinality, orphan detection, and more. A built-in PII pack flags properties that look like personal data, with labeled confidence.
  • Competency — the business questions your graph exists to answer, as executable assertions about shape and cardinality.
  • Drift — the current graph compared against a baseline snapshot.

The promises

A tool pointed at production data earns trust through guarantees:
  • Read-only, always. On Neo4j Enterprise and Developer editions GraphCheck expects a server-enforced read-only credential; on every edition a server-side EXPLAIN preflight rejects write-capable queries.
  • Evidence on every failure. Findings carry graph-element pointers or the aggregate measurements behind a drift result, plus the compiled query.
  • Deterministic verdicts. Same graph, same suite, same result. No LLM decides pass or fail.
  • Check execution stays local. With telemetry disabled — the default — running checks sends nothing anywhere: results are written locally and the HTML report opens offline. Opt-in telemetry sends only the anonymous, documented events. The only egress of your content — disclosed baseline metadata and the documents you select — is the optional graphcheck generate command, which sends them to your configured model provider; see the User Guide.