A semantic layer for AI must define what it cannot answer
Atlan’s semantic-view guide turns NL2SQL scope into an explicit contract: supported, unsupported and risky questions should not share the same response path.
A semantic layer normally tells an analytics system how to calculate a metric. An AI analyst needs one more thing: a declaration of where that calculation stops being a trustworthy answer.
Atlan’s guide to semantic views proposes a useful operating model for this boundary. It divides questions into three groups: supported, where the available context should yield a high-confidence answer; unsupported, where required data or definitions are outside the view; and risky, where an answer is possible only with caveats. That is more actionable than treating every syntactically valid query as equally answerable. Atlan
Encode the question boundary
For a sales-performance view, Atlan lists revenue by segment, top customers by expansion ARR and conversion rate by region as examples of supported questions. It labels churn causation and marketing attribution as unsupported when the necessary product, support or attribution signals are absent. Forecasting and judging whether sales representatives are improving are risky because they require assumptions about the future, tenure or territory changes. Atlan
That classification should become executable behavior in an NL2SQL system:
- Supported: generate the query, return the result and name the metric definition used.
- Unsupported: refuse the query and identify the missing domain or dataset.
- Risky: return only with the relevant caveat and an explicit statement of the assumptions.
The important shift is that refusal is not an error after SQL generation. It is a valid result of semantic resolution before the query runs.
Scope competing definitions instead of forcing one truth
Atlan also argues that organizations should preserve multiple valid definitions with explicit scope. Finance revenue may mean recognized revenue excluding credits and refunds, while growth revenue may track bookings or trial conversions. The guide recommends separate names, owners and synonyms so the system can ask which meaning the user intends—or choose a role-appropriate default when that context is available. Atlan
Time language needs the same treatment. “Last month” can mean the previous calendar month, a rolling 30-day window or the last fiscal month. Atlan’s example makes timezone, period and revenue exclusions part of the semantic contract rather than leaving the model to infer them. Atlan
Test the contract, not just the SQL
A production acceptance set should therefore contain all three classes. For each supported question, verify the metric, scope and period as well as execution. For each unsupported question, verify that the system declines rather than improvises. For risky questions, verify that the caveat survives into the final answer.
Atlan describes this as “question-bounded design”: the semantic view becomes a contract for reasoning, not merely a map of tables and joins. For NL2SQL teams, that gives evaluation a missing negative case. A system is not reliable only because it answers known questions correctly; it must also recognize the questions its context cannot support.
sources
comments · 0