Chapter 9. Graph RAG
Graph RAG extends basic retrieval with graph traversal, which lets you move through networks of entities and relationships instead of relying only on semantic similarity of isolated text embeddings.
Basic RAG systems split documents into chunks, embed them, and rely on vector search to surface relevant content. Vector search treats each chunk as an isolated unit, with no awareness of how pieces connect across a broader narrative. When information is spread across multiple parts of long documents or requires data from multiple sources, this approach misses relevant context. Dependencies, references, and relationships across sections get lost.
Graph RAG closes this gap. Instead of storing text only as embeddings, it extracts entities, forms explicit relationships between them, and combines this graph structure with the vector index. This produces context that is richer and more precise, and preserves explicit connections between entities.
Figure 9-1 uses contract document data to illustrate the difference between basic RAG and graph RAG. In a basic RAG setup, the system maintains a pool of isolated embedding vectors. In graph RAG, every text snippet is anchored to its surrounding structure. Each clause is linked to its clause type, its company, its address, and the service-level agreement (SLA) it originates from. This structural context helps the model not only find relevant text but also truly understand where it belongs.
Figure 9-1. Graph RAG versus classic ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access