Fastero

Point Claude at your database.

Try free
Back to blog

Blog article

Apache Ossie Explained: The Open Standard for Metric Definitions (2026)

Apache Ossie, which started as Snowflake's Open Semantic Interchange, is an open format for metric definitions that BI tools, semantic layers and AI agents can share. What's in it, who supports it, how it relates to dbt and Cube, what's missing, and what to do about it now.

Fastero Dev TeamFastero Dev Team
2026-10-13
semantic-layermetricsai-agentsmcpdata-modeling

Ask your BI tool, your spreadsheet and an AI agent for last month's revenue and you can get three different numbers: one excludes refunds, one counts by invoice date, one forgot the currency conversion. Apache Ossie is an attempt to write the definition down once, in a format every tool can read.

The short answer: Apache Ossie is an open YAML/JSON format for metric definitions — the tables, how they join, the metrics, and context for AI agents — so BI tools, semantic layers and agents can share one definition of "revenue". Snowflake started it as Open Semantic Interchange in September 2025, and it has been in the Apache Incubator since June 2026. As of October 2026 the latest version is 0.1.1 and there's no Apache release yet; Snowflake reads and writes it in preview, and dbt imports it.

Why does Ossie exist?

The project calls the problem semantic drift: the same concept, such as monthly active users, defined differently in different systems. Every BI tool and semantic layer has its own format — dbt's MetricFlow, Cube, LookML, Snowflake semantic views, Power BI's models — so a definition written in one has to be rewritten by hand in the next, and the copies drift apart.

AI agents make this sharper. An agent asked "what was revenue last quarter?" writes its own SQL unless something tells it what revenue means, and two agents, or the same agent on two days, can answer differently. Ossie's answer is a shared file that carries the definition and the context an agent needs to use it.

Where did it come from?

  • September 2025: Snowflake launched Open Semantic Interchange with Salesforce, BlackRock, dbt Labs and RelationalAI; Alation, Atlan, Cube, Hex, Mistral AI, Omni, Sigma and ThoughtSpot were among the others named at launch.
  • June 2026: the project entered the Apache Software Foundation's Incubator and was renamed Apache Ossie, partly to avoid confusion with other projects called OSI.
  • Since then: the project's ecosystem page lists about 73 organisations. Microsoft joined in September with a Power BI converter and a DAX dialect, NVIDIA joined the same month, and Google was reported to be joining.

Like every incubating project, it isn't yet an official Apache project. Its September report lists a first release, the move to Apache infrastructure and a wider set of contributors as the open items.

Fastero

Point Claude at your database.

Add Fastero to claude.ai or Claude Code. Claude builds the dashboard, deploys the app or publishes a live page, and your team opens it in Fastero.

Try free →

What's in an Ossie model?

A model file describes four things:

  • Datasets — a table or view, its primary key, and its fields, each with an expression per SQL dialect, a data type and whether it's a time dimension.
  • Relationships — how datasets join: the "many" side, the "one" side and the matching columns.
  • Metrics — a named aggregate expression, such as SUM(orders.amount).
  • AI context — instructions, synonyms and examples, at any level, for agents and natural-language tools.

Here is a condensed example in the layout of the current draft (0.2), adapted from the spec:

version: 0.2.0.dev0
name: ecommerce_analytics
datasets:
  - name: orders
    source: sales.public.orders
    primary_key: [order_id]
    fields:
      - name: order_date
        expression:
          dialects:
            - dialect: ANSI_SQL
              expression: order_date
        datatype: Date
        dimension:
          is_time: true
relationships:
  - name: orders_to_customers
    from: orders
    to: customers
    from_columns: [customer_id]
    to_columns: [id]
metrics:
  - name: total_revenue
    expression:
      dialects:
        - dialect: ANSI_SQL
          expression: SUM(orders.amount)
    description: Total revenue from all orders
    ai_context:
      synonyms: ["total sales", "revenue"]

The released version, 0.1.1, puts models in a semantic_model array; the draft drops it and puts one model at the root of each file, one of several changes that mean today's files won't validate unchanged against the next version.

What's the status of the spec?

  • 0.1.1 is the latest released version of the spec, published in the project's repository with a release candidate tagged in May 2026.
  • 0.2 is the draft on the main branch: one model per document, a data-type list, new dialects (BigQuery, DAX, Sigma, ThoughtSpot and others) and a proposed portable expression language, OSSIE_SQL_2026, based on ANSI SQL:2003.
  • The first Apache release is now proposed as 0.3.0-incubating, after the converters move to their own repository.

In short: a real format with real support, still moving. Expect breaking changes before 1.0.

Who supports Ossie today?

Checked 13 October 2026.

Product Support Status
Snowflake Reads and writes 0.1.1 (to and from semantic views) Preview, open to all accounts
dbt (v1.12+) Imports 0.1.0 and 0.1.1 JSON files Shipped; unsupported parts are dropped with a warning
Databricks Converters in the Ossie repository, including for Spark metric views No in-product support
Microsoft Power BI Converter in the repository, DAX dialect in the draft Converter
Cube, Hex, Omni, Sigma, ThoughtSpot, GoodData, Holistics, Honeydew, Salesforce Converters in the repository Converters
Strategy Mosaic, Veezoo, Golden Analytics Import (and export, for Strategy) The vendors' own claims
duckdb-ossie A DuckDB extension that runs Ossie models directly Community
Lightdash Experimental Import and export "coming soon"

How does it relate to dbt, Cube, LookML and Spark?

  • dbt MetricFlow: the repository has a two-way dbt converter, and dbt 1.12 imports Ossie files. A team using MetricFlow reported on the mailing list that Ossie can't yet express metrics built from other metrics or metrics that combine several fact tables.
  • Cube: a two-way converter landed in September 2026.
  • LookML: no converter; the spec mentions LookML only as a precedent.
  • Spark metric views: Apache Spark 4.2.0 (July 2026) added CREATE VIEW … WITH METRICS, an engine-native format; the Databricks converter maps those views to and from Ossie.
  • AI agents: ai_context is the part built for them, and Snowflake keeps it on import. Agents reach semantic layers mostly through MCP servers today — duckdb-ossie, for example, serves an Ossie model to agents over MCP.

What's missing?

  • No Postgres, MySQL or SQL Server dialect. Expressions for those databases fall back to ANSI_SQL, or OSSIE_SQL_2026 once it's final.
  • Relationships have no cardinality, so one-to-one and many-to-many joins can't be stated yet; a fix is proposed.
  • No derived, cumulative or filtered metrics, and no grain. The roadmap lists them as missing, with votes pending on filters.
  • Conversions lose detail. Snowflake's export drops non-equi joins, labels and data types, and a portable structure doesn't guarantee two tools compute the same number.

What should you do now?

  • On Snowflake or dbt 1.12? Try it: export a semantic view to Ossie, or import a model into dbt, and see what survives.
  • Building a semantic layer from scratch? Keep definitions simple enough to convert later — one aggregate per metric, explicit joins, ANSI SQL expressions — and keep them in one place your tools and agents read.
  • Pointing AI agents at your data? Give them your definitions before they write SQL. That's where most of the wrong answers come from, with or without a standard.

That last point is what Fastero does today, in its own format. Fastero keeps your organisation's shared definitions — the SQL behind each metric, which table holds what, and how tables join — and Claude reads them through Fastero's connector before it answers. When you settle what a number means in a conversation, Claude can save the definition, so the next chat, Fastero's own assistant and the dashboards all resolve "revenue" the same way. See the Fastero MCP server.

FAQ

What is Apache Ossie?

An open YAML/JSON format for describing datasets, how they join, the metrics built on them, and context for AI agents, so different BI tools, semantic layers and agents can share one set of definitions. It's an Apache Incubator project, started by Snowflake as Open Semantic Interchange.

Is Ossie the same as OSI or Open Semantic Interchange?

Yes. Open Semantic Interchange (OSI) was the name at launch in September 2025; the project became Apache Ossie when it entered the Apache Incubator in June 2026.

Which tools support Apache Ossie?

Snowflake reads and writes version 0.1.1 in preview, and dbt v1.12 and later imports it. The project's repository has converters for Databricks, Power BI, Cube, Hex, Omni, Sigma, ThoughtSpot and others, and a few vendors claim import support of their own.

Does Ossie work with Postgres?

Not with a Postgres-specific dialect: the spec's dialect list has no Postgres, MySQL or SQL Server entry. You can write expressions in ANSI_SQL, which covers most simple metrics.

Is Ossie ready for production?

It's usable where a vendor ships it — Snowflake's preview, dbt's import — but the spec is pre-1.0, the first Apache release hasn't happened, and the next version changes the file layout. Treat it as an exchange format to watch and test, not yet a foundation to build on alone.

Sources

Checked on 13 October 2026:


Related reading:


Try Fastero free — keep your metric definitions in one place, and let Claude read them before it answers. No credit card required.

Point Claude at your database. Get a dashboard your team can open.

Sign in from claude.ai, or add one line to Claude Code, and ask for the dashboard. No credit card required.