Not a taxonomy, not a schema: a machine-checkable agreement about what exists, how it connects, and what must hold. It is what lets a model reason instead of autocomplete.

The word attracts either reverence or eye-rolling, and both come from the same confusion about what it actually is. A taxonomy is a hierarchy — this is a kind of that. A database schema says how data is stored — these columns, these types. An ontology says what things mean and what must be true of them: the classes, the relationships between them, and the constraints that separate a valid statement from an invalid one. Storage says how; ontology says what.
The part that earns its keep is the constraints, and it is the part most often skipped. "Every order is placed by exactly one customer" is not documentation — it is a rule a machine can enforce and reason from. Given it, a system can infer, contradict, and refuse. Without it you have a vocabulary list: better than nothing, but it cannot tell you that an answer is impossible, only that it is unfamiliar.
This is precisely what a language model lacks about your organisation and cannot acquire by being larger. It knows the word churn sits near customer and subscription. It does not know that churn means ninety days without activity here, that revenue excludes refunds per finance policy, or that customers link to events by account id and never by email. Those facts exist in exactly one place — your business — and no amount of pretraining reaches them. Supplying them is what converts fluent guessing into domain reasoning.
Hence the framing worth keeping: an ontology is the contract of meaning between people, data and AI. People agree the definitions, data conforms to them, and the model reasons within them rather than around them. It is also why "seeded" beats "complete": start from the dozen relationships you already know for certain, encode those, and grow. A partial ontology that is actually true beats a comprehensive one nobody agreed to.