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
| Component | Description | How It's Populated |
|---|---|---|
| Tables | 5–10 tables per model (typical) | Selected by modeler or inferred from query history |
| Columns | 50–100 selected columns (typical) | Auto-selected from schema; modeler refines |
| Relationships | Joins between tables (including many-to-many) | Learned from query history; modeler reviews |
| Metrics | Business measures (revenue, count, rate) extracted from query history | Auto-extracted; modeler verifies |
| Certified SQLs | "Golden queries" — real validated examples from query history | Pulled from filtered query log; human-reviewed |
| Benchmark Questions | Auto-generated test questions with expected SQL answers | Generated by Solid; modeler reviews and edits |
| Descriptions | Per-table and per-column documentation | Auto-generated from context; modeler edits |
| Custom Instructions | Business rules guiding SQL generation for this model | Modeler-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.
Updated 8 days ago
