Ravi Chandu Edru/ learn
Ontology & Fabric IQ

Things

Property

A freezer read 8 and the food spoiled. The number was fine. Nobody said 8 what. A property is the value plus its meaning.

4 min read

A freezer sent one reading: 8.

The monitor did nothing. By morning the food was spoiled.

The number was fine. 8 is safe in Fahrenheit, which the old sensor used, and a disaster in Celsius, which the new one used. Nobody told the system which. The column just said temp = 8. A column stores a number. It has no idea what the number means.

The universal idea · true in any system

A number is only half a fact

8 what? Celsius, Fahrenheit, boxes on a shelf? Until you say, the number could mean any of these. A property sets the meaning: the type (it is a number) and the unit (Celsius). Same 8, but now it means one thing instead of three.

8one numberas °Ca warm freezer. Probably a breach.as °Fabout −13 °C. Deep frozen, fine.no unitnobody can safely act on it.
Figure 2The number never moved. Its meaning did. A property pins the unit, so one reading means one thing instead of three.

Why this matters for an AI agent

Point an AI agent at a raw column of numbers and it does what the freezer monitor did: it trusts the 8 as it is and moves on. It cannot tell 8°C from 8°F, or the word "cold" from a real reading, because the column never said. Give it properties, with types and units, and it stops guessing what a value means.

Bad data flows straight through a column. A property stops it before it gets in.

Try being the property for a second. Type a reading, then flip the unit the sensor reports in, and watch the same 8 change meaning.

The property

freezer temperature — a number, in °C, between −40 and 60, safe at or below −5.

The sensor reports in

A column would store whatever you type. A property asks two more questions first: does this count as a temperature, and what does it mean in the declared unit?

Check yourself

A GPS reports speed: 65. One app reads it as km/h, another as mph. The value is identical. What actually went wrong?

In Microsoft Fabric IQ · how it shows up

Where the property lives in Fabric

In Microsoft Fabric a property lives on the entity type: you declare temperature once, as a number in Celsius, and every source binds to that one meaning. That declaration is only a plan until the property is bound to a real column in a OneLake source, a lakehouse table, an eventhouse KQL table, or a Power BI semantic model. The binding is what connects the declared meaning to real values.

Because the meaning lives on the type, so do its rules. Property-level constraints, required, ranges, uniqueness, are declared at the concept layer and checked against the bound data, rather than rewritten in every pipeline that feeds it. As of July 2026 the ontology item itself is still in preview, while the graph engine and the data agent that read it are generally available, so expect the tools you use to build it to change more than the idea itself.

The takeaway · carry this into every model

The one trap

Do not call a column a property. A column is a bucket that takes whatever you pour in: numbers, typos, blanks, wrong units. A property is the label on the bucket that says what belongs there. Skip it and every bad value reaches your dashboards and your agent, which trust it completely.

You have named a thing and described it. Next comes the most important decision, the one that says when two records are the same thing, and when they are two different things: the key.

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.