Protégé für Fortgeschrittene nach dem Pizza-Tutorial Catharina Klaus & Christin Weber ISD1: Wissensorganisation 26.11.2009
Gliederung Der Editor: Protégé Die Pizza - Domäne Das Pizza - Tutorial 26.11.2009 ISD1: Wissensorganisation
Der Editor: Protégé Open Source Ontologie-Editor Entwicklung: Stanford Medical Informatics Department – Stanford University School of Medicine Editor zur Modellierung von Ontologien Repräsentationen von Wissen innerhalb eines bestimmten Bereichs (sogenannte Domänen) wachsende Bedeutung durch die Entwicklung des Semantic Web zwei Versionen: Protégé 2000 und Protégé OWL Grafik verlinkt, um Aufbau kurz zu vorzustellen/ wiederholen fällt evtl. aus, je nachdem Wissensstand 26.11.2009 ISD1: Wissensorganisation
Vorüberlegung Mindmap: Die Pizza-Domäne Aufgabe für den Kurs: Mindmap zur Pizza-Domäne gemeinsam an der Tafel erarbeiten anschließend unsere Lösung vorstellen 26.11.2009 ISD1: Wissensorganisation
Vorüberlegung Sortiertes Mindmap als Grundlage zur Durchführung des Pizza – Tutorials vorstellen 26.11.2009 ISD1: Wissensorganisation
1. Schritt: Klassen anlegen Registerkarte „OWL Classes“ Klasse löschen mit „Delete selected classes“ gleichrangige Klasse hinzufügen mit „Create sibling class“ Unterklasse hinzufügen mit „Create subclass“ Es wurden bereits Klassen angelegt, Schaltflächen erklären und Hierarchie zeigen 26.11.2009 ISD1: Wissensorganisation
Disjoints festlegen (1) Geschwisterklassen sind disjunkt, wenn: sich ihre Mengen gegenseitig ausschließen bezogen auf das Pizza-Beispiel: kein Fisch ist Käse usw. Disjunktheitsbeziehungen zwischen Geschwisterklassen definieren - nicht disjunkte Klassen: Bsp. Sportarten gegliedert in Schießsport und Wintersport Biathlon könnte beiden Klassen zugeordnet werden 26.11.2009 ISD1: Wissensorganisation
Disjoints festlegen (2) Disjoints in Protegé zeigen (manuelles Einstellen) für „Gewürze“ Aufgabe für den Kurs: - Zutaten und Beläge für die eigene Lieblingspizza einfügen und Disjunktheitsbeziehungen festlegen - eine eigene Lieblingspizza unter Pizza – xxx einfügen!!! (z. B. Hawaii) mit „Add disjoint class“ disjunkte Klassen festlegen 26.11.2009 ISD1: Wissensorganisation
2. Schritt: Beziehungen zwischen Objekten (1) Properties erstellen, d. h. Beziehungen, die die Objekte miteinander verbinden Domain der Property: auf welches Objekt darf die Beziehung zutreffen? Range einer Property: welche Objekte dürfen mit der Beziehung verknüpft werden? Bsp.: Margarita hatBelag Tomate Domain: Pizza Property Range: Belag 26.11.2009 ISD1: Wissensorganisation
2. Schritt: Beziehungen zwischen Objekten (2) Eigenschaften hinzufügen und löschen Domain: Pizza Range: Belag 26.11.2009 ISD1: Wissensorganisation
2. Schritt: Beziehungen zwischen Objekten (3) Beziehungen können auch eine hierarchische Struktur haben, z. B. hatZutat hatBelag hatTeig hatZutat = super property hatBelag und hat Teig = sub-properties 26.11.2009 ISD1: Wissensorganisation
Inverse Eigenschaften „Umkehrrelation“ z. B.: hat Belag ist Belag von 26.11.2009 ISD1: Wissensorganisation
Funktionale Eigenschaften legen für eine Domain genau einen Wert fest, für den die Eigenschaft gilt z. B. funktionale Eigenschaft: istMutterVon Tim istMutterVon Pizza-Beispiel: Eigenschaft hatTeig funktional definieren eine Pizza kann jeweils nur einen dünnen oder einen dicken Teig oder einen Käserand haben! Anna Tim = Tom istMutterVon Tom 26.11.2009 ISD1: Wissensorganisation
Symmetrische Eigenschaften gelten gleichermaßen in beide Richtungen Ehemann Ehefrau ist verheiratet mit ist verheiratet mit 26.11.2009 ISD1: Wissensorganisation
Transitive Eigenschaften setzen Klassen in Beziehung, die durch die gleiche Eigenschaft mit einer anderen Klasse in Beziehung stehen z. B. hat Zutat Pizza Tomaten-soße Basilikum Aufgabe an den Kurs: Registerkarte Properties Properties anlegen (z. B. hatGewürz), Domain und Range einstellen Inverse Beziehungen automatisch anlegen lassen und umbenennen! 26.11.2009 ISD1: Wissensorganisation
3. Schritt: Pizzen definieren (1) Einschränkungen (Restrictions) festlegen jede Pizza hat einen Belag, einen Teig und Gewürze z. B. Klasse Pizza – create restriction: Restricted Property: hatBelag Restriction: someValuesFrom Filler (insert class): Belag „Create Restriction“ 26.11.2009 ISD1: Wissensorganisation
3. Schritt: Pizzen definieren (2) für jede Pizza wird der Belag, der Teig und Gewürze festgelegt z. B. Pizza Margarita soll nur Tomaten und Mozzarella enthalten Vorgehen: Pizza Margarita auswählen dann „Create Restriction“ (mittleres Fenster, 2. Button von links) 26.11.2009 ISD1: Wissensorganisation
3. Schritt: Pizzen definieren (3) Beziehung hatBelag, Einschränkung someValuesFrom, „Insert class“ Tomaten „Insert class“ (z. B. Tomaten) 26.11.2009 ISD1: Wissensorganisation
3. Schritt: Pizzen definieren (4) Pizza Margarita ist fertig! Pizza Margarita enthält mindestens eine Sorte Mozzarella und eine Sorte Tomaten weitere Zutaten enthält sie nicht (nicht definiert!) Pizza Margarita hat einen dünnen Teig Aufgabe an den Kurs: Pizzen definieren 26.11.2009 ISD1: Wissensorganisation
4. Schritt: Überprüfung (1) auf Konsistenz und automatisches Klassifizieren Reasoner notwendig: z. B. Pellet, Fact++, Racer Hier zu sehen: Pellet-Reasoner-Ergebnis (Konsistenz-Prüfung) 26.11.2009 ISD1: Wissensorganisation
4. Schritt: Überprüfung (2) Automatisches Klassifizieren mit Racer Auberginen werden als Pizza klassifiziert, weil sie die Eigenschaft hatBelag haben, die nur Pizzas haben dürfen! 26.11.2009 ISD1: Wissensorganisation
5. Schritt: Visualisierung (1) Installation des GraphViz und OWLViz nötig über die Registerkarte „OWL Viz“ erreichbar zur graphischen Darstellung der Ontologie 26.11.2009 ISD1: Wissensorganisation
5. Schritt: Visualisierung (2) Aufgabe an den Kurs: Überprüfen, veranschaulichen und weitere Klassen hinzufügen (z. B. Region, Gewürze) 26.11.2009 ISD1: Wissensorganisation
Vielen Dank für die Aufmerksamkeit und Mitarbeit Vielen Dank für die Aufmerksamkeit und Mitarbeit! Fragen, Anregungen, Kritik??? 26.11.2009 ISD1: Wissensorganisation