{"id":14052,"date":"2026-07-20T17:57:38","date_gmt":"2026-07-20T17:57:38","guid":{"rendered":"https:\/\/cheesecakelabs.com\/blog\/"},"modified":"2026-07-20T17:59:26","modified_gmt":"2026-07-20T17:59:26","slug":"how-does-a-semantic-layer-unlock-your-data-for-agentic-ai","status":"publish","type":"post","link":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/","title":{"rendered":"How Does a Semantic Layer Unlock Your Data for Agentic AI"},"content":{"rendered":"\n<p>Teams connect an AI to their warehouse expecting instant answers and get confident SQL that counts the wrong things. The model is rarely the problem. A raw schema carries none of the business meaning the question depends on. The fix is a silver layer the <a href=\"https:\/\/cheesecakelabs.com\/blog\/what-is-artificial-intelligence\/\" type=\"post\" id=\"13722\" target=\"_blank\" rel=\"noreferrer noopener\">Artificial Intelligence<\/a> can read: predictable names, prescriptive descriptions, business rules defined once in a governed semantic layer.<\/p>\n\n\n\n<p>We tested this end to end,<strong> Airbyte into Snowflake<\/strong>, dbt models, an <strong>AI agent querying over MCP<\/strong>, and this article covers what held up and what we changed.<\/p>\n\n\n\n<p>A quick anchor: the silver layer comes from the medallion architecture, the layered pattern most modern warehouses follow. Bronze holds raw data exactly as ingested; silver holds cleaned, conformed tables with consistent names and types; gold holds business-level marts and aggregates.<\/p>\n\n\n\n<p>Each layer refines the one below it, and silver is where data first becomes trustworthy enough for an AI to read.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. How does AI consume data from the silver layer?<\/h2>\n\n\n\n<p>Two AI paradigms touch your warehouse: coding agents that help developers write SQL and dbt models, and natural-language analytics tools that answer business questions directly. The silver layer serves both through the same semantic layer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 Cortex Code (CoCo) vs Claude Code: which agent writes the pipeline?<\/h3>\n\n\n\n<p>These are agentic coding tools like peers, not strictly competitors. Cortex Code reached general availability in February 2026; Snowflake rebranded it \u201cCoCo\u201d at Summit in June 2026 and shipped a Claude Code integration in the same release.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><\/td><td><strong>Cortex Code \/ CoCo<\/strong><\/td><td><strong>Claude Code<\/strong><\/td><\/tr><tr><td><strong>Data awareness<\/strong><\/td><td>Deep, automatic &#8211; reads your schemas, catalog, RBAC, lineage inside Snowflake<\/td><td>Gains awareness through connection (e.g. a Snowflake MCP server) and your repo<\/td><\/tr><tr><td><strong>Governance<\/strong><\/td><td>Runs inside Snowflake&#8217;s governance boundary<\/td><td>Depends on the connection&#8217;s permissions<\/td><\/tr><tr><td><strong>Scope<\/strong><\/td><td>dbt + Airflow + Snowflake-native workflows&nbsp;<\/td><td>General-purpose; any codebase, any tool<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>CoCo is the safer default when everything lives in Snowflake. Claude Code wins when work spans systems beyond the warehouse, in our project, it connected through a Snowflake MCP server and queried the warehouse directly.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Read more:<\/strong> <a href=\"https:\/\/cheesecakelabs.com\/blog\/data-architecture-decisions\/\" type=\"post\" id=\"13571\" target=\"_blank\" rel=\"noreferrer noopener\">The Data Architecture Decisions That Actually Matter<\/a><\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">1.2 How does a natural-language question become a query?<\/h3>\n\n\n\n<p>A raw schema alone produces unreliable SQL. The mapping from business language to physical tables happens through a semantic model: logical tables, dimensions, measures, and the relationships that make joins correct.<\/p>\n\n\n\n<p>The <strong>AI only picks the right metrics and dimensions<\/strong>; the engine assembles the SQL deterministically from entities and keys, relationships, measures, dimensions, synonyms, and verified queries, in that order.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. What naming conventions make the silver layer legible to AI?<\/h2>\n\n\n\n<p>Predictability is the single biggest win: layer prefixes (stg_, int_, business-domain mart names), consistent suffixes (_id, _at), snake_case, business-meaningful names. fct_orders with a column order_id tells the model far more than t_ord_01.oid.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 What happens when the same column name appears in different tables?<\/h3>\n\n\n\n<p>order_id is a primary key in orders and a foreign key in order_items, payments, and shipments. A naive text-to-SQL tool joins, counts order_id, and returns one row per line item \u2014 inflated counts.<\/p>\n\n\n\n<p>The fix is structural: declare the entity once and define the metric explicitly (<strong>number_of_orders = count_distinct(order_id)<\/strong> on orders). The collision never reaches the AI.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 What about the same business term meaning two different things?<\/h3>\n\n\n\n<p>Column collisions have a known fix; term collisions are the trap nobody plans for. In our time-tracking project, \u201cpending hours\u201d meant two unrelated things: hours under the weekly target, and hours awaiting manager approval. Ask an AI about \u201cpending hours\u201d and it silently picks one meaning and answers with confidence.<\/p>\n\n\n\n<p>Fix it in the semantic model, not the prompt: give each concept its own metric (<em><strong>weekly_hours_gap<\/strong><\/em> vs. <strong><em>hours_pending_approval<\/em><\/strong>), attach synonyms deliberately, and never let one business word map to two measures. The semantic layer is where you disambiguate a term once, for every consumer.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Read more: <\/strong><a href=\"https:\/\/cheesecakelabs.com\/blog\/ai-strategy-with-data-problem\/\" type=\"post\" id=\"13496\" target=\"_blank\" rel=\"noreferrer noopener\">Your AI Strategy Has a Data Problem<\/a><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">3. Do table and column descriptions actually help AI?<\/h2>\n\n\n\n<p>Yes. Cortex Analyst and MCP-connected agents read semantic-model metadata to decide what a field means. But descriptions do two distinct jobs, and most teams only write the first.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 What&#8217;s the difference between descriptive metadata and prescriptive rules?<\/h3>\n\n\n\n<p>Descriptive metadata says what a field is: \u201cbooked_hours: hours logged for the entry&#8217;s date.\u201d Prescriptive rules say how to query it correctly: \u201conly count rows with status = &#8216;approved&#8217;\u201d; \u201ca positive gap means under target.\u201d<\/p>\n\n\n\n<p>In our project, agents honored prescriptive comments at query time, they changed the SQL generated. Treat comments as an instruction channel, not just documentation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 Where should descriptions live?<\/h3>\n\n\n\n<p>In increasing order of value: dbt YAML description fields (version-controlled, persisted to Snowflake as object comments via <strong><em>persist_docs<\/em><\/strong>); the semantic view (descriptions, synonyms, prescriptive rules); and verified queries, which pin the exact SQL for recurring questions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Where should business rules live: dbt models or the semantic layer?<\/h2>\n\n\n\n<p>Keep silver clean, but the practical answer is more specific than \u201cput logic in the semantic layer.\u201d Compute the rules in dbt marts; use the semantic layer as the governed contract that names, describes, and serves the finished numbers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.1 Which semantic layer: Snowflake semantic views or dbt MetricFlow?<\/h3>\n\n\n\n<p>Pick based on who queries you. If your AI consumers speak SQL directly \u2014 Cortex Analyst, Snowflake Intelligence, or an agent on a Snowflake MCP server \u2014 use Snowflake semantic views: schema-level objects the agent can discover, inspect, and query through the <strong>SEMANTIC_VIEW() <\/strong>table function, inheriting native RBAC.<\/p>\n\n\n\n<p>If your consumers go through dbt Cloud&#8217;s APIs, MetricFlow gives the same guarantees portably across warehouses. For a <strong><em>Snowflake-plus-agent stack<\/em><\/strong>, semantic views worked without an extra service in between.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.2 How do simple and complex business rules differ?<\/h3>\n\n\n\n<p>A simple rule: &#8220;gross_revenue = price \u00d7 quantity&#8221; aggregates one table. Define it as a metric and the AI selects it. A complex rule: net_revenue = (price \u00d7 quantity) \u2212 tax1 \u2212 tax2 \u2212 tax3, where each tax comes from another table, should not be assembled at query time.<\/p>\n\n\n\n<p>Pre-compute it in dbt: joins and conditionals in int_ models, materialized at the right grain in a fact model, exposed as a finished metric through the semantic view.<\/p>\n\n\n\n<p>In our project, weekly hours gap, holiday gap, and billable classification all lived in dbt rollup models (<strong>fct_weekly_hours, fct_quarterly_hours<\/strong>); the semantic view&#8217;s job was naming and governance. The heavier the rule, the earlier in dbt you materialize it. The AI should only ever select a finished, named metric, never reconstruct one.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.3 Have you planned grain coverage?<\/h3>\n\n\n\n<p>This gap bit us hardest, and most architecture guides never mention it. Our rollups existed at weekly and quarterly grain; the moment someone asked for a monthly team summary, the question fell through to raw booking tables with hand-written SQL, the past every rule and guardrail we had built.<\/p>\n\n\n\n<p>Before you build, <strong>enumerate the grains and entities users<\/strong> will ask about like day, week, month, quarter; per-user, per-client, per-project, and build a fact at every grain you intend to serve. A missing grain is not a smaller semantic layer, but it is a hole the AI falls through.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.4 What does semantic leakage look like in an AI stack?<\/h3>\n\n\n\n<p>Semantic leakage is business logic escaping the governed layer into ungoverned copies. In BI, that means workbook formulas. In an <strong>AI stack<\/strong>, the escape route is prompts and agent files, and we watched it happen: when our monthly summary could not be expressed in the semantic view, its SQL ended up in an agent skill document, outside the warehouse, invisible to BI, governed by nobody.<\/p>\n\n\n\n<p>The rule we adopted: every fallback query is backlog for a new model or metric. If the AI needs bespoke SQL to answer a recurring question, the semantic layer has a gap, and the fix is a model, not a longer prompt.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Read more: <\/strong><a href=\"https:\/\/cheesecakelabs.com\/blog\/when-to-move-data-out-of-spreadsheets\/\" type=\"post\" id=\"13882\" target=\"_blank\" rel=\"noreferrer noopener\">When to Move Your Data Out of Spreadsheets?<\/a><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">5. How do LGPD and PII rules apply when AI queries your data?<\/h2>\n\n\n\n<p>LGPD governs personal data identically whether a human or an AI runs the query \u2014 AI creates no exemption, and it raises the bar on purpose limitation, minimization, and explainability. GDPR applies in parallel for EU data subjects, and Snowflake&#8217;s tooling treats both similarly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.1 Should you mask PII?<\/h3>\n\n\n\n<p>Yes, and warehouse-level masking applies to AI queries automatically. Snowflake enforces dynamic and tag-based masking, row-access, and projection policies at the data layer, so Cortex Agents and semantic-view queries inherit them: the AI cannot perceive data its human operator cannot access.<\/p>\n\n\n\n<p>Use tag-based masking so protection propagates as datasets grow, <strong>AI_REDACT <\/strong>for PII in free text, and Cortex Guard for LLM input\/output controls.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.2 Warehouse-native model or local model?<\/h3>\n\n\n\n<p>A warehouse-native model (Cortex) runs next to your data inside Snowflake&#8217;s governance boundary: no data movement, RBAC and masking inherited, no training on your data, the shortest path to LGPD compliance.<\/p>\n\n\n\n<p>A self-hosted local model shifts the whole compliance and infrastructure burden onto you; worth it only under hard data-residency requirements.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. How do you keep AI queries cheap, small, and safe?<\/h2>\n\n\n\n<p>Cortex queries consume credits, and an unguarded agent can scan enormous tables to answer a one-number question. Two controls worked for us. First, the<strong> semantic layer <\/strong>keeps results small by construction: metrics return aggregates, so \u201chow many hours last quarter?\u201d returns one row, not a million.<\/p>\n\n\n\n<p>Second, an explicit agent contract: a read-only role; row caps (around 20 detail rows, enough to answer, small enough to stay cheap); and scoped discovery (SHOW &#8230; IN DATABASE analytics_db, never account-wide scans). The constraints that keep credit consumption predictable also keep answers trustworthy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7. What should you build first?<\/h2>\n\n\n\n<p>Start with clean silver tables and predictable names. Model business rules in dbt at every grain users will ask about, and expose them through one semantic layer \u2014 with prescriptive comments the AI must follow. Mask PII at the data layer so governance travels with every query.<\/p>\n\n\n\n<p>Then treat every question the layer cannot answer as a modeling ticket. The AI is only ever as good as the contract you hand it.<\/p>\n\n\n\n<p>Discover where your organization stands on the path from <strong>AI experimentation to true business transformation<\/strong>, and what to do next.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/cheesecakelabs.com\/ai-readiness-assessment\" target=\"_blank\" rel=\" noreferrer noopener\"><img decoding=\"async\" width=\"1200\" height=\"472\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/05\/cheesecake-labs-ai-assesment-1200x472.png\" alt=\"AI free assessment\" class=\"wp-image-13737\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/05\/cheesecake-labs-ai-assesment-1200x472.png 1200w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/05\/cheesecake-labs-ai-assesment-600x236.png 600w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/05\/cheesecake-labs-ai-assesment-768x302.png 768w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/05\/cheesecake-labs-ai-assesment-1536x604.png 1536w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/05\/cheesecake-labs-ai-assesment-760x299.png 760w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/05\/cheesecake-labs-ai-assesment.png 1924w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Teams connect an AI to their warehouse expecting instant answers and get confident SQL that counts the wrong things. The model is rarely the problem. A raw schema carries none of the business meaning the question depends on. The fix is a silver layer the Artificial Intelligence can read: predictable names, prescriptive descriptions, business rules [&hellip;]<\/p>\n","protected":false},"author":92,"featured_media":14053,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1371,1288],"tags":[],"class_list":["post-14052","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data","category-artificial-intelligence"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Snowflake Cortex AI + dbt: Building a Silver Layer for AI Queries<\/title>\n<meta name=\"description\" content=\"Learn how Snowflake Cortex AI consumes data from the silver layer, naming conventions, business rules in dbt, and compliance for AI workflows.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Snowflake Cortex AI + dbt: Building a Silver Layer for AI Queries\" \/>\n<meta property=\"og:description\" content=\"Learn how Snowflake Cortex AI consumes data from the silver layer, naming conventions, business rules in dbt, and compliance for AI workflows.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/\" \/>\n<meta property=\"og:site_name\" content=\"Cheesecake Labs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cheesecakelabs\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-20T17:57:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-20T17:59:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/07\/semantic-layer-agentic-ai.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"689\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Cheesecake Labs\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:site\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/\"},\"author\":{\"name\":\"Yuri Pontes\"},\"headline\":\"How Does a Semantic Layer Unlock Your Data for Agentic AI\",\"datePublished\":\"2026-07-20T17:57:38+00:00\",\"dateModified\":\"2026-07-20T17:59:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/\"},\"wordCount\":1676,\"publisher\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/07\/semantic-layer-agentic-ai.jpg\",\"articleSection\":[\"Data\",\"Artificial Intelligence\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/\",\"name\":\"Snowflake Cortex AI + dbt: Building a Silver Layer for AI Queries\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/07\/semantic-layer-agentic-ai.jpg\",\"datePublished\":\"2026-07-20T17:57:38+00:00\",\"dateModified\":\"2026-07-20T17:59:26+00:00\",\"description\":\"Learn how Snowflake Cortex AI consumes data from the silver layer, naming conventions, business rules in dbt, and compliance for AI workflows.\",\"breadcrumb\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#primaryimage\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/07\/semantic-layer-agentic-ai.jpg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/07\/semantic-layer-agentic-ai.jpg\",\"width\":1536,\"height\":689,\"caption\":\"semantic-layer-agentic-ai | | Cheesecake Labs\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cheesecakelabs.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How Does a Semantic Layer Unlock Your Data for Agentic AI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/\",\"name\":\"Cheesecake Labs\",\"description\":\"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..\",\"publisher\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#organization\",\"name\":\"Cheesecake Labs\",\"alternateName\":\"Cheesecake Labs Inc\",\"url\":\"https:\/\/cheesecakelabs.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/cheesecakelabs.com\/#logo\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/06\/cheesecake-labs-1.png\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/06\/cheesecake-labs-1.png\",\"caption\":\"Cheesecake Labs\",\"inLanguage\":\"en\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/cheesecakelabs.com\/#primary-image\",\"url\":\"https:\/\/ckl-website-v4-strapi-prod.s3.us-east-2.amazonaws.com\/ai_software_development_company_83fb512983.webp\",\"contentUrl\":\"https:\/\/ckl-website-v4-strapi-prod.s3.us-east-2.amazonaws.com\/ai_software_development_company_83fb512983.webp\",\"width\":1920,\"height\":1080,\"caption\":\"Cheesecake Labs \u2014 AI, Data & Blockchain software development services\",\"inLanguage\":\"en\"},\"sameAs\":[\"https:\/\/www.facebook.com\/cheesecakelabs\",\"https:\/\/x.com\/cheesecakelabs\",\"https:\/\/www.instagram.com\/cheesecakelabs\/\",\"https:\/\/www.linkedin.com\/company\/cheesecake-labs\/\",\"https:\/\/www.youtube.com\/channel\/UCdGEQ5AHJcmIlaOaI5fGGVA\",\"https:\/\/clutch.co\/profile\/cheesecake-labs\",\"https:\/\/www.behance.net\/cheesecakelabs\",\"https:\/\/dribbble.com\/cheesecakelabs\",\"https:\/\/www.designrush.com\/agency\/profile\/cheesecake-labs\",\"https:\/\/www.g2.com\/products\/cheesecake-labs\/reviews\"],\"description\":\"Cheesecake Labs is a software development studio that designs and builds custom digital products \u2014 web, mobile, and platforms \u2014 combining product design and high-performance engineering.\",\"foundingDate\":\"2013\"},{\"@type\":\"Person\",\"name\":\"Yuri Pontes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/06\/yuripontes.jpg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/06\/yuripontes.jpg\",\"caption\":\"Yuri Pontes\"},\"url\":\"https:\/\/cheesecakelabs.com\/blog\/autor\/yuri-pontes\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Snowflake Cortex AI + dbt: Building a Silver Layer for AI Queries","description":"Learn how Snowflake Cortex AI consumes data from the silver layer, naming conventions, business rules in dbt, and compliance for AI workflows.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/","og_locale":"en_US","og_type":"article","og_title":"Snowflake Cortex AI + dbt: Building a Silver Layer for AI Queries","og_description":"Learn how Snowflake Cortex AI consumes data from the silver layer, naming conventions, business rules in dbt, and compliance for AI workflows.","og_url":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/","og_site_name":"Cheesecake Labs","article_publisher":"https:\/\/www.facebook.com\/cheesecakelabs","article_published_time":"2026-07-20T17:57:38+00:00","article_modified_time":"2026-07-20T17:59:26+00:00","og_image":[{"width":1536,"height":689,"url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/07\/semantic-layer-agentic-ai.jpg","type":"image\/jpeg"}],"author":"Cheesecake Labs","twitter_card":"summary_large_image","twitter_creator":"@cheesecakelabs","twitter_site":"@cheesecakelabs","twitter_misc":{"Written by":null,"Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#article","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/"},"author":{"name":"Yuri Pontes"},"headline":"How Does a Semantic Layer Unlock Your Data for Agentic AI","datePublished":"2026-07-20T17:57:38+00:00","dateModified":"2026-07-20T17:59:26+00:00","mainEntityOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/"},"wordCount":1676,"publisher":{"@id":"https:\/\/cheesecakelabs.com\/blog\/#organization"},"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/07\/semantic-layer-agentic-ai.jpg","articleSection":["Data","Artificial Intelligence"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/","url":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/","name":"Snowflake Cortex AI + dbt: Building a Silver Layer for AI Queries","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#primaryimage"},"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/07\/semantic-layer-agentic-ai.jpg","datePublished":"2026-07-20T17:57:38+00:00","dateModified":"2026-07-20T17:59:26+00:00","description":"Learn how Snowflake Cortex AI consumes data from the silver layer, naming conventions, business rules in dbt, and compliance for AI workflows.","breadcrumb":{"@id":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#primaryimage","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/07\/semantic-layer-agentic-ai.jpg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/07\/semantic-layer-agentic-ai.jpg","width":1536,"height":689,"caption":"semantic-layer-agentic-ai | | Cheesecake Labs"},{"@type":"BreadcrumbList","@id":"https:\/\/cheesecakelabs.com\/blog\/how-does-a-semantic-layer-unlock-your-data-for-agentic-ai\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cheesecakelabs.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How Does a Semantic Layer Unlock Your Data for Agentic AI"}]},{"@type":"WebSite","@id":"https:\/\/cheesecakelabs.com\/blog\/#website","url":"https:\/\/cheesecakelabs.com\/blog\/","name":"Cheesecake Labs","description":"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..","publisher":{"@id":"https:\/\/cheesecakelabs.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cheesecakelabs.com\/blog\/#organization","name":"Cheesecake Labs","alternateName":"Cheesecake Labs Inc","url":"https:\/\/cheesecakelabs.com\/","logo":{"@type":"ImageObject","@id":"https:\/\/cheesecakelabs.com\/#logo","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/06\/cheesecake-labs-1.png","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/06\/cheesecake-labs-1.png","caption":"Cheesecake Labs","inLanguage":"en"},"image":{"@type":"ImageObject","@id":"https:\/\/cheesecakelabs.com\/#primary-image","url":"https:\/\/ckl-website-v4-strapi-prod.s3.us-east-2.amazonaws.com\/ai_software_development_company_83fb512983.webp","contentUrl":"https:\/\/ckl-website-v4-strapi-prod.s3.us-east-2.amazonaws.com\/ai_software_development_company_83fb512983.webp","width":1920,"height":1080,"caption":"Cheesecake Labs \u2014 AI, Data & Blockchain software development services","inLanguage":"en"},"sameAs":["https:\/\/www.facebook.com\/cheesecakelabs","https:\/\/x.com\/cheesecakelabs","https:\/\/www.instagram.com\/cheesecakelabs\/","https:\/\/www.linkedin.com\/company\/cheesecake-labs\/","https:\/\/www.youtube.com\/channel\/UCdGEQ5AHJcmIlaOaI5fGGVA","https:\/\/clutch.co\/profile\/cheesecake-labs","https:\/\/www.behance.net\/cheesecakelabs","https:\/\/dribbble.com\/cheesecakelabs","https:\/\/www.designrush.com\/agency\/profile\/cheesecake-labs","https:\/\/www.g2.com\/products\/cheesecake-labs\/reviews"],"description":"Cheesecake Labs is a software development studio that designs and builds custom digital products \u2014 web, mobile, and platforms \u2014 combining product design and high-performance engineering.","foundingDate":"2013"},{"@type":"Person","name":"Yuri Pontes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/06\/yuripontes.jpg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2026\/06\/yuripontes.jpg","caption":"Yuri Pontes"},"url":"https:\/\/cheesecakelabs.com\/blog\/autor\/yuri-pontes\/"}]}},"_links":{"self":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/14052","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/users\/92"}],"replies":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/comments?post=14052"}],"version-history":[{"count":1,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/14052\/revisions"}],"predecessor-version":[{"id":14055,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/14052\/revisions\/14055"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media\/14053"}],"wp:attachment":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media?parent=14052"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/categories?post=14052"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/tags?post=14052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}