Vector RAG answers "sales in France" by similarity. Structured RAG links your city column to country table in wikipedia, so the question becomes a SQL join you can read.
The same question, at four levels of retrieval. Only the last one lets you check the answer.
| On structured data | Vector RAG | Structured RAG |
|---|---|---|
| How a string column is used | Embedded into a vector | Linked to a reference table by key |
| Retrieval mechanism | Nearest neighbor similarity | SQL join |
| "Kehl" (German town near Strasbourg) | Can be included | Excluded by the join |
| Why a row was returned | A similarity score | The join, in the SQL |
| Your private reference tables | Re-embedded | Joined by key |
| What computes the total | The LLM | The database |
Prereasoner identifies what each column holds.
city → country → currency, or tier → your tier table. Each link is a key in a reference table.
The question becomes a SQL join across those tables.
You get the rows and the SQL that returned them.
Try it on your own CSV. Add your reference tables when you need them.