What is a semantic layer?

TL;DR: A semantic layer defines what things mean in your business, so "revenue," "active customer," or "region" compute the same way everywhere they're used. It's a real, established concept (used in tools like dbt, Cube, and Snowflake Semantic Views for years before AI agents existed) and it matters more now that agents are asking questions across systems that used to have one dashboard and one analyst behind them. But a semantic layer only answers one of three questions an agent needs answered. It tells you what something is. It doesn't tell you how things relate, or why they were built the way they were.

#What is a semantic layer?

A semantic layer is a layer that sits between raw data and the tools or people querying it, translating technical structure into consistent business terms. Instead of every analyst, dashboard, or agent independently deciding what "revenue" means, a semantic layer defines it once, which table, which filters, which calculation, and serves that same definition everywhere it's asked for.

This isn't a new idea introduced by AI. Tools like dbt's Semantic Layer, Cube, Snowflake Semantic Views, and AtScale have done this for BI and analytics for years. What's changed is who's asking the questions. It used to be a handful of analysts querying through a small number of BI tools. Now it's every agent a company deploys, each one capable of asking the same question a different way, and each one needing the same correct answer.

#What does a semantic layer typically standardize?

The concrete things a semantic layer usually defines:

  • Entities: the core objects a business tracks, customer, order, invoice, subscription
  • Relationships: how those entities connect, an invoice settles a payment, a refund reverses one
  • Dimensions: the ways you slice a number, by region, by fiscal quarter, by customer segment
  • Measures: the calculations themselves, revenue, refund rate, lifetime value, defined once, computed the same way regardless of who or what is asking

Change one of these definitions in one place, and every tool, dashboard, and agent that draws on it updates together, instead of each one carrying its own slightly different version.

#How does a semantic layer work?

A semantic layer sits between your data warehouse and whatever consumes it, a BI tool, a dashboard, a natural-language agent. It translates a request, whether that's a person typing a question or an agent generating a query, into the underlying tables, joins, and filters that produce a correct, consistent answer. The person or agent asking never has to know the schema. They ask for "refund rate this quarter" and the semantic layer resolves what that means and where it comes from.

How a semantic layer sits between raw data and the tools, dashboards, and agents that query it
A semantic layer sits between raw data and the tools that consume it, so a dashboard and an agent resolve the same term the same way.

#Why does a semantic layer matter for AI agents, not just dashboards?

The problem a semantic layer solves gets worse, not better, once agents are involved. A human analyst who's been on a team for a year has picked up the unwritten rules: which number is the "real" one, which table to avoid, what a term means in this specific company. An agent has none of that. Without a semantic layer, two agents asking the same question through two different paths can compute two different answers, both technically correct against some table, neither necessarily the one the business actually means.

That's not a hypothetical. It's the default state of most companies running multiple agents today: each one solving the definition problem separately, from scratch, every time.

#Is a semantic layer enough on its own?

No, and this isn't a controversial claim, even vendors who sell semantic layers say so directly. Knowing what a number means doesn't tell you how that entity relates to everything else in the business, and it doesn't tell you why something was built or decided the way it was. A semantic layer answers "what is this," cleanly and usefully, but an agent operating on real business questions needs more than a vocabulary.

#What are the three views an agent actually needs?

Getting an agent to actually understand a business, not just query its data correctly, takes three views held at once:

  • Semantic: knowing what things are and what your company means by them. This is what a semantic layer gives you.
  • Knowledge graph: knowing how things relate, who owns them, and what depends on what. A semantic layer doesn't tell you this. A graph does.
  • Intent: knowing why something was built or decided the way it was, and what was already tried and ruled out. Neither a semantic layer nor a structural graph captures this on its own.

Most tools give an agent one of these views. Almost none give it all three at once, and keeping all three current as the business changes is a separate, harder problem than building any one of them once.

#Uvi maintains all three views together

A semantic layer is one piece of what Uvi resolves for an agent, not a separate product bolted on top. Semantic tells an agent what something is. The knowledge graph tells it how that thing connects to everything else. Intent tells it why the current state exists at all, and what's already been ruled out. Uvi keeps all three current together, so an agent isn't working from a vocabulary alone.

If you'd like to see how Uvi gives your AI agents accurate, current context across all three, book a demo with us here.

Frequently asked questions

Is a semantic layer the same as a context layer?
No. A semantic layer defines what terms and metrics mean. A context layer is broader: it can include structural relationships and intent on top of semantic definitions. A semantic layer is one input into a context layer, not a replacement for one.
Is a semantic layer the same as an ontology?
Not quite. An ontology typically defines categories, properties, and the rules governing how types of things relate to each other at a conceptual level. A semantic layer is more concrete and computational: specific entities, specific measures, specific calculations that produce a number.
Do I need a semantic layer if I already use dbt or Cube?
Those tools are semantic layers in the runtime sense, code-defined models compiled into warehouse queries. They handle the 'what does this metric mean' question well. They don't handle how that metric's underlying entities relate to the rest of the business, or why a definition changed.
Does a semantic layer apply outside of BI dashboards?
Increasingly, yes. The same standardization problem that used to affect a handful of BI tools now affects every AI agent asking questions across a company's systems.

One layer, underneath every agent.

See what changes when your agents stop guessing.

Book a demo