aidp-semantic-model — the semantic grounding layer
Create and maintain .aidp/semantic.md: the business-meaning layer that grounds NL-to-SQL. This is the
lever curated systems (Snowflake semantic model, Databricks Genie metrics/joins) rely on — without it,
real-world NL-to-SQL accuracy is low.
When to use
- Define metrics (revenue, active_customers, gross_margin…), logical names, joins, synonyms, or value sets.
- The user wants consistent, reusable business semantics across questions.
Instruction hierarchy (most → least reliable)
- SQL expressions for metrics/filters (preferred).
- Example SQL for ambiguous prompts (store these via
aidp-verified-queries). - Free text only as a last resort.
Workflow
- Ensure
.aidp/catalog.mdexists (aidp-catalog-init) — the semantic model references real tables/columns. - Edit
.aidp/semantic.mdper the format inreferences/semantic-model.md: logical entities, metrics (as SQL expressions), joins (with cardinality), synonyms, value dictionaries. - Never invent columns/values — read them from the catalog or confirm with the user.
- Optionally validate a metric by running its SQL on a small sample — hand off to
aidp-analyzing-data, which executes Spark SQL viapython "$PLUGIN_DIR/scripts/aidp_sql.py"(no MCP required). - Keep the per-domain working set small and focused.
AIDP native Ontologies (related feature — UI-driven)
AIDP ships a native Ontologies feature (RDF/OWL business glossary: terms, synonyms, definitions, a graph
view, and ontology-driven governance like av:isSensitive / av:requiresRole). It overlaps this semantic
layer but is UI-driven — no programmatic REST API was found (GET …/ontologies and
…/workspaces/<ws>/ontologies both returned 404, probed 2026-06-10). So:
- For an agent-usable, programmatic semantic/glossary layer today, use
.aidp/semantic.md(this skill) — it's the API-free analog the agent can read/write and ground SQL with. - If the user specifically needs the native Ontologies (graph view, TTL/R2RML export, sensitivity
governance), that is authored in the AIDP console UI; don't claim a REST endpoint for it. Sensitivity tags
there feed masking governance (
aidp-roles-access→ masking section).
Notes
.aidp/semantic.mdis user-editable and git-ignored (per-project).- Pairs with
aidp-verified-queries(example/verified SQL) andaidp-analyzing-data(consumes both).
References
- references/semantic-model.md · references/verified-queries.md

