agrag.retrieval.retrievers.bfs.BFSRetriever
BFSRetriever(*, graph_store:GraphStore, settings:RetrievalSettings | None = None, tracer:Tracer | None = None) -> None
Bases: Retriever
Graph traversal from seed entity ids.
Takes seed entity ids (from a prior EntityRetriever call, or supplied directly), runs bfs_expand_query, and loads the returned entities and relations directly. Degree-capped by RetrievalSettings.traversal_limit.
Functions:
- retrieve – Run BFS expansion from seed entity ids.
Attributes:
- name –
Parameters:
- graph_store (
GraphStore) – The graph store to traverse. - settings (
RetrievalSettings | None) – Retrieval configuration. Defaults from environment. - tracer (
Tracer | None) – Opens spans for the retriever and its children. None opens no recorded span.
name
name = 'bfs'
retrieve
retrieve(query:str, *, filters:SearchFilters | None = None, limit:int | None = None, seed_ids:list[UUID] | None = None, depth:int | None = None, direction:TraversalDirection = 'both') -> list[SearchResult]
Run BFS expansion from seed entity ids.
Parameters:
- query (
str) – The natural-language query text (unused for BFS, kept for interface consistency). - filters (
SearchFilters | None) – Constraints applied to traversal. relation_types restrict which relationships the traversal crosses; property filters, document_ids, and labels restrict returned neighbor nodes. - limit (
int | None) – Maximum results. None uses traversal_limit. - seed_ids (
list[UUID] | None) – The entity ids to expand from. If None, BFS returns empty. - depth (
int | None) – BFS hops. None uses RetrievalSettings.traversal_depth. - direction (
TraversalDirection) – Which way a hop walks each relationship, relative to the seed entity. Defaults to"both".
Returns:
list[SearchResult]– SearchResults with entities and relations found via BFS.