Semantic Modeling FAQ
Frequently asked questions about semantic modeling in Precog.
Compatibility & Requirements
Which destinations support semantic models?
Currently, Snowflake is the only destination that supports semantic model uploads. Semantic models power Snowflake Cortex Analyst, enabling natural language queries against your data warehouse.
We expect to add support for additional destinations as more platforms adopt semantic layer capabilities.
Can I generate semantic models for multiple sources at once?
Not yet. Currently, semantic modeling works for one source at a time. Each source generates its own semantic model based on the datasets from that source.
If you need to combine data from multiple sources, you can manually edit the generated YAML files and merge them after downloading.
Generation & Timing
How long does it take to generate a semantic model?
Semantic model generation typically takes a few minutes, though it can take longer for very large datasets with many tables and columns.
After your data load (Run) completes, you can expect to see the semantic model appear in Snowflake within about 5 minutes in most cases.
When is the semantic model generated?
The semantic model is generated automatically when you run a connection that has semantic modeling enabled. The model is uploaded to Snowflake after the data load completes successfully.
What happens if my source schema changes?
When you run a connection after schema changes (new tables or columns), Precog regenerates the semantic model to reflect the current source structure. The updated model replaces the previous version in Snowflake.
Viewing & Editing
Where can I find my semantic model in Snowflake?
Semantic models are stored in Snowflake stages and can be viewed through the Snowflake UI. Navigate to your database and look for the semantic model YAML files in the associated stage.
Can I edit the semantic model?
Yes. Snowflake allows you to view the semantic model YAML directly and make edits. Common customizations include:
- Adding descriptions to clarify business meaning
- Adding synonyms to improve natural language matching
- Defining custom metrics for common calculations
- Adjusting relationships between tables
After editing, save the updated YAML to use your customized model with Cortex Analyst.
Why can't I see my generated semantic model?
If you don't see your semantic model after a successful run, check these common causes:
-
Directory Tables not enabled — You need to enable Directory Tables in Snowflake to view semantic models. See Snowflake's documentation: Enable Directory Tables
-
Model hasn't uploaded yet — After your run completes, it can take up to 5 minutes for the semantic model to appear in Snowflake. Wait a few minutes and check again.
-
Destination isn't Snowflake — Semantic models only work with Snowflake destinations. Verify that your connection uses a Snowflake warehouse as the destination.
-
Default warehouse mismatch — Your Snowflake user's default warehouse must match the warehouse where your data was shipped. If they don't match, Snowflake may not show the semantic models.
Quality & Optimization
How can I improve my semantic model quality?
The most impactful thing you can do is write a clear, detailed use case description. Vague descriptions like "financial reporting" produce generic models. Specific descriptions produce models tuned to your actual needs.
A good use case includes:
- Specific metrics you want to track (e.g., "invoice aging, payment trends, cash flow")
- Key entities in your data (e.g., "customers, suppliers, invoices")
- How you want to slice the data (e.g., "by department and month")
For detailed guidance with examples and templates, see Writing Effective Use Case Descriptions.
For ongoing optimization after your model is generated, see Semantic Model Maintenance.
Need More Help?
For additional questions about semantic modeling, contact Precog support through the in-app chat or visit our support resources.