Ravi Chandu Edru/ learn
Ontology & Fabric IQ

Things

Entity instance

The dashboard said 4,821 customers. The files held 12,000 rows. A row is not a thing; an instance is.

4 min read

The dashboard said 4,821 customers. The source files held 12,000 rows. Both were right.

Acme was the reason: it sat in the CRM, in billing, and in a spreadsheet, three rows for one company. Across the whole business, twelve thousand rows describe a few thousand real customers. Nobody double-counted. The rows were just never the same thing as the customers.

The universal idea · true in any system

Many rows, one thing

Remember the key. Every row that shares Acme's key combines into a single Acme. What you get back is not a row. It is an instance: one Acme, built from three rows, that remembers all three sources it came from.

customers.csv · Acme Corpcrm_accounts · ACME Corporationbilling_party · Acme Corp.Customer #4821AcmePROVENANCEcsv · crm · billing
Figure 2An instance is not a row. Every row that names Acme folds into one Customer, and the instance remembers all three sources it was built from. Ten rows can become five customers, each carrying its own provenance.

Count it yourself. Ten rows from three files. Before you look, guess how many real customers that is.

Rows, or customers?

Acme · csvGlobex · csvInitech · csvUmbrella · csvAcme · crmGlobex · crmSoylent · crmAcme · billingInitech · billingUmbrella · billing

That is 10 rows across three files. How many real customers is it?

Ten rows, five customers. The rows are raw material. The instances are the things you actually care about, and there are always fewer of them than the row count suggests.

Why this matters for an AI agent

Ask an AI agent "how many customers do we have" and it matters a lot whether it counts rows or instances. Rows say 12,000, so the agent gives you a number that is off by more than half. Instances say 4,821, each built from its sources, each carrying its history. An agent can only reason well about real things, not raw rows, and the instance is the real thing.

Check yourself

Your files hold 12,000 customer rows. Your dashboard says 4,821 customers. A director asks which number is the real customer count. What do you tell her?

In Microsoft Fabric IQ · how it shows up

Where the instance lives in Fabric

In Microsoft Fabric IQ, in preview as of July 2026, the instance is a governed object: it keeps its identity, its values, which sources built it, and the time each fact was true. You never build one by hand. You bind the entity type to a source. Every matching row then becomes an instance that carries that type's properties, and the entity type key is what makes it one identifiable thing, not just a loose row. Each instance also keeps its lineage, a link back to the source table and the row it came from, so any fact it carries can be traced to where it started. That way the data agent, which is Fabric's name for an AI agent grounded in your data, can even answer "what was Acme's region last March," because the instance remembers. Preview is the ontology item itself. The graph engine, the data agent, and the Power BI semantic model are generally available as of July 2026.

The takeaway · carry this into every model

The one trap

Do not trust the row count as the truth. Twelve thousand rows is not twelve thousand customers, and a report that treats them as equal is wrong before anyone reads it. Rows repeat and conflict. The instance is what you get after the model combines them into one thing for each real thing, with its history kept.

You have real things now, with identity and a past. The interesting part is how they connect. That is a relationship.

Do it yourself

Build this step in the interactive Ontology Lab.

Open the lab →

Fabric IQ is in preview; details checked 2026-07-15 and may change.

Milestone

Finished this concept? Mark it learned to track your progress.

Saved in this browser.