Day 1 pulled entities and relations out of raw text. But a pile of triples is not yet a knowledge graph — it needs an ontology: the explicit model of which classes exist, how they relate, and what constraints hold. Today you'll design that model, learn how it differs from a flat taxonomy, and — the part nobody warns you about — how to evolve it as your data and questions change without shattering the queries already running in production.
Day 1 gave you a heap of extracted triples: (:Person {name:"Ada"})-[:WORKS_AT]->(:Company {name:"Acme"}). That heap is data. The model that says a Person can WORKS_AT a Company, that a Company has exactly one legal name, and that WORKS_AT is the inverse of EMPLOYS — that model is the ontology. Without it, your graph is just a denormalized dump with arrows.
A taxonomy is a hierarchy of categories — a single "is-a" tree. Biology's kingdom → phylum → class → order is a taxonomy. A retailer's Electronics → Phones → Smartphones is a taxonomy. It answers exactly one kind of question: "what broader/narrower category does this belong to?"
Taxonomies are cheap, intuitive, and limited. Every node has one parent (or, in a polyhierarchy, a few). The only relationship is subsumption — broader/narrower. You cannot express "this drug interacts with that drug" or "this author influenced that author" in a taxonomy; those aren't is-a relationships.
An ontology generalizes a taxonomy. It still has classes arranged in is-a hierarchies, but it also defines:
Drug TREATS a Condition; an Author WROTE a Book)birthDate is a date; isbn is a string)Book has exactly one isbn), domain/range (WROTE goes from Author to Book, never the reverse), uniquenessA SUBCLASS_OF B and B SUBCLASS_OF C, then A SUBCLASS_OF C; if WORKS_AT implies EMPLOYS in the other directionSo: every taxonomy is a (very simple) ontology, but most ontologies are far richer than any taxonomy. The slogan worth remembering: a taxonomy classifies; an ontology describes.
When stakeholders say "we need a taxonomy of our products," they often actually need an ontology — because the interesting questions ("which products are compatible with which accessories, made by which suppliers, recalled in which regions?") are relationship questions, not classification questions. Building a tree when you needed a graph means bolting relationships on later as ad-hoc properties, which is exactly the schema-drift mess this lesson exists to prevent.
Person must have exactly one birthDate of type date." Think of it as schema validation for graphs.You do not need to adopt OWL to have an ontology. Even an informal, documented agreement — "these are our node labels, these are our relationship types, here are the rules" — is an ontology. The discipline matters more than the format.