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.
Input
Class
Literal
IRI Config
http://graph.build/ontology/
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.
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.
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
v14
Transformers
Execute the mappings against SQL, APIs, Kafka and files. Resolve identity, quarantine what does not fit.
outputs · resolved records
batches + cdc
Writers
Emit your database's native load in insert or update mode, and keep it current through CDC.
outputs · your graph database
Ontology
Writers
MCP on the Studio Node: an assistant reads the published ontology, read-only, with no source credentials handed to the model
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.
- 45 minutes, your data
- Keep your vector database
- Any of the supported graph databases