What Is a Semantic Model

The core concept behind Solid: a use-case-scoped translation layer between raw warehouse tables and every consumer that asks questions of your data.

A semantic model in Solid is a use-case–scoped data artifact that maps raw warehouse tables and columns to business concepts, defines relationships and metrics, and includes example queries and test questions. It acts as the translation layer between raw warehouse schemas and every consumer that asks questions of the data — humans, BI tools, and AI agents.

A Semantic Model Contains

ComponentDescriptionHow It's Populated
Tables5–10 tables per model (typical)Selected by modeler or inferred from query history
Columns50–100 selected columns (typical)Auto-selected from schema; modeler refines
RelationshipsJoins between tables (including many-to-many)Learned from query history; modeler reviews
MetricsBusiness measures (revenue, count, rate) extracted from query historyAuto-extracted; modeler verifies
Certified SQLs"Golden queries" — real validated examples from query historyPulled from filtered query log; human-reviewed
Benchmark QuestionsAuto-generated test questions with expected SQL answersGenerated by Solid; modeler reviews and edits
DescriptionsPer-table and per-column documentationAuto-generated from context; modeler edits
Custom InstructionsBusiness rules guiding SQL generation for this modelModeler-authored

A Semantic Model = a Use Case

Each semantic model is self-contained around a specific use case (e.g., "Account Health and Product Usage Rollups," "Daily Sales Performance," "Marketing Campaign Performance," "Counterparty Reconciliation," "Loan Approval Decision"). This scoping is intentional: it limits the context window, reduces hallucination risk, and makes it possible for the MCP routing layer to identify the right model(s) for a given question.

A model is not a full data dictionary or a catalog of all tables. It is a curated, validated subset of the data landscape tailored to a specific analytical purpose.

Multiple Models, One Question

For complex questions that span multiple use cases, Solid can identify and use multiple semantic models simultaneously:

  • Identifies which model(s) are relevant to the business question
  • Reduces context to only the relevant tables, columns, and metrics from each model
  • Identifies cross-joins and cross-metric relationships between models when more than one is relevant
  • Generates SQL that can span multiple models when the question requires it

See Compound Models in the Solid MCP Server for how this routing works in practice, and Layered Models for how models can build on shared core models.


Did this page help you?