Summary

Materialize and Microsoft Fabric IQ both help applications and AI agents work in terms of business objects rather than raw tables. The difference is the mechanism by which those objects are updated. Fabric IQ provides a governed semantic and ontology layer over data brought into or made available through Microsoft Fabric. It treats an entity's static attributes separately from its time-series properties: static attributes reach its ontology instance graph from data bound in OneLake, Fabric's storage layer, and are refreshed manually or on a schedule. Materialize uses SQL to define business objects and their relationships and incrementally maintains this context, or derived state, as source changes are ingested.

For analytics, a shared vocabulary, and Microsoft Copilot experiences, Fabric IQ offers a deeply integrated modeling experience. Fabric also has live paths through Eventhouse, its real-time analytics store, and through time-series bindings, with operations agents that act on them. Materialize is differentiated when the context an agent or API needs is derived across operational systems and must stay current continuously. SQL defines the transformation from raw data to refined context, and Materialize incrementally maintains it as the underlying data changes.

What Fabric IQ is

Fabric IQ provides a governed business vocabulary intended to ground agents and experiences across the Microsoft ecosystem. Microsoft Learn states that Fabric IQ "provides context on the state of your business" and is grounded in analytical, real-time, and operational data. Operations agents monitor live data, evaluate rules every five minutes, and can execute approved actions. Each receives a dedicated Microsoft Entra agent identity for governance and attribution, while operating with the delegated permissions of its creator.

A binding connects an entity type, Fabric IQ's unit of modeling, to the Fabric data that populates it. Bindings require that data to be in Fabric: static data in OneLake, time series in OneLake or an Eventhouse. Learn is explicit that ontology "only supports managed lakehouse tables … not external tables that show in the lakehouse but reside in a different location."

Each entity type supports exactly one static data binding. Learn states plainly that "you can't combine static data from multiple sources for a single entity type," though multiple time series bindings are supported, including from both Eventhouse and lakehouse sources.

Freshness in practice

How Fabric IQ keeps static entity state current

Microsoft's documentation states that schema changes propagate automatically; changes to the underlying bound data do not:

If there are changes to the external data source that feeds your graph (for example, if new records are added, updated, or deleted in the upstream system), the graph doesn't know about these changes unless you explicitly inform it. In this case, your graph might display stale data until a new ingestion is triggered.

Microsoft Learn, View Entity Type Details: Refresh the graph model.

We recommend batching updates for refresh instead of refreshing the graph after every individual change, as the graph does a full refresh each time. This approach has cost implications for the Graph in Microsoft Fabric item.

Microsoft Learn, View Entity Type Details: Refresh the graph model.

Refresh can be triggered manually or put on a recurring schedule. Either way the ontology instance graph is a periodically rebuilt representation of bound static entity state, and Microsoft advises batching changes because each rebuild is complete rather than incremental. Time-series properties backed by an Eventhouse are a separate, live path.

How Materialize maintains business objects

A live context layer is the set of business objects an application or agent reads from, kept current as the underlying data changes. In Materialize those business objects are defined in SQL. When they are maintained through indexes or materialized views, Materialize incrementally updates their results as new data is ingested rather than rebuilding them from scratch. There is no user-configured refresh cycle.

Why refreshing more often is not the answer

Refresh frequency is a cost dial. Refreshing more often reduces the maximum staleness window, but it does not eliminate the refresh boundary. Microsoft recommends batching updates because the graph does a full refresh each time and those refreshes have capacity-cost implications. Incremental maintenance takes a different approach: it processes changes to inputs rather than repeatedly rebuilding the full result.

Consistency in practice

For operational applications, values combined in a query often need to represent one consistent point in time. Materialize evaluates a query spanning multiple maintained objects against a consistent logical timestamp. Its default Strict Serializable isolation additionally provides serializability and linearizability for transactions within Materialize; upstream ingestion has separate freshness semantics.

Composability in practice

For static entity state, each Fabric IQ entity type supports one static data binding. If a Customer, Order, or Shipment needs static attributes from multiple operational systems, those inputs must first be combined into a single supported source before the entity type can bind to them. Materialize can express that cross-system derivation directly in SQL and maintain it incrementally as inputs change.

Deployment options

Fabric can reference external and on-premises data through OneLake shortcuts without copying it, including network-restricted sources through the on-premises data gateway. However, ontology's static data bindings currently require managed lakehouse tables and do not support external tables that remain at another location. Depending on the source and the binding required, customers may therefore need to materialize or mirror data into a supported Fabric table before it can populate the ontology instance graph.

The difference is where the computation runs, not where every byte is stored. Fabric is delivered as software as a service, and its compute plane is a Microsoft-operated service. There is no self-managed deployment of it.

Materialize can be deployed as a service, and also has a Self-Managed option that runs in the customer's own Kubernetes, in their cloud account or their data center, inside their network boundary, running the same engine as the managed service. For organizations that require the live context computation itself to remain in their environment, not merely the storage of the source data, that is a fundamental deployment difference, and it is often decisive for regulated or latency-bound operations.

Authoring and graph experience

Fabric IQ is authored in a portal. A business analyst can model entity types visually, bind them to sources, explore the ontology instance graph, run built-in graph algorithms, and ask questions in natural language without writing SQL. It connects directly to the Copilot experiences that platform provides. Materialize's live context layer is typically authored as versioned SQL by software and data engineering teams, and maintained like the rest of a code base.

Graph and recursive computation

Graph in Microsoft Fabric, a separate item from the ontology instance graph, is a property-graph engine with labeled nodes and edges, the GQL graph query language, visual exploration, built-in algorithms, and APIs.

Materialize expresses relational and recursive computations in SQL and maintains those results incrementally as operational data changes.

Agents and the state underneath them

An operations agent pointed at an Eventhouse reads live telemetry directly, and an ontology with Eventhouse-backed time-series properties is also a live path. But when the context an agent needs is a cross-system derived entity, its static attributes must first be combined into one supported source. Fabric IQ then binds the entity type to that source, and changes to the bound data reach the ontology instance graph through full graph refreshes rather than continuous incremental maintenance. Materialize can define the cross-system derivation itself in SQL and incrementally maintain it as inputs change.

The context an agent needs
Example
Fabric IQ
Materialize
A single live signal
Sensor temperature, an event stream, a telemetry threshold
An operations agent reads the Eventhouse directly, or an ontology with Eventhouse-backed time-series properties. The underlying data is live; agent rules evaluate every five minutes.
The threshold or time window is expressed in SQL and maintained as events arrive. Each change is streamed to the application or agent that acts on it, with no rule-evaluation interval.
An object derived across systems
Order state, account risk, a shipment spanning ERP, CRM, and transactional systems
Static attributes must first be combined into one supported source and bound through the entity type's single static binding. Changes reach the graph through full refreshes, each with capacity-cost implications, so the object is only as current as the last one.
The derivation is defined in SQL and maintained incrementally, so it reflects source changes as they are ingested.

For applications and agents that require up-to-the-second context, a scheduled refresh creates a period in which the derived object may no longer reflect upstream state. For a derived object assembled across systems, the graph-refresh interval determines how long the ontology can remain behind changes to its bound static data.

When not to introduce Materialize

Where the requirement is a shared vocabulary for reporting and Copilot grounding, and the data it describes belongs in OneLake on its own merits, Fabric IQ is a reasonable answer. The refresh model examined above is, for that workload, a sensible cost control rather than a limitation. The same holds where the signal is single-source telemetry, nothing downstream needs it combined with data from other systems, and action can wait for a rule interval: an operations agent over an Eventhouse is a reasonable fit.

Where a team has no engineering capacity to own a live context layer as code, and needs analysts to model in a browser, Fabric IQ fits that operating model better than Materialize does.

Two layers, two different objectives

Fabric IQ is built to establish one governed vocabulary across a Microsoft estate and to ground analytical, real-time and Copilot experiences in it. Materialize is a platform for engineering, data, and AI teams built to continuously maintain cross-system operational state so that applications, automation, and acting agents operate on a consistent and current representation of it.

Workload
Route to
Why?
Live cross-system derived objects for applications and APIs
Materialize
Assembled from several systems and maintained continuously, served with low latency
Agents acting on derived state that spans systems
Materialize
No scheduled refresh boundary; changes propagate incrementally as they are ingested.
Context computation that must run in the customer's environment
Materialize
Self-managed on customer Kubernetes; Fabric's compute plane is Microsoft-operated SaaS
Identity resolution across systems of record
Materialize
Can be centralized in a canonical SQL object, versioned and maintained with the rest of the context layer.
Monitoring a single live signal and acting on it
Materialize
The condition is maintained continuously and each change is streamed to whatever acts on it, with no rule-evaluation interval. Fabric's operations agents read the same live data but evaluate rules every five minutes.
Enterprise vocabulary and business intelligence grounding
Fabric IQ
Governed definitions, analyst authoring, Copilot distribution
Relationship and impact analysis over a modeled graph
Fabric IQ
Native property graph with GQL, visual exploration, and built-in algorithms
Historical analysis and trend exploration
Fabric
Purpose-built for scanning accumulated data

Choose Materialize when context assembled across systems must be current and correct. This is particularly important for "interactive" agents that work in loops or team with humans.