# Open Semantic Interchange Format

Actian AI Analyst supports the [Open Semantic Interchange (OSI)](https://www.snowflake.com/en/blog/open-semantic-interchange-ai-standard/) 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](https://www.snowflake.com/en/blog/open-semantic-interchange-ai-standard/) 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

{% hint style="info" %}
For complete backups that preserve all details, use the **Actian AI Analyst Lossless** format instead.
{% endhint %}

### OSI Output Example

```yaml
# 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."
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wobby.ai/governance/export-semantic-layer-and-agents/open-semantic-interchange-format.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
