neighborhood
The entity neighbourhood reachable from entityId within depth hops.
Return
the neighbourhood; an empty neighbourhood by default
Parameters
the opaque entity identifier to centre the neighbourhood on
maximum hop distance (1 = directly connected entities)
The entity neighbourhood reachable from entityId, confined to contextId (a null context is unscoped — exactly the plain neighborhood overload).
The facade routes a context-bound query here only when honorsContextFilter is true; the default body delegates to the unscoped overload, so a backend that hasn't opted in never sees a non-null context here (a check guards that invariant). A null context always delegates.
Parameters
the context to confine the walk to; null keeps it unscoped
Same as the context-scoped overload above, but also carries the caller's own depth ceiling (maxDepth) so a backend that enforces its own hard cap on the walk can clamp against the caller's ceiling instead of a value it hardcodes itself. The facade always calls this overload (passing its own configured maxDepth) rather than the three-arg one, so a store that only overrides the three-arg overload keeps working unchanged — it just never sees the caller's ceiling and falls back to whatever bound it enforces on its own.
Parameters
the caller's own depth ceiling; a backend combines this with its own hard cap (e.g. min(maxDepth, ownHardCap)) rather than trusting it blindly
The entity neighbourhood reachable from entityId, keeping only edges whose source authority is at least minAuthority (a null floor keeps everything).
The facade only calls this when honorsAuthorityFilter is true. A backend that opts in by setting that flag MUST override this overload — the default body throws rather than silently returning unfiltered results, which would let a backend claim to honor the floor and then drop it on the floor.
Parameters
weakest source authority to keep; null keeps all edges
Same as the authority-aware overload above, but also carries the caller's own depth ceiling (maxDepth), for the same reason as the context-aware maxDepth-carrying overload.