Skip to content
Duodata
Why Duodata

An inspectable business model, deployed natively.

The business model, the observed schema, the mappings and the native output are distinct, inspectable artifacts — reviewed in Git and deployed as Unity Catalog metric views or Snowflake semantic views.

Start with one question

What does revenue mean here?

One question, three distinct artifacts: the declared definition, the mapping to physical columns, and the computed result. They are related — and they are not the same thing.

Question

“How much did revenue grow?”

AI answer without the business definition

Revenue grew 10%.

Gross revenue: $10.0m → $11.0m. The gross-revenue answer is 4.6 percentage points above the growth Finance reports.

Explore the technical details

Gross revenue, Q2 vs Q3 2026

Growth: 10.0%

Revenue components by quarter, 2026
ComponentQ2Q3
Gross revenue$10.0m$11.0m
Discounts$0.5m$0.8m
Credits$0.2m$0.4m
Net revenue$9.3m$9.8m

Fictional example in USD. Not customer data.

  1. 01

    Declaration

    The business definition and its owner, declared once in versioned YAML.

  2. 02

    Mapping

    Each mapping carries at most one typed target location; a definition can have several mappings.

  3. 03

    Result

    The number the platform computes from that mapping — reproducible, not re-explained.

The model

The business model, as a record.

Every fact below is a stored, reviewable value. The stable identifier and the source mapping reference are exposed separately from the business wording.

Metric
net-revenue — the stable identifier
Definition
Declared once; the mapping binds it to columns
Synonyms
Resolved to the same identifier
Unit
USD
Owner
Finance — recorded on the declaration
Dimensions
quarter, customer_segment — mapped to source columns
Reports
Report usage recorded per metric
Illustrative definition excerptyaml
metric:
  name: Net revenue
  identifier: net-revenue
  description: Gross revenue less discounts and credits, in USD for the selected quarter.
  unit: USD
  period: Quarterly
  businessOwner: Finance
  formula:
    pretty: Net revenue = Gross revenue - Discounts - Credits
  1. Q1 · How much did revenue grow?

    10% on gross — the column an assistant finds first.

  2. Q2 · Show the business definition.

    Net revenue grew 5.4%: gross − discounts − credits, owned by Finance.

  3. Q3 · Why did discounts grow faster?

    The grounded answer opens the next business question — and any missing definition returns to business review.

The semantic layer

Declared definition → target mapping → native semantic asset.

Duodata captures and maintains the business model and its connection to the implementation. Platforms ship capable native semantics — Duodata feeds them, it does not replace them.

From business meaning to platform execution

Defined by the business

Net revenue

= gross revenue − discounts − credits

Owner
Finance
Used for
Quarterly reporting

Model, mappings and native output

Your business meaning, ready for AI

One agreed definition with an owner, a time grain and the words people use to ask for it.

Choose your platform

Your platform executes the calculation. Pick one; you don't need both.

Answer in AI/BI Genie

Net revenue grew 5.4% from Q2 to Q3.

Definition used: net revenue = gross revenue − discounts − credits (owner: Finance), served through Unity Catalog metric views.

Fictional example

Duodata Metrics Ontology · one definition — origin and calculation across all stages

Reviewed SQL sums the amounts per calendar quarter into the persisted Gold table snapshot.

Relationships

Calculation, report usage and influence are different things.

Solid edges compute the number. A dashed edge records an asserted business influence for review — it is not proved causation and not part of the reconciliation.

  • Gross revenue
  • Discounts
  • Credits

Net revenue

Owner: Finance · Quarterly

Promotional campaign intensity fictional operational driver

An asserted business relationship, recorded for review. It is not a calculation, not proved causation, and not part of the numeric reconciliation.

Calculation edge Asserted influence Report usage is recorded separately on each metric
When things change

Meaning changes and implementation changes are reviewed differently.

A definition change is a business policy review. A schema change is a mapping review. Both are human decisions, recorded and carried through — never silently auto-fixed.

Meaning change

The business revises a policy or definition — for example, how conditional inspections count. Review is a human, business-owned decision; the change is recorded with its owner and date.

Implementation change

A column or schema changes in the source. The impacted mapping surfaces for review; nothing is silently re-pointed. There is no universal auto-fix — a person confirms the new mapping before it deploys.

Mapping and native output match the observed schema.

1 · Observed schema

demo.gold.revenue_by_quarter

Unity Catalog catalog demo, schema gold, table revenue_by_quarter

  • credits DECIMAL(18,2)
  • discounts DECIMAL(18,2)
  • gross_revenue DECIMAL(18,2)
  • quarter DATE

2 · Mapping

Logical fact to physical column
LogicalPhysical
gross_revenuegross_revenue
discountsdiscounts
creditscredits

Business definition unchanged: net revenue = gross revenue − discounts − credits.

3 · Totals

Q2 net revenue
$9.3m
Q3 net revenue
$9.8m

Mapping current

Databricks metric view · revenue_semantics.sqlsql
CREATE OR REPLACE VIEW demo.gold.revenue_semantics
WITH METRICS
LANGUAGE YAML
AS $$
version: "1.1"
comment: Fictional quarterly revenue example.
source: demo.gold.revenue_by_quarter
fields:
  - name: quarter
    expr: source.quarter
measures:
  - name: net_revenue
    expr: SUM(source.gross_revenue) - SUM(source.discounts) - SUM(source.credits)
$$;

Fictional example. Nothing here runs against a warehouse.

How it fits

Metrics ontology, semantic layer and data catalog are complementary.

Catalogs already store terms, owners, relationships and policies, and platforms ship native semantics. The value Duodata adds is focused business participation and maintained meaning and mappings — not universal sync or connector promises.

Metrics ontology

What measures mean, who owns them, how they relate.

Duodata: Duodata's home: business participation, meaning and mappings, review and ongoing maintenance.

Semantic layer

How measures compute against data, natively in the platform.

Duodata: Duodata deploys into it: Unity Catalog metric views, Snowflake semantic views.

Data catalog

What data exists, where it lives, who can use it. Catalogs already store terms, owners, relationships and policies.

Duodata: Duodata contributes governed definitions and maintained mappings the catalog can reference.

On Databricks, this sits alongside Unity Catalog Semantics metric views, Pages and Domains, and the modeled and inferred context of Genie Ontology — Duodata curates definitions and mappings for those capabilities and does not control Genie's ranking. Supporting reading(opens in a new tab)

Scope

Start with measures; contribute to something wider.

A focused metrics model is not a rung on a maturity ladder. Scientific, clinical and broad domain models serve different needs — and a focused model can contribute to a wider enterprise ontology program through open formats, across an explicit boundary.

Duodata scope · focused business model

Net revenueInspection pass rateBooked-to-flown weight
Entities & relationships:CustomerProductContract

Measures, their definitions, owners, dimensions and reports — plus the business entities and entity relationships they refer to. Small enough for business participation.

Analytics interchange · Apache Ossie (incubating)

Snowflake semantic viewsDatabricks metric views

The open semantic-model interchange carries the agreed model into platform-native semantic assets — its verified role.

Alignment with your enterprise ontology

Domain contextVocabulariesReasoning needs

Broader programs stay customer-owned — wider domain models, vocabularies and reasoning serve different needs. The focused model contributes its agreed concepts and metric definitions to them; it does not replace them.

Delivery

Ontology-guided engineering, layer by layer.

Definitions drive agent and review work into native semantics, gold facts and dimensions, and silver preparation — with bronze source validation underneath. Select a layer to see its input, output and check.

Defined once by the business

Duodata Metrics Ontology

  • Definitions & formulas
  • Dimensions & relationships
  • Governance & ownership

Guided work

Agents & review

Create, test and maintain each layer — with human review before deploy.

Input
Reviewed mappings and the declared business definitions.
Output
A Unity Catalog metric view or Snowflake semantic view, ready for Genie or Cortex Analyst.
Check
Native validation — the semantic asset compiles and answers with the agreed definition.
Distinct artifacts

Observed schema, mapping and native output stay separate.

The observed schema captures physical structure. The mapping model binds business terms to columns. Native output is what the platform runs. All three follow the platform selected above.

Observed columns · demo.gold.revenue_by_quarter (Databricks)

  • creditsDECIMAL(18,2)
  • discountsDECIMAL(18,2)
  • gross_revenueDECIMAL(18,2)
  • quarterDATE

Physical introspection of the gold table — machine-owned, never hand-edited.

Business termLogicalColumn
Gross revenuegross_revenuedemo.gold.revenue_by_quarter.gross_revenue
Discountsdiscountsdemo.gold.revenue_by_quarter.discounts
Creditscreditsdemo.gold.revenue_by_quarter.credits
Quarterquarterdemo.gold.revenue_by_quarter.quarter

Apache Ossie (incubating) is the open interchange between the mapping model and platform-native outputs. Open formats

File roles

Four artifact kinds, four owners.

Git makes every file diffable; customer review and adoption carry refinements back to the declared meaning.

declared/metrics/net-revenue.duodata.yaml

Business declaration plus target mappings. Core publishes from here.

observed/<system>/<DB>.<SCHEMA>.schema.yaml

Physical introspection of the source. Machine-owned, never hand-edited.

derived/<system>/<report>.ossie.yaml

The open semantic model Core projects — Apache Ossie (incubating) 0.1.1.

derived/<system>/<report>.refined.sv.yaml

Verified Snowflake refinement artifact, owned by the platform agent.

  • A business formula is not the upstream calculation, the target aggregation, or the location mapping — they are distinct, typed parts.
  • A schemaObjectRef is physical; a semanticObjectRef points into the semantic store. Each mapping carries at most one typed target location; a definition can have several mappings.
  • Core currently emits Apache Ossie (incubating) 0.1.1 — a verified interchange, not a promise of future versions.
  • Native artifacts here are explanatory examples. Execution happens in your warehouse, under your controls.
Native output

Explanatory examples of what deploys.

Databricks metric view · revenue_semantics.sqlsql
CREATE OR REPLACE VIEW demo.gold.revenue_semantics
WITH METRICS
LANGUAGE YAML
AS $$
version: "1.1"
comment: Fictional quarterly revenue example.
source: demo.gold.revenue_by_quarter
fields:
  - name: quarter
    expr: source.quarter
measures:
  - name: net_revenue
    expr: SUM(source.gross_revenue) - SUM(source.discounts) - SUM(source.credits)
$$;
Snowflake semantic view · revenue_semantics.yamlyaml
name: revenue_semantics
description: Fictional quarterly revenue example.
tables:
  - name: revenue
    base_table:
      database: DEMO
      schema: GOLD
      table: REVENUE_BY_QUARTER
    time_dimensions:
      - name: quarter
        expr: QUARTER
        data_type: DATE
    facts:
      - name: gross_revenue
        expr: GROSS_REVENUE
        data_type: NUMBER
      - name: discounts
        expr: DISCOUNTS
        data_type: NUMBER
      - name: credits
        expr: CREDITS
        data_type: NUMBER
    metrics:
      - name: net_revenue
        expr: SUM(gross_revenue) - SUM(discounts) - SUM(credits)
Platforms

Built for Snowflake and Databricks.

Databricks

Business meaning deploys as Unity Catalog metric views, answered by AI/BI Genie.

Explore Duodata for Databricks

Snowflake

Business meaning deploys as Semantic Views, answered by Cortex Analyst.

Explore Duodata for Snowflake
Free pilot

Start a free pilot

We work through one business question with you: agree its meaning, map it to the relevant data and review how it works on Snowflake or Databricks. We agree the scope together before we start.