Introduction
To understand knowledge graphs, you first need to grasp three core concepts: entities, relations, and triples. Imagine a knowledge graph as a network that models the real world using nodes and connections. In this network, an entity is any distinct thing or object such as a person, city, or company. For example, “Sreeni”, “Plano”, and “Caterpillar” are all entities.
A relation describes how two entities are connected, such as “lives_in”, “works_at”, or “located_in”. Relations give meaning to the links between entities by defining how one entity is associated with another.
A triple is a simple statement that combines two entities and a relation, forming a fact: for instance, (“Sreeni”, “lives_in”, “Plano”) says that Sreeni lives in Plano. Triples are the building blocks of knowledge graphs, allowing you to represent complex information as a set of simple, connected facts.
Let's be real for a second. When most people first hear about RAG Retrieval Augmented Generation they picture a smarter Google. You ask a question, it digs into your documents, grabs the relevant bits, and hands them to the AI. Simple enough, right?
But here's where things get interesting. Traditional RAG, as clever as it is, has a dirty secret it's essentially still doing fancy search. It finds you the right paragraphs but it doesn't understand how those paragraphs connect to each other. And that gap? That's exactly the problem GraphRAG was built to solve.
In this post, I'll walk through what GraphRAG actually is, demystify the concept of Triples what they are, and what makes them up (Entities and Predicates) and explain why this shift matters more than you might think.
1. What Traditional RAG Gets Right (And Where It Falls Short)
Before we can appreciate GraphRAG, we need to give credit where it's due. Standard RAG is genuinely useful. It takes your documents, chops them into chunks, converts those chunks into dense mathematical vectors that capture semantic meaning, and stores them in a vector database.
When you ask a question, RAG converts your query into the same kind of vector and finds the chunks that are most semantically similar. Not keyword matching actual meaning based retrieval. That's a genuine improvement over older systems.
So what's the problem?
Standard RAG has two core limitations that often get overlooked.
First, it breaks everything into chunks and then treats each chunk like it lives in its own world. Once the documents are split and embedded, the natural flow between sentences, paragraphs, and even documents is lost. So when a query comes in, the system just pulls the closest matching text, without really understanding how that piece fits into the bigger context.
Second, it doesn’t really think across sources. If the answer requires combining ideas from multiple documents or stepping back to understand something at a dataset level like “what patterns are emerging overall?” standard RAG struggles. It’s good at finding relevant snippets, but it doesn’t actually stitch them together into a unified understanding.
The limitation isn't in how RAG retrieves text it's in what it retrieves. Each chunk is scored and ranked completely independently. The system has no memory of how chunks relate to one another. It hands the AI a flat pile of relevant ish fragments and says: "Good luck, figure it out."
This works fine for simple questions with answers neatly contained in one place (chunk) . But real world knowledge is rarely that tidy.
2. The Building Blocks of GraphRAG: Triples, Entities, Relationships, and Predicates
Before we get into how GraphRAG works, we need to speak the same language. Three terms come up constantly, and understanding them properly is everything.
📌 DEFINITION:Entity
An Entity is any real world thing, concept, or actor that can be distinctly identified and named. Think of it as a noun with identity. An entity could be a person ("Satya Nadella"), an organization ("OpenAI"), a location ("San Francisco"), a product ("GPT4"), or even an abstract concept ("neural network"). In graph terms, entities become the nodes the dots on the map.
📌 DEFINITION:Relationship
A Relationship describes how two entities are connected. It's the verb between two nouns. Relationships are directional and labelled they carry meaning. Examples: "Elon Musk FOUNDED Tesla," "Tesla MANUFACTURES electric vehicles," "electric vehicles REDUCE carbon emissions." In graph terms, relationships become the edges the lines connecting the dots.
📌 DEFINITION:Triple
A Triple is the atomic unit of knowledge in a graph. It's a three part statement in the form: Subject → Predicate → Object. The middle element is specifically called a Predicate (not just a "relationship") this is the precise term from RDF and knowledge graph standards. For example: ("OpenAI" → "developed" → "GPT4"). One triple = one fact. The entire knowledge graph is built by stacking thousands (or millions) of these triples together. Every fact in the graph can ultimately be expressed as a triple.
Here's a quick example to make it concrete. Imagine you have three documents one about OpenAI, one about GPT4, and one about AI safety research. Traditional RAG would return chunks from each. GraphRAG instead, might extract:
- OpenAI → developed → GPT4
- GPT-4 → is used in → AI safety research
- OpenAI → prioritizes → AI safety
Now when you ask "How is OpenAI connected to AI safety research?" the system doesn't just retrieve similar chunks it traverses the graph, following the path OpenAI → GPT4 → AI safety research. That's not search. That's reasoning.
3. How GraphRAG Actually Works
So how does GraphRAG build this graph in the first place? It's a multi stage process that transforms your raw documents into a structured knowledge network.
Step 1: Entity and Relation Extraction
GraphRAG runs your documents through a language model specifically tasked with extracting entities and relations. Every sentence is scanned for who or what is being talked about (entities), and how those things relate to each other (relations). Each extracted (head entity, relation, tail entity) combination becomes a triple the structured facts that populate the knowledge graph.
Step 2: Building the Knowledge Graph
Those extracted triples are assembled into a graph structure. Entities from different documents get merged when they refer to the same thing (e.g., "Musk" and "Elon Musk" resolve to the same node). The result is a web of connected knowledge that spans your entire document collection not siloed chunks, but one unified structure.
Step 3: Community Detection and Summarization (at Index Time)
GraphRAG goes a step further. It runs the Leiden algorithm a community detection algorithm optimized for large graphs over the knowledge graph, identifying clusters of tightly connected entities. Crucially, each cluster gets a community summary pre-generated at index time, not at query time. This is a high level synthesis of what that region of the graph is about, stored and ready to use. This pre-generation is what makes dataset-level queries fast and possible.
Step 4: Two Query Modes Local Search and Global Search
When you ask a question, GraphRAG doesn't just find similar chunks. It operates in one of two distinct modes depending on the nature of your question:
- Local Search: For specific, entity level questions (e.g. "Tell me about OpenAI's work on safety"), GraphRAG identifies the relevant entities in your query, locates them in the graph, and traverses the edges following the connections to build a structured, multi-hop answer.
- Global Search: For broad, dataset level questions (e.g. "What are the main themes across all these documents?"), GraphRAG queries the pre-generated community summaries to synthesize a holistic answer that spans the entire document collection something impossible with standard RAG.
This two mode architecture is what makes GraphRAG genuinely versatile: precise for targeted questions, and panoramic for big picture synthesis
4. Two Limitations GraphRAG Actually Solves
1. Loss of Structure and Relational Context
In standard RAG, splitting documents into chunks discards the original structure. The system identifies which chunks are individually similar to your query but has no mechanism to reason about how the retrieved chunks relate to each other.
GraphRAG fixes this by preserving structure explicitly. Relationships between entities aren't inferred at query time they're encoded in the graph itself, as edges. When two pieces of information are retrieved, the system already knows if and how they connect.
2. No Cross Document Reasoning or Synthesis
Standard RAG struggles badly with questions that require synthesizing information across many documents. Queries like:
- "What are the main themes across all these research reports?"
- "How do different teams describe the same product issue?"
- "What patterns appear across three years of customer feedback?"
...are essentially unanswerable with traditional RAG. It surfaces individually relevant chunks, but can't link, aggregate, or synthesize them into a coherent whole.
GraphRAG addresses this through community summaries and graph traversal. It can build a global understanding of the dataset and answer questions about patterns, themes, and relationships that no single chunk contains.
5. Standard RAG vs. GraphRAG
6. When Should You Actually Use GraphRAG?
GraphRAG isn't a universal upgrade. It's more complex to build, more expensive to maintain, and slower to query than standard RAG. So when is the tradeoff worth it?
Use GraphRAG when:
- Your questions require multi hop reasoning across connected facts
- You're working with a large, interconnected document corpus
- You need dataset level insights (themes, patterns, comparisons)
- Relationships between entities are central to your use case
- Accuracy matters more than speed
Stick with standard RAG when:
- Questions are direct and answers live in a single place
- Your dataset is small or well-organized
- You need fast, low-latency responses at scale
- The complexity of building a knowledge graph isn't justified
- Budget is a concern GraphRAG requires LLM calls during indexing to extract entities and relations, making setup significantly more expensive than standard RAG
7. The Bigger Picture
Here's the thing worth remembering. Standard RAG made AI systems smarter by grounding them in your actual documents rather than relying solely on training data. That was a genuine step forward.
GraphRAG takes the next step it doesn't just ground AI in your documents it helps AI understand the structure of knowledge within those documents. The difference between "find me relevant text" and "reason over connected information" is the difference between a really good search engine and something that begins to resemble genuine understanding.
Triples Entities connected by Relations aren't just technical jargon. They're the vocabulary your AI system uses to model the world the same way humans naturally think in terms of things, connections, and facts. GraphRAG is, in a sense, teaching machines to think a little more like we do.
The shift from Standard RAG to GraphRAG is the shift from intelligent search to structured reasoning. And that, ultimately, is the upgrade worth understanding.
Quick Reference: Key Terms
Thanks
Sreeni Ramadorai





Top comments (0)