My “Open Semantic Interchange (OSI)” post was an intro to the this relatively new standard. Fast forward, OSI was accepted into the Apache Incubator in June 2026 and is now known as Apache Ossie. Lo and behold, Microsoft is now prominently listed on ossie.apache.org/ecosystem. In fact, Microsoft engineers authored a bidirectional Power BI / Fabric converter that merged into the project on September 16, 2026. The converter and its documentation are here. The converter is Apache-licensed open source rather than a supported product feature.
Enabling AI integration scenarios
As I mentioned in my first post, Fabric semantic models are very feature-rich and what can be mapped to Ossie are just tables and relationships. So why bother? One scenario is to allow Snowflake agentic interfaces to interact with Fabric semantic models along the following diagram, which was actually a scenario a client was asking about in a current project:
User
|
| “What was the revenue by product last quarter?”
|
v
Snowflake AI Agent / LLM
|
+—- reads —-> Ossie model
| |
| +– Revenue = metric
| +– Product = dimension
| +– relationships
| +– synonyms
| +– AI instructions
|
| Agent understands what the user means
|
v
Fabric query tool / API
|
| DAX query
|
v
Power BI Semantic Model
|
v
Result
|
v
AI Agent
|
v
“Total Revenue was $12.4B…”
In that diagram, the Snowflake agent composes the DAX, so it needs enough context to do that well. Microsoft’s guidance is that DAX generation against a semantic model draws on the model’s metadata plus its Prep for AI configuration, covering synonyms, descriptions, AI instructions, verified answers, and report visual metadata.
Another option via MCP protocol
Another integration option would be Snowflake agentic interface delegating to a Fabric Data Agent using the MCP protocol. This implementation keeps a single definition inside Fabric. Publishing a Fabric data agent exposes it as an MCP server with one tool, and Snowflake Cortex Agents can register external MCP servers over OAuth. The data agent is generally available, the MCP consumption path is currently documented as preview, and there is no prebuilt Snowflake connector, so either route is a custom integration.



JOIN THE CONVERSATION
Discussion