Case study · E-commerce ontology

Fixing product search and AI shopping by fixing what the catalogue means

Supplier feeds arrived with their own categories, attribute names and units. Search filters broke, facets contradicted each other and an AI shopping assistant gave confident answers from messy data. The fix was a governed product ontology that every catalogue load is mapped to and validated against.

Case studyE-commerce · Multi-supplier marketplaceSumanta Mukhopadhyay8 min read
#ontology#knowledge-graph#data#ai#governance
CASE STUDY · CASE STUDY · E-COMMERCE ONTOLOGY28 Oct 2026 · 01:22 GST
At a glance
SectorE-commerce · Multi-supplier marketplace
My roleOntology and data architect
EngagementArchitecture, modelling and hand-off
ScopeTaxonomy, attribute model, validation, search and assistant integration
What changed
  • One governed category and attribute model shared by search, filters, feeds and the assistant
  • Catalogue loads validated on every run, with failing products quarantined and explained
  • Synonyms and preferred labels managed once and reused by search and the assistant
  • Merchandisers able to change the taxonomy through review, not engineering tickets
SKOSOWL 2SHACLRDF triple storeschema.orgSearch engineVector searchData pipeline

Anonymised composite. Client names, identifying details and confidential figures are withheld; public facts are cited in the references.

The situation

An online retailer sold products from many suppliers. Each supplier feed brought its own category tree, attribute names and conventions: one sent "colour", another "color_name", a third put colour in the title. Sizes, materials and units varied by feed. The internal category tree had grown by accretion, with near-duplicate branches and categories that meant different things to different teams.

The symptoms were familiar. Filters returned partial results because half the products lacked the attribute being filtered. Search relied on hand-maintained synonym lists. A new AI shopping assistant made the problem more visible: asked to compare products, it reasoned confidently over data that was inconsistent underneath.

What had to be true

  • One model of meaning for categories and attributes, shared by search, filters, feeds and the assistant.
  • Mapping, not rewriting: supplier data is mapped to the model, with the original preserved.
  • Validation on every load, so bad data is caught before customers see it.
  • Business ownership: merchandisers change the taxonomy through review, without engineering in the loop for every edit.
  • Standards, not a bespoke format, so the model outlives any one tool.

Architecture

The taxonomy was modelled in SKOS, which is designed for concept schemes with broader and narrower relations and preferred and alternative labels1. A deliberately small OWL core covered the classes and properties that needed formal definitions2. The reasoning behind that split is in SKOS vs OWL for enterprise taxonomies.

Sources
Supplier feedsCSV, XML, APIProduct masterinternalSearch logsqueries, zero results
Model
Category schemeSKOSAttribute coresmall OWL modelUnits and value listscontrolled
Map
Supplier mappingsversioned, reviewedAttribute extractionrules, then MLUnit normalisationcanonical units
Validate
SHACL shapesper categoryQuarantinewith reasonsQuality reportper supplier
Use
Search indexlabels as synonymsFacets and filtersfrom the modelAI assistantstructured attributesStructured dataschema.org
Layered architecture: one model of meaning, mapped into from every feed and published to every consumer.

The data flow, end to end

  1. ReceiveSupplier feed lands raw, unchanged, with supplier and load identifiers
  2. MapSupplier categories and attributes mapped to concepts and properties
  3. NormaliseUnits converted, values matched to controlled lists, originals kept
  4. ValidateSHACL shapes check required attributes and values per category
  5. PublishValid products to search, facets and the assistant; failures quarantined
  6. ImproveZero-result queries and quarantine reasons feed the taxonomy backlog
Validation is a gate: a product that fails its category's shape is held back with a readable reason.

SHACL describes the conditions data must meet and produces a validation report, which made it a natural release gate for each load3. Patterns for writing shapes are in SHACL validation for knowledge graphs.

The hard part: attributes, not categories

Agreeing a category tree was comparatively quick. Agreeing attributes was not, because attributes are where search filters and assistant answers actually come from. The work that made a difference:

  • Attributes defined per category, with required, recommended and optional tiers, so a shape knows what "complete" means for a sofa versus a shoe.
  • Controlled value lists with preferred and alternative labels, so "navy", "dark blue" and supplier codes resolve to one value while search still matches all of them.
  • Canonical units with conversion at load, never in the search layer.
  • Duplicate and variant handling, the same product from two suppliers, which is an entity resolution problem in its own right; see entity resolution for knowledge graphs.

An AI assistant is only as consistent as the attributes it reads. Many apparent "hallucinations" about products turn out to be faithful readings of contradictory data.

How the engagement ran

Merchandising
  1. Proposes category changes
  2. Approves attribute rules
  3. Owns value lists
Data team
  1. Maintains supplier mappings
  2. Runs validation
  3. Works the quarantine
Search and AI
  1. Consume published model
  2. Report zero-result gaps
  3. Test assistant answers
Ownership split: the business owns meaning, the data team owns mapping, consumers report gaps.
Phase 1Discover
  • Feed and attribute inventory
  • Search log analysis
  • Highest-value categories
Phase 2Model
  • SKOS category scheme
  • Attribute core
  • First SHACL shapes
Phase 3Pipeline
  • Supplier mappings
  • Validation gate
  • Quarantine and reports
Phase 4Consume and hand off
  • Search and facets
  • Assistant integration
  • Governance workflow
Phased delivery, starting with the categories that drove the most search traffic.

Product pages also emitted schema.org Product markup generated from the same model4, so structured data for external search stayed consistent with internal search. More in structured data for AI search.

Key decisions and trade-offs

DecisionAlternativeWhy
SKOS for the taxonomyFull OWL ontologyLabels and hierarchy are what categories need; easier for the business to own
Small OWL coreNo formal model at allPrecise definitions where products are compared and filtered
SHACL as a load gateAd hoc scripts in the pipelineDeclarative, standard rules with readable reports
Keep supplier originalsOverwrite on mappingMappings can be corrected and replayed
Assistant reads structured attributesAssistant reads raw descriptionsComparisons and filters grounded in validated facts

What I'd do again, and differently

Again: start from search logs and the categories that matter commercially, and make validation a gate rather than a report. Differently: put merchandising ownership and the review workflow in place before the model grows, not after. A taxonomy without a clear owner drifts back to where it started.

If your catalogue or knowledge model has the same symptoms, the ontology and knowledge graph page describes how I approach it, or analyse your challenge and bring the result to a call.

References
  1. 1
  2. 2
  3. 3
  4. 4
    ProductSchema.org
FAQ

Common questions

Why SKOS rather than OWL for a product taxonomy?

SKOS is built for concept schemes with broader and narrower relations, preferred and alternative labels, which is what categories and synonyms need. OWL is kept for the small set of classes and properties where formal semantics actually matter.

What does SHACL add to a catalogue pipeline?

SHACL expresses the rules a product must meet, such as required attributes per category, allowed values and units, and produces a validation report. That turns data quality into an automated gate on every load.

Does an AI shopping assistant need an ontology?

It needs consistent facts. An ontology gives the assistant normalised attributes and synonyms to filter and compare on, rather than relying on the model to interpret inconsistent supplier text.

Keep reading

Related

Open to advisory, fractional CTO & select builds

Let's talk about what you're building.

The fastest route is a free 30-minute call. Prefer to write? Send a message and I'll reply personally within two business days.

Start a conversation

How would you like to reach me?

Book a 30-min callFastest. Pick any open slot on my calendar.→ Write in GmailOpens a pre-filled draft in your browser.→ Use my email appOutlook, Apple Mail or your default client.→

I reply personally within two business days. Time zones from the Americas and Europe to the Middle East and Asia-Pacific.