pub struct TraversalResponse {
pub nodes: Vec<NodeView>,
pub edges: Vec<EdgeRef>,
pub seeds: Vec<NodeKey>,
pub truncated: Option<TruncationReason>,
pub revision: GraphRevision,
pub consistent_snapshot: bool,
}Expand description
Traversal / neighborhood response.
Fields§
§nodes: Vec<NodeView>§edges: Vec<EdgeRef>§seeds: Vec<NodeKey>The seeds the walk actually started from: the requested keys, deduped, and with the ones the caller may not see removed.
A caller cannot derive this from the request. Denied and unknown seeds are indistinguishable by contract, and both are simply absent, so a traversal from five keys that answers about three is otherwise silent about which three — and “seeds always survive truncation” is a promise with nothing to check it against.
truncated: Option<TruncationReason>§revision: GraphRevision§consistent_snapshot: boolWhether every arm of this read observed one graph state.
The contract asks for a repeatable-read snapshot across seed
resolution, every hop and hydration. A store that cannot hold one
declares StoreCapabilities::snapshots = false, and the service then
brackets the walk with a revision read: unchanged means nothing
committed while it ran and the answer is as good as a snapshot, while
a moved revision means the arms may not agree with each other.
Said out loud because the alternative is a revision field that names
a state the response never existed at, which no consumer can detect
and every revision-keyed cache would trust.