Ontology Design Patterns (ODPs)

AgentRole, Participation, Situation, N-ary Relation — the GoF of ontology engineering.

0/4 done

Overview

Ontology Design Patterns (ODPs)

AgentRole, Participation, Situation, N-ary Relation — the GoF of ontology engineering.

Why it matters

ODPs let you skip months of modelling debate by reusing battle-tested solutions to recurring problems (e.g. 'this thing has different roles in different contexts').

Going deeper

Five patterns you'll actually reach for, with the trigger that should make you think of them:

PatternTriggerOne-line essence
AgentRole'Alice is both employee and customer'Agent → Role; the Role carries the context, not Agent
Participation'An event has many actors of different kinds'Event — hasParticipant → Participant; type the participant role
N-ary Relation'A binary edge isn't enough'Reify the relation as a class
Situation'This holds in one universe, not another'Situation class collects the relevant triples
Time-Indexed Person Role'Alice was CEO 2018-2024, then board chair'AgentRole + time-validity properties

The ODP catalogue at https://ontologydesignpatterns.org/ is the canonical, machine-readable list — each pattern ships with a Turtle template you can copy.

Analogy

Ontology Design Patterns are the Gang-of-Four book for ontologists.

In software, you learnt 'when I need a single shared instance, that's the Singleton pattern; when I need to add behaviour to an object without subclassing, that's Decorator'. You stopped re-inventing them and started naming them. Communication with other developers got 10× faster.

ODPs do the same for ontology authors. 'Same person, different roles' is AgentRole. 'Event with many participants' is Participation. 'Statement that is true only in a context' is Situation. Once both ends of a design review know the pattern names, you skip past 'what if we modelled it like…' and go straight to 'AgentRole or Description? probably AgentRole because…'.

Tools & resources

Tools & resources

Make it stick

Use the prompts below to anchor ontology design patterns (odps) to a real ontology you care about.

  • Which recurring modelling debate in your team would be settled in one sentence if both sides knew the relevant ODP name?
  • Pick one ODP you don't know well. Read its Turtle template. Where in your current model would it have saved a custom workaround?
  • What's the cost today of *not* using ODPs — how many one-off solutions to recurring problems are scattered through your ontology?

Reading in progress · 0 of 4 activities done