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."