Production-grade, Neo4j 5.x guidance for designing scalable property-graph schemas and automating relational / JSON-to-graph migration pipelines.
graph-data-modeling.org is an in-depth technical reference for graph developers, data modelers, Python engineers, and platform teams who build graph systems that need to scale predictably. It treats schema design and data migration not as one-off tasks, but as versioned, testable components of your infrastructure — backed by idempotent automation, rigorous validation, and a deep understanding of how the Cypher query planner actually behaves.
Every technique is grounded in real query-planner output, the official Neo4j Python driver, and enterprise-grade operational concerns — not toy examples. Fifty-plus guides, each with hand-authored diagrams and runnable Neo4j 5.x code.
The site is organized into three in-depth areas:
Engineer resilient, query-efficient Neo4j property graphs — node label taxonomy, relationship cardinality and direction, data-type selection, property-graph anti-patterns, partitioning, and versioned schema evolution.
Move relational and JSON data into Neo4j with idempotent, validated pipelines — schema mapping, JSON flattening, batch chunking, error handling and rollback, Python driver integration patterns, bulk-ingestion tooling, and initial-load performance tuning.
Make queries fast and keep them fast — read EXPLAIN / PROFILE plans, select the right index, manage the constraint lifecycle, remove Cypher tuning anti-patterns, and parameterize to keep the plan cache warm.
- Neo4j 5.x throughout —
IF NOT EXISTSDDL, native temporal types,CALL {} IN TRANSACTIONS, relationship-property indexes, node-key constraints. - Real driver code — the neo4j v5 Python driver with context-managed sessions, managed
execute_write/execute_readtransactions, connection pooling, retry, and async patterns. - Planner-grounded — guidance tied to actual
PROFILEoperators (NodeIndexSeekvsAllNodesScan,Expand,Eager,CartesianProduct) and db-hits, not folklore. - Hand-authored diagrams — every page carries an original, accessible inline SVG (title/description, theme-aware, responsive) that explains the hardest concept on the page.
- Accessible & fast — WCAG 2 A/AA verified, valid structured data, and a mobile performance budget enforced on every build.
- Eleventy static-site generator (Nunjucks + Markdown)
- Prism syntax highlighting and KaTeX math, self-hosted
- Hand-authored inline SVG diagrams — no diagram runtime shipped to the browser
- Progressive web app: offline-capable via a service worker
- Deployed on Cloudflare Workers
npm install # install dependencies
npm run serve # local dev server with live reload
npm run build # production build into _site/content/ Markdown source for every guide (folder path = URL)
_data/ Site metadata and navigation (site.js)
_includes/ Nunjucks layouts and partials (header, footer, icons)
assets/ CSS, images, self-hosted vendor assets
index.njk Home page
content-hub.njk Full content index
sitemap.njk XML sitemap
eleventy.config.js Build configuration (markdown, highlighting, filters)
Issues and pull requests that improve accuracy, add worked examples, or sharpen the diagrams are welcome. Please keep code targeting Neo4j 5.x and the neo4j v5 Python driver, and match the existing page structure and diagram style.