graph
neighbors
List a node's neighbors.
strata graph neighborsdb.graphs.neighbors(graph: 'str', node_id: 'str', *, direction: 'str' = 'outgoing', edge_type: 'Optional[str]' = None, limit: 'Optional[int]' = None, cursor: 'Optional[Any]' = None, as_of: 'Optional[int]' = None, as_of_time: 'Optional[TimeLike]' = None) -> 'Page'wire graph_neighbors
Walks a node's edges and returns one hit per traversed edge. Direction is `outgoing`, `incoming`, or `both`; an optional edge-type filter restricts the walk. Each hit embeds both the traversed edge and the neighbor node in full, so a follow-up read is rarely needed. A missing node yields an empty page.
Paginated responses use opaque cursors. Clients should pass the returned cursor back to the same command shape and must not parse cursor contents.
To see the complete help for this command, run:
strata graph neighbors --helphelp(db.graphs.neighbors)
Example
Find a node's neighbors along outgoing edges.
strata graph create socialstrata graph add-node social alicestrata graph add-node social bobstrata graph add-edge social alice knows bobstrata graph neighbors social alice --direction outgoing
_ = db.graphs.create("social")_ = db.graphs.add_node("social", "alice")_ = db.graphs.add_node("social", "bob")_ = db.graphs.add_edge("social", "alice", "knows", "bob")[n.node_id for n in db.graphs.neighbors("social", "alice", direction="outgoing")]
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| direction | GraphDirection | yes | Traversal direction.one of: outgoing, incoming, both |
| graph | string | yes | Graph name. |
| node_id | string | yes | Node id. |
| as_of | integer or null | no | Read as of a position on the logical commit timeline - the `timestamp` from `history` output, not the `version`, and never a calendar date. Reads the graph state visible at that timeline position. To read as of a real time, use `as_of_time` instead. |
| as_of_time | integer or null | no | Read as of a real time: a wall-clock instant in microseconds since the Unix epoch (UTC), as reported by `committed_at` on a write ack or on any `history` row. Resolves to the commit at or before that instant, and fails rather than guessing if the instant falls outside the branch's recorded history. Mutually exclusive with `as_of`. |
| branch | string or null | no | Target branch. Defaults to the executor handle branch. |
| cursor | string or null | no | Optional exclusive cursor. |
| edge_type | string or null | no | Optional edge type filter. |
| limit | integer or null | no | Optional item limit. Defaults to 100. |
| space | string or null | no | Target product space. Defaults to `"default"`. |
Returns
Page<GraphNeighborHit, String>
- dataobject
Shared pagination continuation facts.
- typestring
Errors
Recover by code. Retry policy and commit outcome come from the shipped error registry.
| Code | Retry | Commit outcome |
|---|---|---|
| failed_precondition.engine.runtime_closed | never | not_started |
| not_found.engine.branch | never | not_applicable |
| invalid_argument.engine.product_space | never | not_started |
| invalid_argument.engine.graph_name | never | not_started |
| not_found.engine.graph | never | not_applicable |
| invalid_argument.engine.graph_node_id | never | not_started |
| invalid_argument.engine.graph_edge_type | never | not_started |