Modelling connections.
WHAT IT REPRESENTS
Entities and the relationships between them.
WHERE IT APPLIES
Organisational and ownership structures Fraud rings and shared attributes Recommendations based on connections Supply chains Network topology
WHAT RELATIONAL DATABASES HANDLE POORLY
Traversal of many levels, which requires a join per level.
WHAT RECURSIVE QUERIES PROVIDE
Traversal in SQL, adequate for modest depth.
WHAT GRAPH DATABASES PROVIDE
Traversal as a first-class operation, at depth, efficiently.
WHAT THEY COST
Another system to operate, and a query language to learn.
WHAT TO ESTABLISH BEFORE ADOPTING ONE
Whether traversal depth genuinely exceeds what SQL handles.
WHY
Most relationship questions are one or two levels deep.
WHAT TO MODEL CAREFULLY
Relationship direction Relationship validity over time Attributes on relationships, not only entities
WHY TIME MATTERS
Ownership and employment change, and historical questions require it.
WHAT TO BE CAREFUL WITH
Cycles, which cause infinite traversal Highly connected nodes, which explode traversal cost
WHAT TO ALWAYS LIMIT
Traversal depth.
WHAT TO PRECOMPUTE
Frequently asked traversals, materialised as tables.