Overview
When the Right Model is a Graph
If your hardest queries are 'who is connected to whom, how, through what?', stop joining and start traversing.
Why it matters
Graph modelling (Neo4j, RDF) wins for recursive / variable-depth questions — fraud rings, knowledge bases, recommendations, supply chain. See the Neo4j and Semantic Web tracks.
Going deeper
Graph-shaped problems share a fingerprint:
- Variable-depth traversal — 'within N hops', 'shortest path', 'reachable set'. SQL needs recursion; Cypher writes
()-[*..N]-(). - Pattern matching — 'A introduced B who introduced C, all within 30 days'. Reads like a sentence in a graph language.
- Heterogeneous relationships — user, device, address, payment all linked by many edge types. A relational equivalent is a forest of junction tables.
- Inference / reasoning — 'if X is a parent of Y and Y is a parent of Z, then X is an ancestor of Z'. Semantic-web stacks (RDF + OWL) do this natively.
Counter-fingerprint (= not a graph problem): bulk aggregations over tabular facts, high-throughput key lookups, document storage. Reaching for a graph DB on those workloads buys you complexity without payoff.