methodatlas
Run SheetKnowledge ModelingOntology / Knowledge Graph Modeling

Ontology Design Patterns

KomplexitätMedium
Zeit1-3 h pro Pattern
Teilnehmende1-6
FormatBoth
MaturityEstablished
01

Vorbedingung

Was vorher fertig sein muss

Vorher abschließenCompetency Questions

Mindestens 5 must-have-Fragen mit identifizierten Konzepten und Beziehungen liegen vor, gegen die Pattern-Auswahl validiert werden kann.

Ohne: Ohne Fragen wird Pattern-Anwendung dogmatisch statt zweckgetrieben, Modell wird überdimensioniert oder verfehlt Use Case.
02

Vorbereitung

Was vor Start vorliegen muss

Materialien

Pattern-Katalog (z. B. ODP-Wiki, NeOn-Pattern-Repository, projektinterner Katalog); Modellierungs-Tool (Protégé, TopBraid); Skizzenfläche; Test-Query-Sandbox; Beispieldaten für Pattern-Validation.

Personen / Rollen

Ein Ontology Engineer; ein bis zwei Domain Experts pro Pattern-Sitzung; optional ein Pattern-Reviewer mit Erfahrung aus anderen Projekten.

Vorabinfos

Modellierungsproblem als ein Satz; relevante Competency Questions; bestehende Modellfragmente; Liste bekannter Patterns (Part-Whole, Time-Indexed Situation, Roles, Provenance).

Zeitbedarf

1-3 h pro Pattern

Setup

Modellierungsproblem und CQs sichtbar. Pattern-Katalog griffbereit. Sandbox mit Mini-Beispieldaten vorbereitet, in der Patterns sofort testbar sind.

03

Kernfrage

Die eine Frage, die diese Methode beantwortet

Welches Modellierungs-Pattern löst das aktuelle Problem so, dass es zu Competency Questions, bestehendem Modell und Reuse-Strategie passt?

04

Ablauf

Marker: Phase

SchrittDauerAktionHinweis
1Phase 1: Problem isolieren
15-20 minModellierungsproblem in einem Satz formulieren (z. B. „wie modelliere ich zeitlich gültige Mitarbeiter-Rollen?“). Betroffene CQs identifizieren. Modellfragment ohne Lösung skizzieren.Wenn das Problem in 2-3 Sätze zerfällt, sind mehrere Patterns betroffen. Lieber pro Pattern eine eigene Sitzung als alles vermischen.
2Phase 2: Katalog durchsuchen
20-30 minIm Pattern-Katalog passende Kandidaten suchen (Stichwortsuche, Tags, ähnliche Probleme). Pro Kandidat: Beschreibung lesen, Beispiel anschauen, Coverage gegen CQs grob prüfen.Wenn drei Patterns gleich gut wirken, sind sie verwandt. Variante mit klarster Dokumentation und stärkster Community wählen, nicht die exotischste.
3Phase 3: Pattern adaptieren
30-60 minPattern an Domain anpassen: Klassen umbenennen, Properties spezialisieren, Constraints ergänzen. Reuse-Beziehung dokumentieren (Pattern-IRI, Anpassungs-Delta).Wenn Anpassung 80% des Patterns verändert, ist es nicht mehr Reuse, sondern Eigenbau. Dann ehrlich als Eigenmuster dokumentieren oder anderes Pattern wählen.
4Phase 4: Validieren
20-30 minPattern in Sandbox mit Beispieldaten füllen. Test-Queries für betroffene CQs laufen lassen. Edge Cases prüfen (leere Werte, zeitliche Grenzen, Mehrfachrollen).Wenn Test-Query unerwartetes Ergebnis liefert, ist die Adaption zu lose. Pattern erneut prüfen oder Constraints nachschärfen, nicht Test-Daten anpassen.
5Phase 5: Dokumentieren und referenzieren
15-20 minPattern-Auswahl, Quelle, Anpassung, betroffene CQs und Test-Ergebnisse im Modell-Repo dokumentieren. Im Modell als Annotation (z. B. dct:source) auf Pattern-IRI verweisen.Ohne Referenz vergisst die nächste Generation Modellierer, warum dieses Pattern gewählt wurde. Reverse Engineering von Patterns ist teuer.
05

Artefakt

Was am Ende rauskommt

Form

Pattern-Anwendungs-Dokument je Pattern mit Problem, gewähltem Pattern, Quelle (URI), Adaption (Delta), Beispieldaten, Test-Query-Ergebnissen und Verlinkung zu CQs. Plus Annotation im Modell selbst.

Tool-Alternativen
  • Markdown im Ontology-Repo unter docs/patterns/
  • Notion- oder Confluence-Seite je Pattern
  • Annotation direkt in der TTL/OWL-Datei
  • Issue im Tracker mit Label pattern
Versionierung / Ownership

Datum, Pattern-Version und Modell-Version im Header. Bei späterer Pattern-Aktualisierung Delta dokumentieren, alte Variante nicht löschen. Modell-Annotation auf konkrete Pattern-Version pinnen, nicht auf moving target.

markdown

Ontology Design Patterns Arbeitsvorlage

Kompakte Arbeitsvorlage für Ontology Design Patterns mit Kontext, Input, Ergebnisartefakten und nächstem Schritt.

# Ontology Design Patterns Arbeitsvorlage

## Ziel

Wiederverwendbare Modellierungsmuster für wiederkehrende Probleme in Ontologien und Knowledge Graphs.

## Kontext

Wann und wofür nutzen wir diese Methode?

## Input

Welche Daten, Beobachtungen, Entscheidungen oder Materialien liegen vor?

## Durchführung

Kurze Notizen entlang des Run Sheets.

## Ergebnisartefakte
- Selected Patterns:
- Adapted Schema Fragments:
- Pattern Documentation:

## Annahmen und offene Fragen

- ...

## Entscheidung / Nächster Schritt

Owner, Datum und Erfolgssignal.
06

Beispielausgabe

Konkret gefülltes Szenario

ontology-design-patterns-beispiel.md
markdown
## Pattern-Anwendung — Time-Indexed Person Role (18.05.2026)

**Problem**: Wie modelliere ich, dass Anna Müller von 2023-01-15 bis 2024-12-31 als Teamlead von Team Discovery agierte, dann als Engineering Manager wechselte?

**Betroffene CQs**: CQ 8 (Wer war zu Zeitpunkt T Teamlead von Team X?), CQ 12 (Historie der Rollen einer Person), CQ 15 (Wer hat Rolle Y zwischen T1 und T2 inne?).

**Pattern**: Time-Indexed Person Role aus odp.cs.ox.ac.uk/wiki/Submissions:TimeIndexedPersonRole.

**Adaption**:
- Klasse `TimeIndexedRole` umbenannt zu `RoleAssignment` (Projektsprache).
- Property `forPerson` umbenannt zu `assignedTo`.
- Constraint: `validFrom` Pflicht, `validTo` optional (offene Intervalle erlaubt).

**Test-Daten** (Auszug TTL):
```
:anna_ra_2023 a :RoleAssignment ; :assignedTo :anna ; :hasRole :TeamLead ;
  :inTeam :discovery ; :validFrom "2023-01-15"^^xsd:date ; :validTo "2024-12-31"^^xsd:date .
```

**Test-Query CQ 8** liefert Anna für 2024-06-01. CQ 12 liefert chronologische Liste. CQ 15 liefert korrekt zwei Personen für überlappenden Zeitraum.

**Quelle**: ODP-Wiki, version 2024-03-01. Modell-Annotation: `dct:source <http://...TimeIndexedPersonRole>`.
07

Stolperfallen

Symptome erkennen, gegensteuern

Falle

Pattern um des Patterns willen

Symptom

Patterns werden angewandt, ohne dass eine CQ dies erfordert, Modell wird unnötig komplex.

Was tun

Jede Pattern-Anwendung mit betroffener CQ rechtfertigen. Wenn keine CQ profitiert, Pattern nicht anwenden, einfache Property reicht.

Falle

Zu starke Adaption

Symptom

Pattern ist nach Adaption nur noch namensmäßig erkennbar, Reuse-Nutzen geht verloren.

Was tun

Delta tracken. Wenn mehr als 50% verändert, ehrlich als Eigenmuster führen oder anderes Pattern suchen. Kataloge sind nicht religiös.

Falle

Keine Validierung mit Beispieldaten

Symptom

Pattern wird ins Modell übernommen, ohne dass jemand getestet hat, ob CQs damit funktionieren.

Was tun

Sandbox mit minimalen Beispieldaten ist Pflicht. Mindestens eine Test-Query pro betroffener CQ. Ohne Test kein Merge in main.

Falle

Pattern-Konflikte unsichtbar

Symptom

Zwei angewandte Patterns überlappen oder widersprechen sich (z. B. zwei Zeit-Modelle), kein Konflikt-Check.

Was tun

Bei Anwendung eines neuen Patterns prüfen, welche bisherigen Patterns mit denselben Klassen interagieren. Konflikte dokumentieren und auflösen, bevor beide ins Modell wandern.

Falle

Kein Verweis im Modell

Symptom

Pattern wurde angewandt, aber im TTL/OWL keine Annotation, drei Monate später weiß niemand warum so modelliert wurde.

Was tun

Mindestens `dct:source` oder vergleichbare Annotation pro Pattern-instanziierter Klasse. Doku-Generator (WIDOCO) zeigt das später im Browser.

08

Abbruchkriterien

Done-Signale, in unter einer Minute prüfbar

Keine Competency Questions vorhanden, Pattern-Auswahl wäre rein dogmatisch.
Modellierungsproblem ist trivial (eine Property), Pattern-Overhead nicht gerechtfertigt.
Kein Pattern-Katalog verfügbar oder konsultierbar, Suche wäre Ratespiel.
Modell ist ein einmaliger Prototyp ohne Reuse- oder Wachstumsziel.
Domain Experts nicht erreichbar, Adaption hätte keine Begründung in Fachsprache.
Sandbox oder Test-Query-Möglichkeit fehlt, Validierung nicht durchführbar.

Run Sheet durchgearbeitet?

Zum Steckbrief für Zweck, ähnliche Methoden und Quellen — oder direkt zur nächsten Methode im Katalog.