I need a graph in the first place
Turn an OSM extract into a routable topology: streaming the PBF, snapping coordinates, and the incremental re-import that keeps it current without a rebuild.
Production-ready patterns for backend, data and logistics engineers building, querying, routing and scaling spatial graph networks with Python and Neo4j / GraphDB.
This site is a focused engineering reference for shipping spatial routing systems that survive real production load. It pairs Cypher with async Python drivers, spatial indexing, and topology-aware ingestion so that distance filters, KNN searches, and shortest-path queries stay sub-second as your graph scales to millions of nodes.
You'll find concrete patterns for OSM ingestion, POI enrichment, attribute synchronization, query-planner tuning, memory and storage budgets, and multi-tenant spatial security, plus a dedicated track on network routing algorithms — Dijkstra, A*, contraction hierarchies, turn restrictions, and Neo4j GDS versus hand-written Cypher — each grounded in working Python and Cypher snippets. The goal is to treat spatial predicates and shortest-path search as first-class operators, not post-processing filters.
Every page carries runnable code, the failure patterns that surface once the data grows, and diagrams of the mechanism rather than of the marketing.
Four routes into the material, depending on what you are trying to get working today.
Turn an OSM extract into a routable topology: streaming the PBF, snapping coordinates, and the incremental re-import that keeps it current without a rebuild.
The index-first discipline: why a distance predicate alone cannot seek, what the two-stage box-then-clip shape looks like, and how to read the plan that proves it worked.
Dijkstra, A* and contraction hierarchies compared on the axes that actually decide it — query shape, update frequency, and how much preprocessing you can afford.
Memory budgets, index state and plan-cache health — the three things that change under you without anyone editing a query.
4 sections, 22 topics and 60 in-depth guides — 86 pages in all. Each section opens onto its topics, and each topic onto the guides that work its patterns end to end.
Storage, indexing, query planning, and security primitives for spatial graphs.
Index-backed distance filters, KNN, joins, performance tuning.
Pipelines, POI enrichment, attribute sync, async batching.
Dijkstra, A*, contraction hierarchies, turn restrictions, GDS vs Cypher.
The full catalogue, grouped by the topic each guide belongs to.