Skip to main content

Taxonomy vs Ontology: The Difference, Shown on a Product Catalog

A taxonomy says where a product belongs; an ontology says how products relate. Both models on one catalog, plus when your store needs which.

Taxonomy vs Ontology: The Difference, Shown on a Product Catalog

A taxonomy sorts things into a hierarchy of categories, where each step down is narrower than the one above: Kitchen appliances > Coffee machines > Espresso machines. An ontology describes the kinds of things in a domain, the properties they have and the typed relations between them, with rules a computer can reason over: a water filter is an accessory of a specific espresso machine, a descaler is consumed by it, its boiler is made of stainless steel.

In a product catalog the short version is this: the taxonomy answers where a product belongs, the ontology answers how products relate. Most stores need a solid taxonomy first, then attributes with controlled value lists, and only then a small set of typed relations where shoppers ask questions that span products, such as compatibility, spare parts, replacements and bundles. The rest of this guide shows both models on one catalog, the layer in between, and when each one pays off.

A taxonomy in a product catalog: one tree, one kind of link

A product taxonomy is the category tree you navigate in a webshop and map to channels. Its only real relation is broader and narrower: Espresso machines is narrower than Coffee machines. The W3C's SKOS Primer describes exactly this for "thesauri, taxonomies, classification schemes": concepts linked by broader and narrower, plus an optional associative "related" link that carries no further meaning.

Public taxonomies work the same way at scale. Google's product taxonomy, version 2021-09-21, has 5,595 categories, from Apparel & Accessories down to single product types (see our Google product taxonomy guide). Every category is a node in one tree, and every product gets a path from the root.

Taxonomies are cheap to build and easy to explain to a merchandiser. Their limit shows the moment you ask a question that is not about placement. "Which filters fit this machine?" has no answer in a tree, because a filter and a machine sit in different branches and the tree has no edge between them.

A category tree is a taxonomy: each node has one parent, and products hang off the leaves. Filters at the top flag categories with no products, no description or no translation.

An ontology in a product catalog: classes, properties and typed relations

An ontology starts from the same classes (Espresso machine is a kind of Coffee machine) and adds what a tree cannot say. The W3C's OWL 2 Primer calls OWL "a language for expressing ontologies" and lists the building blocks: classes and subclasses, object properties that relate one thing to another, inverse properties, domain and range restrictions, and cardinality limits.

Translated to the illustrative espresso catalog, an ontology holds statements like these:

  • Water filter WF-2 is an accessory of espresso machine EM-200
  • Descaler 500 ml is a consumable for EM-200 and EM-300
  • Portafilter 58 mm is a spare part for EM-200
  • EM-300 replaces EM-200
  • EM-200 is made of stainless steel, a value from a material list, not free text
  • Every espresso machine has exactly one pump pressure in bar (a cardinality rule)

Each statement has a type that software can act on. Because "accessory of" is defined once, the store can show accessories on the machine's page, flag a filter with no machine linked, and answer the question the tree could not. Defining "replaces" as directional means the shop can point a visitor from the discontinued EM-200 to the EM-300, but not the other way round.

One espresso machine in a taxonomy and an ontology

Loading diagram
The vertical chain is the taxonomy; every other arrow is a typed relation that only an ontology can express.

Taxonomy vs ontology, side by side

Taxonomist Heather Hedden makes a useful point in her comparison of the two: taxonomies mainly support tagging and retrieval by subject, while ontologies support retrieval, comparison and multistep queries over data. Both are built on W3C standards, SKOS for taxonomies and OWL for ontologies, so they combine rather than compete.

Taxonomy and ontology compared on a product catalog

ShapeTree (sometimes a product in two branches)Graph of classes, properties and relations
RelationsBroader and narrower, maybe an untyped related linkTyped relations you define: accessory of, made of, replaces
Typical questionWhere does this product belong?Which products fit, replace or complete this one?
W3C standardSKOSOWL
Catalog exampleWebshop category tree, Google product taxonomyCompatibility and spare part links, material lists, class rules
Who maintains itCategory or e-commerce managerProduct data or catalog architect, with category managers
Showing 6 of 6 rows
A taxonomy answers where a product belongs; an ontology answers how products relate and what rules they follow.

The table also shows the shape of the work. A taxonomy is finished when every product has a place. An ontology is never finished, and that is fine as long as each relation type you add answers a real question.

Attributes and controlled vocabularies: the layer between the two

Most catalogs that think they need an ontology actually need this middle layer first. It has two parts.

  • Attributes per product class. An espresso machine has pump pressure, boiler type, water tank volume and power. A grinder has burr type and burr diameter. The set of attributes per class (often called a product family or attribute set) is already a small ontology: it says what kind of thing has which properties.
  • Controlled vocabularies for attribute values. Material is one of stainless steel, aluminium, plastic or brass, not "inox", "RVS" and "stainless" side by side. A controlled list is what makes a value filterable, translatable and comparable across suppliers.

Our guide to reference data covers how to govern these value lists, and the attribute modeling guide covers which attributes belong to which class. Once both are in place, typed relations between products are a small step, because the things you relate are already well defined.

Product families define which attributes each class of product carries; child families inherit from their parent, and a family can carry an external class code such as ETIM.

Where a knowledge graph comes in

The three terms are often used as if they were interchangeable. They are layers:

  • Taxonomy: the hierarchy of categories.
  • Ontology: the schema, meaning the classes, properties, relation types and rules.
  • Knowledge graph: the ontology filled with real instances, so the actual EM-200, WF-2 and descaler records and the links between them.

A product catalog with typed links is a small knowledge graph, even if nobody calls it that. Our dictionary entry on the product knowledge graph goes deeper into graph databases and query languages; for most catalogs, the relations can live in the PIM next to the products.

Which model your catalog needs: signals to look for

Match the model to the questions shoppers and channels ask of your data:

  • A taxonomy is enough when products are mostly standalone (apparel basics, home decor, books) and the main jobs are navigation and channel category mapping.
  • Add attributes and controlled vocabularies when shoppers filter and compare on specs, or when you sell on marketplaces that require structured values per category.
  • Add typed relations when a meaningful share of questions span products: "does this fit", "what replaces this", "what do I need with it". Spare parts, consumables, tools with accessories, electronics with chargers and cases, and B2B catalogs with successor products live here.
  • Consider a dedicated graph database only when relations are the product itself, such as a parts catalog where a part fits thousands of machine models and configurations, and the PIM's link tables stop being enough.

Adding typed relations to an existing catalog in five steps

You do not need to model the whole domain before the first relation pays off. Start from the questions, not from the schema:

  1. Collect the cross-product questions. Read a month of customer service tickets, product Q&A and site search queries, and sort the questions that involve two products: fits, replaces, needs, refills. In a coffee equipment catalog that is typically compatibility, spare parts and consumables.
  2. Pick two or three relation types and define them in one sentence each. "Accessory of: an optional product that works only with the target product." Write down the direction and which product classes may sit on each side, so a descaler can never be an accessory of a grinder by mistake.
  3. Seed the links from data you already have. Supplier files often carry compatibility lists, and old descriptions often say "fits EM-200". Turn those into links once, then remove the sentence from the description.
  4. Add a completeness check. Every product in the Water filters category needs at least one accessory-of link; every discontinued machine needs a replaces link pointing to it. A product that fails the check is a data gap, not a style issue.
  5. Publish the relations where they are read. The product page block for accessories, the BMEcat or channel export, and structured data on the page. A relation that only lives in the back office answers nobody's question.

Expect the first pass to cover the top-selling machines and their consumables, not the long tail. That is usually where the questions are.

Why typed relations matter to search engines and AI shopping agents

A shopper who asks an AI assistant "which water filter fits my EM-200" needs an answer that comes from data, not from a description that says "compatible with most EM models". Prose like that gives a machine nothing it can follow. A typed relation from WF-2 to EM-200 does.

The vocabulary for publishing those relations already exists. Schema.org's Product type has isAccessoryOrSparePartFor, isConsumableFor, isSimilarTo and isRelatedTo, plus material, category and isVariantOf. Each one is a typed relation in the ontology sense, which is why a catalog with typed links can be published in a form crawlers and agents can read, and a catalog with only a category tree cannot. Our schema.org taxonomy guide covers how category and product types map.

No standard guarantees that a given AI assistant reads a given property today. What is clear is the direction: structured attributes, controlled values and explicit relations are the parts of a catalog a machine can use without guessing.

Six ways catalogs blur taxonomy and ontology

  1. Attributes disguised as categories. A category called Red Espresso Machines is a filter value pretending to be a node. Color belongs in an attribute; the tree stays about product type.
  2. Marketing collections inside the taxonomy. Gifts under 50 and New arrivals are useful collections, but mixing them into the classification tree breaks channel category mapping.
  3. Relations written in description text. "Fits EM-200 and EM-300" in a description cannot be filtered, checked or exported as a link.
  4. One catch-all related link. If accessories, alternatives and replacements all go into "related", the shop cannot treat them differently on the page, and neither can a crawler.
  5. Free-text values where a list belongs. Three spellings of one material create three filter options and three translations.
  6. Relations without direction. "Replaces" and "is replaced by" are different statements. Store the direction once and derive the inverse, rather than maintaining both by hand.

Categories, families and typed product links in WISEPIM

WISEPIM covers the three layers in one place. The category tree is the taxonomy, with AI categorization that is 95%+ accurate and a category map to Google's product taxonomy. Product families hold the attribute set per class, with inheritance from parent families and optional ETIM classes. Option sets are the controlled vocabularies: shared lists of allowed values for select and multi-select attributes, each with a rule for unknown values on import (add them, add them but flag them for review, or skip them).

Product links are typed: an accessory, a replacement and a cross-sell are separate relations, not one related list.

Typed product links are the ontology layer. In the product editor you link products as cross-sells, upsells, related products, replacements or accessories, and bundle items carry a quantity. The types survive export only where the format has a place for them: the BMEcat export in Feed Hub writes them as typed article references, with accessories as accessories, replacements as follow-up products and bundle items as consists-of. Store connections are narrower: the Lightspeed eCom connection sends only the Related Products links, as Lightspeed related products, and the other store connections do not send product links. If you are preparing product data for AI shopping assistants, our agentic commerce page shows what WISEPIM publishes for them.

Diego Nijboer

CTO and Co-Founder at WISEPIM, building AI-powered solutions that transform product data management for e-commerce businesses. Over 10 years of experience solving complex technical challenges in e-commerce and PIM systems.

Frequently asked questions

Still have questions?

Can't find the answer you're looking for? Please get in touch with our team.

Contact Support

A taxonomy is a hierarchy of categories with one main relation, broader and narrower, such as Coffee machines above Espresso machines. An ontology defines classes, their properties and typed relations between things, such as accessory of, made of or replaces, with rules software can reason over. A taxonomy tells you where a product belongs; an ontology tells you how products relate.

Usually, yes. An ontology almost always contains a class hierarchy, which works like a taxonomy, and then adds properties and other relation types on top. In practice many teams keep the category tree as a separate taxonomy, for navigation and channel mapping, and model the other relations next to it.

The ontology is the schema: which classes exist, which properties they have and which relation types are allowed. A knowledge graph is that schema filled with real instances and their links, such as the actual products in your catalog and which filter belongs to which machine. A catalog with typed product links is a small knowledge graph.

Not a formal one. Most stores need a clean category tree, attributes per product type and controlled value lists. Typed relations start to pay off when shoppers ask questions that span products, such as compatibility, spare parts, consumables and successor models. Those relations can live in a PIM without OWL or a graph database.

A controlled vocabulary is a fixed list of allowed values for an attribute, such as the materials or colors a catalog may use. It prevents three spellings of the same value, makes filters and translations consistent, and sits between a taxonomy and an ontology: more structured than free text, less formal than typed relations.

Keep exploring

Hand-picked next steps to go deeper.

Better product data, better results.Get more sales.

4.7