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:
| Pattern | Trigger | One-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.