Meet D.A.V.E.: The Graph-Grounded, Context Aware AI Data Analyst
Your answers are scattered across a sales database, a pile of spreadsheets, PDFs full of contracts and years of email — and getting one usually means pinging an analyst and waiting days. D.A.V.E. removes the wait: connect your sources once.
- Data teams spend up to 80% of their time finding and cleaning data, and everyone else waits in the analyst queue. D.A.V.E. collapses that into a plain-English question answered in seconds — no SQL, no table names, no ticket.
- D.A.V.E. is a natural-language-to-SQL agent, but with a crucial difference: it is grounded in a Neo4j knowledge graph of your schema, so it finds real, declared join paths instead of guessing from column-name similarity — the exact failure that makes most text-to-SQL break in production.
- It has two memory layers: session memory for natural follow-ups, and a bi-temporal knowledge graph for long-term facts — so "top client last quarter" and "top client now" stay two correctly-timestamped facts, not one silently overwriting the other.
- One Profile federates databases, spreadsheets, email and documents; D.A.V.E. runs a single query across structured sources and hybrid retrieval over documents, then composes one coherent answer.
- It gets faster and cheaper the more it is used (semantic query cache + prompt caching), and it is safe by construction — read-only, scoped, capped, injection-screened — enforced at the query layer, not merely asked of the model.
- The bottleneck: why one simple question takes days
- What D.A.V.E. actually is
- How D.A.V.E. works, step by step
- Why the knowledge graph is the real breakthrough
- A memory that knows when a fact was true
- One answer across databases, spreadsheets and documents
- Faster and cheaper the more you use it
- Safe by construction, not by good behaviour
- The stack, for the curious
- Glossary of key terms
The bottleneck: why one simple question takes days
Every company's data lives in a mess of different places: a sales database here, a pile of Excel reports there, PDFs full of contracts, and years of email threads no one has time to re-read. Getting a straight answer usually means pinging a data analyst, waiting days, and hoping they interpreted the question the way you meant it.
The cost of that pattern is not abstract. Data professionals routinely spend around 80% of their time finding, cleaning and organising data, leaving only a fifth for the analysis anyone actually asked for — and nearly two-thirds depend on someone else to complete a step of the process. Across the wider workforce, McKinsey finds employees lose on the order of nine hours a week each searching for and gathering information. Put bluntly: the question is easy; reaching the answer is the expensive part.
D.A.V.E. is built to remove that wait. Connect your data sources once into a single Profile — one workspace that knows about everything you have given it access to — and from then on you simply ask questions in simple English. D.A.V.E. figures out where the answer lives and brings it back, usually in seconds.
What D.A.V.E. actually is
Under the hood, D.A.V.E. is a natural-language-to-SQL agent built on Agno — a Python multi-agent orchestration framework — running on Anthropic's Claude models via AWS Bedrock. Everything described below is real, working architecture, not a roadmap slide. The point of walking through it is that the interesting part of an AI data analyst is not the language model that writes the SQL; it is everything that makes the SQL correct, remembered, complete and safe.
That distinction matters because of a hard, well-documented truth about this category. On clean academic benchmarks, text-to-SQL looks close to solved — leading systems score around 90% on the classic Spider benchmark. But when researchers rebuilt the test around real enterprise conditions — large schemas with hundreds or thousands of columns, cryptic abbreviations and multi-step queries — accuracy fell off a cliff, to roughly 21% on Spider 2.0. The reason is almost always the same: the model cannot reliably work out which tables relate to which, and how to join them. D.A.V.E.'s architecture is a direct answer to that problem.
In one line: D.A.V.E. is an AI analyst built on a graph-grounded understanding of your data and a temporal memory of your business — it answers questions across your databases, spreadsheets and documents in the time it takes to ask, and gets faster the more you use it.
How D.A.V.E. works, step by step
Why the knowledge graph is the real breakthrough
This is the engineering choice that separates a demo from a dependable analyst. Instead of embedding your schema as flat text and retrieving tables by similarity, D.A.V.E. maintains a Neo4j graph of your tables and columns, with typed relationships — foreign keys and join paths — as explicit edges between them.
When a question needs data from more than one table, D.A.V.E. runs a graph traversal — a shortest-path query across JOINS_WITH edges — to find the correct join path. This is a GraphRAG pattern, where retrieval is grounded in an actual relationship graph rather than similarity search alone. It matters because column-name similarity can lie: a customer_id in two unrelated tables looks joinable to a similarity model and produces a plausible, wrong answer. A graph traversal only returns real, declared relationships, so the join logic is structurally correct, not guessed.
Framed against the text-to-SQL "performance cliff", this is precisely the gap D.A.V.E. is engineered to close. The enterprise queries that break similarity-based tools are the ones that require correct multi-table joins across large, messy schemas. Grounding retrieval in a relationship graph is how D.A.V.E. keeps join logic trustworthy where flat-text approaches fall apart.
A memory that knows when a fact was true
D.A.V.E. has two distinct memory layers, and the split is deliberate.
Session memory (PostgreSQL-backed) keeps a conversation coherent. Within a chat, D.A.V.E. retains recent turns plus a rolling, AI-generated summary of everything earlier, so a follow-up like "now just the West region" works without you restating context — and without replaying every past SQL result (some of them huge) on every call.
Long-term memory is where it gets genuinely interesting. It is built on Graphiti, a temporal knowledge graph that stores facts bi-temporally: every fact carries both a valid time (when it was true in the real world) and a transaction time (when D.A.V.E. learned it). When something changes, Graphiti does not overwrite the old fact — it invalidates and supersedes it, keeping the historical record intact.
Ordinary chatbots remember the conversation. D.A.V.E. remembers your business — and, crucially, when each fact was true — so history stays accurate even as the present changes.
One answer across databases, spreadsheets and documents
A Profile can span a live database, uploaded spreadsheets and email records — and D.A.V.E. runs a single federated query across all of them. Structured sources are joined together in memory at query time, regardless of which system they physically live in, so you are not manually exporting and reconciling data before you can ask a question.
Documents such as PDFs sit in a separate hybrid retrieval layer that fuses vector similarity with keyword search. D.A.V.E. calls both retrieval paths in the same turn and composes one coherent answer, so structured facts and document context show up together in the response — even though they are retrieved through two different mechanisms. In practice, that means a question can pull a figure from your database and the clause that explains it from a contract, in a single reply.
Faster and cheaper the more you use it
Two independent efficiency layers stack here, and both compound with adoption.
The semantic query cache embeds validated question-to-SQL pairs and stores them. A new question that is semantically close to one D.A.V.E. has already answered correctly is matched by vector similarity, letting it reuse a proven query pattern instead of generating one from scratch — cutting both latency and model cost as usage grows.
Prompt caching (via AWS Bedrock) caches D.A.V.E.'s system instructions at the model level, so the "who D.A.V.E. is and how it should behave" portion of every request is not re-processed — or re-billed at full price — on every single call. Only the parts of the prompt that genuinely change per question are.
Safe by construction, not by good behaviour
Rather than relying on the model to "behave", D.A.V.E. enforces safety where it counts — at the query-execution layer. Every generated SQL statement is parsed and validated before it runs:
- only read-only SELECT statements are permitted — no DROP, DELETE, UPDATE or DDL of any kind;
- queries are restricted to the exact tables in your Profile;
- result sets are automatically capped, so nothing runs away.
Conversational input also passes through a prompt-injection screening layer on the standard chat path. The design principle is simple and important: safety is a structural query-execution control, not a request to the model to be careful. That is what makes it defensible to point an autonomous analyst at real business data.
Why this matters for the business
- Speed. Questions that used to take an analyst hours or days get answered in seconds, by the person who actually needs the answer.
- No clean-data prerequisite. D.A.V.E. is built for the messy reality of real business data — relational databases, spreadsheets, documents and email, all under one Profile.
- Compounding efficiency. Semantic caching and prompt caching mean D.A.V.E. gets faster and cheaper to run as adoption grows, not slower.
- Temporally aware. Its long-term memory does not just remember facts, it remembers when they were true — so historical questions stay accurate even as the business changes.
- Safe by construction. Access control and query safety are enforced structurally — read-only, scoped, capped — not left to model judgment alone.
- Zero learning curve. If you can type a question, you can use D.A.V.E.
The stack, for the curious
| Layer | Technology | What it does |
|---|---|---|
| Agent framework | Agno | Python multi-agent orchestration that coordinates D.A.V.E.'s reasoning and tools |
| Reasoning + prompt caching | Anthropic Claude on AWS Bedrock | Translates questions to SQL and composes answers; caches system instructions at the model level |
| Schema knowledge graph | Neo4j (GraphRAG) | Stores tables, columns and typed join relationships; traversal finds correct join paths |
| Temporal long-term memory | Graphiti | Bi-temporal knowledge graph that keeps facts valid- and transaction-timestamped |
| Session memory, caching & retrieval | PostgreSQL + pgvector | Conversation memory, semantic query cache, and document (vector) retrieval |
Where D.A.V.E. fits in DeepRoot
D.A.V.E. is the conversational analyst layer of Innoflexion's DeepRoot platform — the same platform that provides orchestration, connectors, an agentic workbench and a secure walled-garden environment for enterprise AI. That is why D.A.V.E. does not have to reinvent the foundation an enterprise agent needs: it inherits DeepRoot's governance, security and integration posture, and adds a plain-English interface on top. And because DeepRoot begins every engagement with a Data Readiness Index assessment, you know before you connect a source which of your data is genuinely ready to answer questions on — and which needs work first.
See D.A.V.E. answer a question on your own data
Bring one workflow and one Profile of your real data. We'll show you D.A.V.E. turning plain-English questions into trusted answers across your database, spreadsheets and documents — with the knowledge graph, the temporal memory and the guardrails working live.
Glossary of key terms
- AI data analyst
- A system that answers plain-English business questions directly from a company's live data, without requiring SQL, table names or query syntax.
- Natural-language-to-SQL (text-to-SQL)
- The task of translating a plain-English question into a precise, executable SQL query against a real database.
- Knowledge graph / GraphRAG
- A graph of entities (here, tables and columns) and their typed relationships; GraphRAG grounds retrieval in that graph so join paths are real rather than guessed.
- Bi-temporal memory
- A store that records both when a fact was true (valid time) and when the system learned it (transaction time), so facts are superseded, never silently overwritten.
- Federated query
- A single query answered across multiple physical sources — databases, spreadsheets, email — joined together at query time regardless of where they live.
- Hybrid retrieval
- Document search that fuses vector similarity with keyword matching to retrieve the most relevant passages, used here for PDFs and other unstructured content.
- Semantic query cache
- A store of validated question-to-SQL pairs matched by meaning, so semantically similar new questions reuse a proven query instead of generating one afresh.
- Profile
- One workspace that connects all of the data sources D.A.V.E. has been given access to, so every question is answered across them together.
Frequently asked questions
What is D.A.V.E.?
D.A.V.E. is the AI data analyst inside Innoflexion's DeepRoot platform. It lets anyone ask a business question in layman language and returns an answer drawn directly from the company's live data. Under the hood it is a natural-language-to-SQL agent that translates each question into a precise, executable query, resolves the correct join path using a knowledge graph of your schema, and composes one answer across databases, spreadsheets, documents and email connected into a single Profile.
How is D.A.V.E. different from a normal text-to-SQL tool?
Most text-to-SQL tools embed the schema as flat text and pick joins by similarity, which is why their accuracy collapses on real enterprise schemas — column names can lie, and schema linking becomes combinatorial. D.A.V.E. instead maintains a Neo4j knowledge graph of your tables and columns with typed relationships as explicit edges, and runs a shortest-path graph traversal to find the correct join path. Retrieval is grounded in real, declared relationships rather than similarity alone, so join logic is structurally correct, not guessed.
Can D.A.V.E. work with messy data, spreadsheets and PDFs?
Yes. A Profile can span a live database, uploaded spreadsheets and email records, and D.A.V.E. runs a single federated query across them, joining structured sources in memory at query time regardless of where they physically live. Documents such as PDFs sit in a separate hybrid retrieval layer that fuses vector similarity with keyword search. D.A.V.E. calls both paths in the same turn and composes one coherent answer, so structured facts and document context appear together.
How does D.A.V.E. keep answers accurate as the business changes?
D.A.V.E. has a long-term memory built on Graphiti, a bi-temporal knowledge graph. Every fact carries both a valid time (when it was true in the real world) and a transaction time (when D.A.V.E. learned it). When something changes, the old fact is invalidated and superseded rather than overwritten, so "who was our top client last quarter" and "who is our top client now" remain two distinct, correctly-timestamped facts. That keeps historical questions accurate even as the business evolves.
Is it safe to let D.A.V.E. query production data?
Safety is enforced at the query-execution layer, not left to model judgment. Every generated SQL statement is parsed and validated before it runs: only read-only SELECT statements are permitted (no DROP, DELETE, UPDATE or DDL), queries are restricted to the exact tables in your Profile, and result sets are automatically capped. Conversational input also passes through a prompt-injection screening layer. These are structural controls, not a request to the model to behave.
Does D.A.V.E. get more expensive as we use it more?
The opposite. Two efficiency layers stack as usage grows. A semantic query cache embeds validated question-to-SQL pairs, so a new question that is semantically close to one already answered correctly reuses a proven query pattern instead of generating one from scratch. Prompt caching at the model level (via AWS Bedrock) means D.A.V.E.'s system instructions are not re-processed or re-billed at full price on every call. Together they cut both latency and cost as adoption increases.
Sources & further reading
- Lei, F., et al. "Spider 2.0: Evaluating Language Models on Real-World Enterprise Text-to-SQL Workflows." arXiv:2411.07763, 2024–2025. arxiv.org
- Li, J., et al. "BIRD: A Big Bench for Large-Scale Database Grounded Text-to-SQL Evaluation." bird-bench.github.io
- Pragmatic Institute. "Overcoming the 80/20 Rule in Data Science." pragmaticinstitute.com
- McKinsey & Company (QuantumBlack). Insights on time spent searching for information and the state of AI. mckinsey.com
- Neo4j. "GraphRAG: Grounding retrieval in a knowledge graph." neo4j.com
