neighborhood

open override fun neighborhood(entityId: String, depth: Int): GraphNeighborhood

The entity neighbourhood reachable from entityId within depth hops.

Return

the neighbourhood; an empty neighbourhood by default

Parameters

entityId

the opaque entity identifier to centre the neighbourhood on

depth

maximum hop distance (1 = directly connected entities)


open override fun neighborhood(entityId: String, depth: Int, contextId: <Error class: unknown class>?): GraphNeighborhood

Native entity neighbourhood: GraphProjectionCypher.neighborhood walks the entity projection in Neo4j and hands back each reachable entity, its shortest hop distance, and the proposition ids on a shortest final hop into it. We only hydrate those via propositions (via the lean view) — the traversal itself never leaves the database. A non-null contextId confines the walk to that context (every hop's proposition must match); null is unscoped. Called directly (bypassing the facade's own ceiling), this bounds the walk at GraphProjectionCypher.MAX_DEPTH.


open override fun neighborhood(entityId: String, depth: Int, contextId: <Error class: unknown class>?, maxDepth: Int): GraphNeighborhood

Same walk as above, but bounded by the caller's own maxDepth ceiling instead of the store's hard cap — this is the overload com.embabel.dice.query.graph.GraphQuery actually calls, so a facade configured with a smaller (or larger) ceiling than GraphProjectionCypher.MAX_DEPTH gets a walk that honors it, clamped at that hard cap.