Open Semantic Interchange, now Apache Ossie, explained
What the spec is for, who is behind it, what a model file looks like, which tools convert to and from it, what it deliberately leaves out, and what it means if your semantic layer is defined in code.
Definition
What is Open Semantic Interchange?
Open Semantic Interchange (OSI) is an open, vendor-neutral specification for writing down a semantic model (datasets, fields, relationships and metrics, plus context for AI tools) as a YAML or JSON file, so the same definitions can move between warehouses, semantic layers, BI tools and agents instead of being rebuilt in each one.
Snowflake launched it with dbt Labs, Salesforce, RelationalAI and other partners in September 2025. In 2026 it entered the Apache Incubator and was renamed Apache Ossie. It is licensed under Apache 2.0, and it describes models; it does not run queries.
Why it exists
Every semantic layer has its own format
The dbt Semantic Layer stores metrics in dbt YAML, Snowflake in semantic view DDL, Databricks in metric view YAML, Power BI in TMDL, Cube in its own data model files. A company that defines revenue in one of them has to define it again for every other tool, and the copies drift.
OSI’s answer is a shared file format that each tool can import and export, so a model written once can be converted rather than rewritten. The pressure comes largely from AI: agents need the same metric definitions and synonyms whichever tool they run in.
Timeline
From OSI to Apache Ossie
| Date | What happened |
|---|---|
| September 23, 2025 | Snowflake announces Open Semantic Interchange with Salesforce, dbt Labs and RelationalAI, supported by BlackRock and 17 launch partners in all, including Cube, Hex, Sigma and ThoughtSpot. |
| October 14, 2025 | dbt Labs relicenses MetricFlow under Apache 2.0 as a reference implementation for OSI. |
| November 13, 2025 | AWS, Collibra, DataHub, Informatica, Starburst and others join the working group. |
| December 11, 2025 | Spec version 0.1.1, the only release so far, per the spec’s version history. |
| January 27, 2026 | The first spec is published under Apache 2.0. AtScale, Databricks, JetBrains, Lightdash and Qlik join. |
| June 22, 2026 | The project enters the Apache Incubator. |
| July 2026 | OSI is renamed Apache Ossie (incubating). The repository moves to apache/ossie. |
| September 29, 2026 | A separate apache/ossie-converters repository is created for converters between Ossie and other formats. |
| October 30, 2026 | CLICKHOUSE is added to the list of registered SQL dialect names. |
The spec
What an Ossie model contains
The core spec defines a single model per document. The only release is 0.1.1; the main branch is a draft, 0.3.0.dev0, which removes the old semantic_model wrapper and makes keys and metric expressions refer to dataset fields rather than source columns. Files in the 0.1.1 shape fail the current schema.
| Object | What it holds | Notes |
|---|---|---|
| Semantic model | version, name, datasets (required), plus relationships, model-scoped metrics, ai_context and custom_extensions | One model per YAML or JSON document. |
| Dataset | name and source (required), primary and unique keys, fields, dataset-scoped metrics | A logical table over a physical table. |
| Field | name and expression (required), datatype, dimension.is_time, label | There is no separate dimension object: dimensions are fields. |
| Relationship | from, to, from_columns, to_columns | Many-to-one, by field names. |
| Metric | A name and an aggregate expression, on a dataset or across the model | A metric cannot reference another metric. |
| AI context | Instructions, synonyms and examples on the model, datasets, fields and metrics | For agents and natural-language tools. |
| Expressions | Portable OSSIE_SQL_2026, with optional per-dialect variants | Registering a dialect does not mean Ossie supports querying in it. |
OSI and a code-defined layer
The same model as an Ossie file and as code
On the left, an orders and customers model in the current draft format. We checked it against the spec’s JSON Schema on November 10, 2026. On the right, the same model as hypequery datasets. The shapes line up closely: dataset for dataset, field for dimension, metric for measure, relationship for belongsTo.
What the code version adds is everything Ossie leaves to each tool: a tenant key enforced at query time, and the query itself, through function calls, an HTTP API, React hooks or MCP. hypequery does not read or write Ossie files today. Nor is there a ClickHouse converter yet: a proposal to add one to the Ossie repository was closed without merging in October 2026.
| Apache Ossie | hypequery | Notes |
|---|---|---|
| Semantic model | A module of datasets | Imported by your backend. |
Dataset with source and primary_key | Dataset | source is the ClickHouse table. |
| Field | Dimension | A time field (is_time) becomes the timeKey. |
| Dataset-scoped metric | Measure | Typed helpers instead of SQL strings. |
| Model-scoped metric | measure.derived() on one dataset | Derived measures combine measures on the same dataset only; a formula cannot reference a measure on a related dataset. |
| Relationship | belongsTo | Composite keys are supported. |
ai_context | label, description | Exposed to agents over MCP. |
| Not in the spec yet | Tenant key, Serve API, React hooks, MCP tools | Access control and querying are on Ossie’s roadmap, not in the spec. |
Adoption
Which tools read and write Ossie
- Snowflake:
SYSTEM$CREATE_SEMANTIC_VIEW_FROM_OSSIE_YAMLimports a model (spec 0.1.1) andSYSTEM$READ_OSSIE_YAML_FROM_SEMANTIC_VIEWexports one. See Snowflake semantic views. - dbt: v1.12 reads Ossie JSON files as an alternative to YAML; support in dbt v2 is “coming soon”. See dbt MetricFlow.
- Converters: apache/ossie-converters has projects for dbt MetricFlow (both directions), Databricks metric views, Power BI and Fabric, Salesforce, Cube, Lightdash, Omni, Sigma, ThoughtSpot and more. The Snowflake-to-Cortex-Analyst converter is under active development.
- Tooling in the main repo: a validator, a Python SDK (0.3.0.dev0, not on PyPI) and a compliance suite.
Limits
What Ossie does not cover yet
- Querying. The expression language does not define a query interface. A relational query interface is a draft, and a reference query engine is future work.
- Access control. Governance, identity and access control are on the roadmap, not in the spec, so tenant and row rules stay in each tool.
- Grain and non-additive metrics. The roadmap says the model lacks support for metrics at different grains, filters and aggregation semantics, and an open issue notes there is no way to declare a non-additive metric.
- Stability. The main branch is a draft with breaking changes from the only release, so converters target different versions.
None of this makes Ossie less useful as an exchange format. It does mean a semantic layer still needs its own runtime, its own access rules and its own query API, whichever format it imports.
Questions
Open Semantic Interchange FAQ
What is Open Semantic Interchange (OSI)?
Open Semantic Interchange is a vendor-neutral, open-source specification for describing semantic models (datasets, fields, relationships and metrics) in YAML or JSON, so one definition can move between BI tools, semantic layers and AI tools. Snowflake announced it with partners in September 2025.
What is Apache Ossie?
Apache Ossie (incubating) is OSI’s new name. The project entered the Apache Software Foundation’s incubator on June 22, 2026, and the rename was announced in July 2026. The project says the spec, community and mission did not change. The repository is now apache/ossie.
Who is behind OSI?
Snowflake led the launch with Salesforce, dbt Labs and RelationalAI, supported by BlackRock. Databricks, AtScale, Qlik, Lightdash and others joined in January 2026, and Microsoft engineers contributed a Power BI converter. The project’s ecosystem page listed more than 70 organizations on November 10, 2026. Google and ClickHouse were not among them.
What version is the OSI spec?
The only release is 0.1.1, dated December 11, 2025. The main branch is a draft, 0.3.0.dev0, with breaking changes: one model per document with no semantic_model wrapper, and keys and metric expressions that refer to dataset fields rather than source columns. There will be no 0.2.0.
Is OSI a query language?
No. Ossie defines how a model is written down, not how it is queried. The expression language explicitly does not define a query interface. A relational query interface and a reference engine are drafts or future roadmap items.
Which tools support OSI?
Snowflake semantic views import and export Ossie YAML (version 0.1.1 for import), and dbt v1.12 reads Ossie files as an alternative to YAML. The apache/ossie-converters repository holds converters for dbt MetricFlow, Databricks metric views, Power BI, Salesforce, Cube, Lightdash and others. There is no ClickHouse converter yet.
Guides
More on semantic layers
What is a semantic layer
What a semantic layer is, the five places one can live, and how dbt MetricFlow, Snowflake semantic views, Databricks metric views and OSI compare with a layer defined in code.
Read
dbt Semantic Layer and MetricFlow
Semantic models, metric types and the Semantic Layer APIs, compared with a semantic layer defined in code.
Read
Snowflake semantic views
CREATE SEMANTIC VIEW, the SEMANTIC_VIEW() query and Cortex Analyst, compared with a semantic layer defined in code.
Read
Databricks metric views
Unity Catalog metric views in YAML, the MEASURE() function and Genie, compared with a semantic layer defined in code.
Read
ClickHouse semantic layer
Define datasets, measures and tenant keys for ClickHouse in TypeScript or Python.
Read
hypequery vs Cube
A code-first library compared with a standalone semantic layer service.
Read
Sources
Vendor pages used for this page, all read on November 10, 2026.
- Apache Ossie
- ossie.apache.org/updates/
- ossie.apache.org/ecosystem/
- incubator.apache.org/projects/ossie.html
- github.com/apache/ossie
- github.com/apache/ossie/blob/main/core-spec/spec.md
- github.com/apache/ossie/blob/main/core-spec/ossie-schema.json
- github.com/apache/ossie/blob/main/core-spec/expression_language.md
- github.com/apache/ossie/blob/main/extensions/dialects.md
- github.com/apache/ossie/blob/main/ROADMAP.md
- github.com/apache/ossie-converters
- Snowflake and dbt Labs
- www.snowflake.com/en/news/press-releases/snowflake-salesforce-dbt-labs-and-more-revolutionize-data-readiness-for-ai-with-open-semantic-interchange-initiative/
- www.snowflake.com/en/blog/osi-initiative-expands-partners/
- www.snowflake.com/en/blog/open-semantic-interchanges-specs-finalized/
- www.snowflake.com/en/blog/apache-ossie-open-semantic-interchange-incubator/
- www.snowflake.com/en/blog/engineering/apache-ossie-microsoft-ecosystem-support/
- www.getdbt.com/blog/dbt-labs-affirms-commitment-to-open-semantic-interchange-by-open-sourcing-metricflow
- docs.getdbt.com/docs/build/ossie-semantic-models
- docs.snowflake.com/en/sql-reference/stored-procedures/system_create_semantic_view_from_ossie_yaml
Next step
Define a semantic layer in your own codebase
hypequery datasets are TypeScript or Python files: dimensions, measures, joins and a tenant key, served to your API, React hooks and AI agents over MCP. Open source, for ClickHouse.