Skip to main content
A schema refresh imports the semantic views on your Snowflake connection. Each semantic view arrives in Omni as one topic. Its logical tables become views scoped to that topic, and its RELATIONSHIPS clause becomes the topic’s relationships.

Requirements

To sync semantic views, you’ll need:

Triggering a sync

To sync, run a schema refresh on the model associated with the Snowflake connection. Omni imports new semantic views and updates topics whose semantic view changed in Snowflake. See Schema refreshes to learn how to trigger one manually or on a schedule. If a semantic view is skipped, the schema refresh shows a warning. See Troubleshooting for each warning and how to resolve it.

What Omni creates

One .topic file per semantic view:
  • semantic_view replaces base_view. The value is the fully qualified CATALOG.SCHEMA.NAME of the source. Because there is no fixed base view, Omni joins in only the views each query needs.
  • Views and relationships belong to the topic, not the model, so they stay scoped to the semantic view they came from.
  • Names are schema-qualified when needed. For a semantic view outside the connection’s default schema, Omni prefixes the topic and view names with the schema (sales__orders_users), so same-named semantic views in different schemas both import.

Which schemas Omni imports from

Omni imports a topic from every schema on the connection that contains a semantic view. To narrow that set, use included_schemas or ignored_schemas in the model file.

Troubleshooting

Before Omni imported semantic views as topics, it created a folder of view files for each semantic view, and you may have built topics on them by hand. Those views and topics keep working. Each schema refresh regenerates them alongside the semantic view topics, so dashboards and workbooks built on them are unaffected.Two name collisions can appear in the schema refresh warnings:
  • A topic from the previous version has the generated name — the existing topic is kept and the schema refresh warns — see Schema refresh warnings for skipped semantic views below. Delete it and run a schema refresh to import the semantic view as a topic.
  • A topic you wrote by hand has the generated name — the generated content merges into your file and validation reports that the topic sets both semantic_view and base_view / joins. Rename or delete your topic and run a schema refresh.
To retire the previous version’s views and topics for a schema, delete them (or drop the semantic views in Snowflake) and run a schema refresh.
When Omni skips a semantic view during a schema refresh, the warning summary names the schema (Skipped semantic view content in "<catalog>.<schema>") and the detail names the semantic view and the reason. A skipped semantic view creates no topic. If an earlier import created one, that topic stays in the model until a schema refresh that rebuilds the schema removes it.A single relationship can be skipped while the topic still imports (The topic imports without this join.). A view left with no relationship to the rest of the topic gets a validation warning:
Query that view on its own, or add an equality relationship in Snowflake.
Two semantic views with the same name in different schemas share a label. Hover the Snowflake mark for the fully qualified CATALOG.SCHEMA.NAME.

Next steps