---
title: GraphRAG — retrieval over a graph you can defend
description: Vector search finds things that read alike. A graph finds things that are related, and can show you why, which is what an auditable answer needs.
---

[Skip to content](https://graph.build/graphrag#main)

[![graph.build](https://graph.build/hubfs/raw_assets/public/graphbuild-theme/images/logo-secondary-reverse.svg)](https://graph.build/)

Menu

- Platform
- AI context
  
  [Context for AI](https://graph.build/ai-context) [Semantic layer](https://graph.build/semantic-layer) [GraphRAG](https://graph.build/graphrag) [MCP & agent access](https://graph.build/mcp) [Ontologies explained](https://graph.build/resources/ontology)
- Resources
  
  [Blog](https://graph.build/blog) [Graph fundamentals](https://graph.build/resources) [Documentation](https://graph.build/documentation)
- Company
  
  [About us](https://graph.build/about) [Consulting](https://graph.build/consulting-services) [Contact](https://graph.build/contact)

[Book a demo](https://graph.build/enquire/book-a-demo)

Model

[Studio](https://graph.build/graph-build-studio) [Visual graph modelling](https://graph.build/graph-modelling-tool) [Ontologies & vocabularies](https://graph.build/platform-architecture#ontology)

Transform

[Transformers](https://graph.build/graph-build-transformers) [Knowledge graph ETL](https://graph.build/knowledge-graph-etl) [Change data capture](https://graph.build/graph-build-transformers#cdc)

Write

[Writers](https://graph.build/graph-build-writer) [Database compatibility](https://graph.build/graph-databases) [Deployment](https://graph.build/platform-architecture#deployment)

You are here

[The graph engineering lifecycle](https://graph.build/knowledge-graph-building)

Design, configure, engineer, iterate and automate graph model production: the whole lifecycle, without writing bespoke ingest code for each project.

Model

[Studio](https://graph.build/graph-build-studio) [Visual graph modelling](https://graph.build/graph-modelling-tool) [Ontologies & vocabularies](https://graph.build/platform-architecture#ontology)

Transform

[Transformers](https://graph.build/graph-build-transformers) [Knowledge graph ETL](https://graph.build/knowledge-graph-etl) [Change data capture](https://graph.build/graph-build-transformers#cdc)

Write

[Writers](https://graph.build/graph-build-writer) [Database compatibility](https://graph.build/graph-databases) [Deployment](https://graph.build/platform-architecture#deployment)

AI context

[Context for AI](https://graph.build/ai-context) [Semantic layer](https://graph.build/semantic-layer) [GraphRAG](https://graph.build/graphrag) [MCP & agent access](https://graph.build/mcp) [Ontologies explained](https://graph.build/resources/ontology)

Resources

[Blog](https://graph.build/blog) [Graph fundamentals](https://graph.build/resources) [Documentation](https://graph.build/documentation)

Company

[About us](https://graph.build/about) [Consulting](https://graph.build/consulting-services) [Contact](https://graph.build/contact) 

[Book a demo](https://graph.build/enquire/book-a-demo)

GraphRAG

# The hard part of GraphRAG is the graph

Retrieving over a knowledge graph beats retrieving over chunks, and that argument is settled. The open question is where the graph comes from, because a graph an LLM extracted from your documents carries every mistake the extraction made. graph.build builds it from your systems instead.

[Book a demo](https://graph.build/enquire/book-a-demo) [Read the wider argument](https://graph.build/ai-context)

 Input  Hierarchy  Vocabulary supply-chain.ontology · Ontology Model Designer

Input

Class

Literal

---

IRI Config

http://graph.build/ontology/

hasPart hasLegalName hasDuns hasDescription hasLeadTime Supplier Part string string string integer supply-chain.ontology · 2 classes · 5 predicates

Publish

supply-chain.ontology

Name supply-chain

Access Private

Latest 2026-08-13 11:19

Version v14

 publish to inform or restrict  
the creation of other models

The question nobody asks

## Two graphs, and only one of them is evidence

Both are called a knowledge graph. Only one can be traced back to a system of record.

extraction vs mapping

### Extracted, or mapped

An extracted graph is produced by asking a model to read your documents and name the entities. It is fast to stand up and it is a second interpretation layered on the first. The nodes are the model's opinion of what your documents said. A mapped graph is produced by pointing Transformers at the systems themselves: SQL, APIs, Kafka, files. Each node exists because a row did. We do read documents too, with the Document Transformer, and it is aimed at an ontology you published rather than left to invent one. That settles the vocabulary. It does not turn a paragraph into a row.

The consequence: when the answer is challenged, one graph leads back to a source table and a run identifier, and the other leads back to a prompt.

studio · entity · Supplier · v14

gbo:Supplier/213847561 hasLegalName Northgate Ltd

gbo:Supplier/213847561 rdf:type gbo:Supplier

gbo:Supplier/213847561 hasPart gbo:Part/HX-8841

gbo:Part/HX-8841 hasLeadTime 14 (integer)

n-triples 8 emitted, validated against supply-chain.ontology all passed  
 unmapped: 0 · quarantined rows keep their reason

Honest comparison

## What each kind of retrieval is actually good at

This is not a table where one column wins. Vector search over text is very good at the thing it does, and a system that needs both should run both. The mistake is expecting either to do the other's job.

Question type Vector search Extracted graph Modelled graph

Find passages on a topic Included – Not included – Not included

Answer from prose nobody has structured Included Included – Not included

Resolve one entity across systems – Not included – Not included Included

Traverse relationships more than one hop – Not included Included Included

Cite the source system and the run – Not included – Not included Included

Enforce a definition the business agreed – Not included – Not included Included

Stay current as sources change – Not included – Not included Included

run both · vector for the prose, the graph for the facts

How it is built

## Studio authors it. Transformers run it. Writers land it.

The same three moves the rest of the platform is made of. Nothing about GraphRAG needs a separate pipeline. The graph your analysts query and the graph your agents retrieve from are one graph.

### Studio

Authors the model and the mapping files, validates them, publishes a version.

outputs · model + .map

 publishes  
v14

### Transformers

Execute the mappings against SQL, APIs, Kafka and files. Resolve identity, quarantine what does not fit.

outputs · resolved records

 hands off  
batches + cdc

### Writers

Emit your database's native load in insert or update mode, and keep it current through CDC.

outputs · your graph database

Serving path 16:9

Sources Build Store Consume

Kafka & Files

SQL

RESTful endpoints

graph.build Transformers  
Ontology  
Writers

Your graph database SPARQL · Gremlin · Cypher

Agent any model, any framework 

MCP

MCP on the Studio Node: an assistant reads the published ontology, read-only, with no source credentials handed to the model

FAQ

## What people ask about GraphRAG

Ask us something else

Do we have to replace our vector database?

No, and you should not. Vector search finds passages that resemble a question; graph retrieval returns entities, how they relate, and where each came from. They answer different questions. What a vector index cannot give you is a definition.

Can you extract a graph from our documents?

Yes, with the Document Transformer, which reads DOCX and PDF using an LLM. What separates it from generic extraction is that it works against an ontology you have already published, so the model is looking for your classes and properties in the text rather than deciding what they ought to be. That settles the vocabulary, and it is the part that usually goes wrong. It does not turn a paragraph into a row, so a node that came from a document is a reading of a document and worth checking like one. Most of a graph should still come from the systems that hold the facts: SQL, REST APIs, Kafka, and CSV, JSON, XML, XLSX and ODS files.

Which graph database does GraphRAG need?

Any database that speaks SPARQL, Gremlin or openCypher. The retrieval pattern does not depend on the vendor, and neither does the model, which means you can benchmark two of them on your own graph before committing.

How does the agent query it?

Against your graph database, in the dialect it speaks, under the access control you already run there. Studio also publishes a read-only MCP server that lets an assistant read the ontology, so it can work out what to ask for before it asks.

How current is the retrieved context?

As current as change data capture makes it. Debezium-compatible sources, including SQL databases, MongoDB and Cassandra, apply inserts, updates and deletes continuously, with provenance carried through. There is no re-embedding job to fall behind.

## Try it against a question your RAG stack gets wrong

Pick a question that turns on an entity appearing in more than one system. We will model that corner and show you both answers.

[Book a demo](https://graph.build/enquire/book-a-demo) [Talk to us](https://graph.build/contact)

- 45 minutes, your data
- Keep your vector database
- Any of the supported graph databases

Platform

[Studio](https://graph.build/graph-build-studio) [Transformers](https://graph.build/graph-build-transformers) [Writers](https://graph.build/graph-build-writer) [Database compatibility](https://graph.build/graph-databases) [Platform architecture](https://graph.build/platform-architecture)

AI context

[Context for AI](https://graph.build/ai-context) [Semantic layer](https://graph.build/semantic-layer) [GraphRAG](https://graph.build/graphrag) [MCP & agent access](https://graph.build/mcp) [Ontologies explained](https://graph.build/resources/ontology)

Resources

[Blog](https://graph.build/blog) [Graph fundamentals](https://graph.build/resources) [Choosing a graph database](https://graph.build/graph-databases) [How to build a knowledge graph](https://graph.build/knowledge-graph-building) [Documentation](https://graph.build/documentation)

Company

[About us](https://graph.build/about) [Consulting](https://graph.build/consulting-services) [Contact](https://graph.build/contact)

Legal

[Privacy policy](https://graph.build/privacy-policy)

Get in touch

No newsletter. If you want to talk about a model, or want to be kept posted, the contact form is the way in.

[Contact us](https://graph.build/contact)

- <https://www.linkedin.com/company/graphbuild>

 © 2026 Graph.Build · A trading name of Data Lens Labs Ltd, registered in England & Wales, company number 12483318 

[![graph.build](https://graph.build/hubfs/raw_assets/public/graphbuild-theme/images/logo-secondary-reverse.svg)](https://graph.build/)