Skip to content
M↓ View as Markdown ↗

Open Semantic Interchange Format

Actian AI Analyst supports the Open Semantic Interchange (OSI) format for exporting and importing semantic layers across tools.

What is OSI?

OSI is a vendor-agnostic, open-source specification for semantic model exchange across AI agents, BI platforms, and analytics tools. It was initiated by Snowflake together with Salesforce, dbt Labs, and other players, and is governed as an open standard under the Apache 2.0 license. Participating organizations include Actian AI Analyst, Tableau, Qlik, ThoughtSpot, Omni, Sigma, Alation, Select Star, and others.

Actian AI Analyst to OSI Mapping

Actian AI Analyst Entity OSI Entity Notes
Environment semantic_model Container for the export
Model datasets Direct mapping
Model.sourcePath datasets.source Formatted as db.schema.table
Model.grain datasets.primary_key Array of column names
Model.agentGuidance datasets.ai_context Combined with description
ModelDimension datasets.fields With expression dialect
ModelDimension (temporal) fields.dimension.is_time Boolean flag
ModelMeasure datasets.fields ai_context: "Measure. Unit: X..."
ModelRelationship relationships from_columns/to_columns as arrays
Metric metrics Expression with dialect
GlossaryTerm ai_context "Also known as: term, synonym1..."

What's NOT Exported in OSI

OSI is a lightweight interchange format. The following Actian AI Analyst-specific features are not included:

  • Filters - OSI has no filters concept
  • Agents - No OSI equivalent
  • Glossary definitions - Only terms/synonyms are preserved as ai_context
  • Enum value descriptions - Only values are listed
  • Sample data - Not part of OSI spec

Info

For complete backups that preserve all details, use the Actian AI Analyst Lossless format instead.

OSI Output Example

# OSI (Open Semantic Interface) Export
# Generated by Actian AI Analyst
# Environment: My Analytics
# Exported at: 2026-01-28T10:30:00.000Z
---
semantic_model:
  - name: "My Analytics"
    description: "Exported from Actian AI Analyst"
    ai_context: "Source: actian-ai-analyst. Environment ID: env_123"

    datasets:
      - name: "orders"
        source: "mydb.analytics.orders"
        primary_key: ["order_id"]
        description: "Order transactions"
        fields:
          - name: "order_date"
            expression:
              dialects:
                - dialect: "ANSI_SQL"
                  expression: "order_date"
            dimension:
              is_time: true
            ai_context: "Time grains: DAY, MONTH, YEAR"
          - name: "total_amount"
            expression:
              dialects:
                - dialect: "ANSI_SQL"
                  expression: "SUM(amount)"
            ai_context: "Measure. Unit: USD. Precision: 2."

    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"
        ai_context: "Anchor model: orders. Unit: USD."