Temporal Reachability
Discover who can reach whom through time-respecting paths
Temporal reachability analyzes which nodes can reach which other nodes through paths that respect temporal ordering - edges must be traversed in chronological order.
What It Computes
From a source node and starting time, finds all nodes reachable via temporal paths where each edge timestamp is >= the previous edge's timestamp.
Key insight: Temporal paths reveal causality - if A can reach B temporally, A's state could have influenced B.
When to Use It
✅ Cybersecurity
Trace attack chains and lateral movement paths
✅ Epidemiology
Model disease/information spread through contact networks
✅ Supply Chain
Identify disruption propagation and dependencies
✅ Social Analysis
Track how information/influence flows through networks
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
start_time | int | 0 | Time to start the temporal walk |
seed_nodes | list | required | Source nodes to start from |
max_hops | int | None | Maximum path length (optional) |
Tuning advice:
- start_time: Usually earliest time of interest (e.g., compromise time)
- max_hops: Limit for performance on large graphs
- seed_nodes: Known infected/compromised nodes
Performance
Time Complexity: O(V + E) with early termination
Space Complexity: O(V)
Typical Runtime: 0.5-2 seconds for 1M edges
Scales to: 10M+ edges
Example
Output:
Note: Host_E is reachable (A→B→C→E) but only via the temporal path respecting time order.
Real-World Use Cases
Cybersecurity: Lateral Movement
Problem: Attacker compromised one host - what else can they reach?
Solution: Temporal reachability shows attack surface
Supply Chain Disruption
Problem: Supplier failed - which production depends on them?
Solution: Temporal reachability traces impact
Information Spread
Problem: Content went viral - trace propagation path
Solution: Find all users reached from initial posters
Temporal vs Static Reachability
Static reachability: A and E are connected (path exists ignoring time)
Temporal reachability: A can reach E only if path respects time ordering
Example where they differ:
- Static: A can reach C (path A→B→C exists)
- Temporal: A CANNOT reach C (would require going backwards in time)
Why it matters: Temporal reachability reveals true causality and influence paths
Performance Tips
- Limit max_hops for large graphs
- Use time windows to focus on recent activity
- Multiple seeds for efficiency vs running multiple queries
- Early termination: Algorithm stops when no new nodes found
See Also
- Temporal 3-Node Motifs - Temporal pattern detection