Skip to main content

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:

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.