Ontologiesprachen XML RDF OWL in Proteg Wissensorganisation Seminar






































- Slides: 38
Ontologiesprachen XML / RDF / OWL in Protegé Wissensorganisation Seminar Prof. Dr. Spree Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick Übersicht • • • Aufbau XML / RDF OWL Code Demo Ausblick Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick Semantic Web Anwendungen Ontologiesprache (z. B. OWL) RDF-Schema RDF XML URIs und Namespaces Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick XML • Extensible Markup Language • Tagbasierte Metasprache • Wird für die Nutzung von OWL genommen – da Webstandard – der Datenaustausch wird unterstützt – einfach zu parsen und plattformunabhängig Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick XML • Nachteile von XML: – XML definiert Syntax, aber keine Semantik – XML-Beschreibungen können für Computer mehrdeutig sein – Relationen können nicht definiert werden – Noch nicht ausreichend für den Einsatz von OWL Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick RDF (System zur Beschreibung von Bezugsquellen) Resource Description Framework • Datenmodell zu Bereitstellung von Metadaten • Aussagen beschreiben Ressourcen und deren Attribute => Tripel Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick RDF-Tripel • • Beschreiben Ressourcen und deren Attribute Bestehen aus Ressource, Eigenschaft, Literal oder Ressource Subjekt Prädikat Objekt Literalbewertete Aussage Spaghetti Carbonara Preis 12, 90 EUR Ressourcenbewertete Aussage Erika Mustermann Lieblingsessen Spaghetti Carbonara Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick RDF • RDF reicht leider auch noch nicht aus • Modell fehlt, um Daten aus dem RDF-Datenmodell auszutauschen • Semantik reicht noch nicht für die Beschreibung von Ontologien aus Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick RDF/XML • Auch noch nicht ausreichend • Keine Beschreibung von Klassen möglich • Kein Konzept für Aufzählung von Datentypen und Aufzählungen Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick RDF-Schema • • • Neutrale Schema-Sprache Enthält Basisstrukturen für Klassen und Properties RDFS-Klassen enthalten Instanzen (Assoziierte Ressourcen) rdfs: class Definition von Klassen Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick RDF-Schema • RDF-Schema auch noch nicht ausreichend • Aussage über Kardinalitäten nicht möglich • Keine Aussage über Eigenschaften von Eigenschaften • Zu wenige Deskriptoren, um Inferenzierung zu unterstützen Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL • Web Ontology Language • Standardsprache zur Erstellung von Ontologien um im Semantic Web Informationen zu repräsentieren • W 3 C Recommendation seit 2004 • Code soll von Software-Agenten verstanden werden Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Versionen • Lite • DL • Full OWL-DL OWLLite Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL-Aufbau Die drei Bausteine von OWL-Ontologien • Klassen • Individuen (Objekte in RDF) • Rollen (Properties in RDFS) Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Besonderheiten • OWL kann Klassen logisch kombinieren – Vereinigung – Durchschnitt – Komplement (Gegenteil) • OWL kann Eigenschaften definieren als – – Transitiv (schlussfolgernd) Symmetrisch Funktional Als inverses einer anderen Eigenschaft Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Besonderheiten • Fehlen von Informationen ist keine negative Information – mag(Person. A, Getränk. B) -> Person kann auch andere Getränke mögen • Keine Unique Name Assumption – Verschiedenheit muss explizit ausgedrückt werden – Person A kann nicht die selbe Instanz bezeichnen wie Person B OWL: same. As OWL: different. From Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
OWL-Ontologie Dokument Header XML Deklaration und RDF Start Tag <? xml version="1. 0"? > <rdf: RDF Namespacedeklarationen > Ontologie-Element Informationen über die Version Importierte Elemente Body Aussagen über Klassen, Eigenschaften und Individuen Footer RDF-Endtag </rdf: RDF> Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Header Informationen zu • Namensräumen • Versionierung • Annotationen Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Exemplarischer Header mit Namespace-Deklaration <rdf: RDF xmlns: rdf="http: //www. w 3. org/1999/02/22 -rdf-syntax-ns#" xmlns: rdfs="http: //www. w 3. org/2000/01/rdf-schema#" xmlns: owl="http: //www. w 3. org/2002/07/owl#" xmlns: daml="http: //www. daml. org/2001/03/daml+oil#" xmlns: dc="http: //purl. org/dc/elements/1. 1/" xmlns="http: //www. owl-ontologies. com/travel. owl#" xml: base="http: //www. owl-ontologies. com/travel. owl"> Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Exemplarischer Header mit allgemeinen Informationen zur gesamten Ontologie <owl: Ontology rdf: about=""> <owl: version. Info rdf: datatype="http: //www. w 3. org/2001/XMLSchema#string"> 1. 0 </owl: version. Info> <rdfs: comment rdf: datatype="http: //www. w 3. org/2001/XMLSchema#string"> An example ontology for tutorial purposes. </rdfs: comment> </owl: Ontology> Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassen | Benennung <owl: Class rdf: ID="Relaxation"> Referenzierung auf diese Klasse innerhalb eines Dokuments <rdf: resource="#Relaxation“> Alternativ: <rdf: resource=“http: //www. owl-ontologies. com/travel. owl#Relaxation”> Erweiterung einer importierten Klassendefinition <owl: Class rdf: about="#Relaxation"> Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassen | Referenzierung auf Klasse via ENTITY Im Header: <!DOCTYPE rdf: RDF [ <!ENTITY owl "http: //www. w 3. org/2002/07/owl#" > ]> Referenzierung: <owl: Class rdf: about="&owl; Thing"/> Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassen | equivalent. Class <owl: Class rdf: about="#US_President"> <equivalent. Class rdf: resource="#Principal. Resident. Of. White. House"/> </owl: Class> Zwei Klassen besitzen exakt dieselben Instanzen. Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassenbeziehungen | sub. Class. Of <owl: Class rdf: ID="Relaxation"> <owl: Class rdf: ID="Sunbathing"> <rdfs: sub. Class. Of> <owl: Class rdf: about="#Relaxation"/> </rdfs: sub. Class. Of> </owl: Class> Sunbathing ist sub. Class. Of Relaxation. Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassenbeziehungen | disjoint. With <owl: Class rdf: about="#Relaxation"> <rdfs: sub. Class. Of rdf: resource="#Activity"/> <owl: disjoint. With rdf: resource="#Sightseeing"/> <owl: disjoint. With rdf: resource="#Sports"/> </owl: Class> Relaxation ist disjunkt mit Sightseeing und Sports Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassenbeziehungen | disjoint. With <owl: Class rdf: about="#Relaxation"> <rdfs: sub. Class. Of rdf: resource="#Activity"/> <owl: disjoint. With rdf: resource="#Sightseeing"/> <owl: disjoint. With rdf: resource="#Sports"/> </owl: Class> Relaxation ist disjunkt mit Sightseeing und Sports Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassenbeziehungen | Inferenz <owl: Class rdf: ID="Professor"> <rdfs: sub. Class. Of rdf: resource="#Fakultaetsmitglied"/> </owl: Class> <owl: Class rdf: ID="Buch"> <rdfs: sub. Class. Of rdf: resource="#Publikation"/> </owl: Class> <owl: Class rdf: about="#Fakultaetsmitglied"> <owl: disjoint. With rdf: resource="#Publikation"/> </owl: Class> Fakultätsmitglied ist disjunkt mit Publikation. Es folgt durch Inferenz, dass ein Professor kein Buch ist (Professor ist auch disjunkt mit Buch). Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Einfache Klassenbeziehungen | Inferenz <owl: Class rdf: ID="Professor"> <rdfs: sub. Class. Of rdf: resource="#Fakultaetsmitglied"/> </owl: Class> <owl: Class rdf: ID=„Fakultätsmitglied"> <rdfs: sub. Class. Of rdf: resource=„Person"/> </owl: Class> Es folgt durch Inferenz, dass ein Professor eine Person ist. „sub. Class. Of“ ist transitiv. Einfach ausgedrückt: Aus x. Ry und y. Rz folgt: x. Rz Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Individuals <Capital rdf: about="#Sydney„/> Identisch mit <owl: Thing rdf: about="#Sydney"> <rdf: type rdf: resource=„#Capital„> </rdf: type> </owl: Thing> Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Properties von Individuals <owl: Datatype. Property rdf: about="#has. Zip. Code"> <rdf: type rdf: resource="&owl; Functional. Property"/> <rdfs: domain rdf: resource="#Contact"/> <rdfs: range rdf: resource="&xsd; int"/> </owl: Datatype. Property> <Capital rdf: about="#Sydney"> <has. Zip. Code>33587</has. Zip. Code> <has. Part rdf: resource="#Bondi. Beach"/> <has. Part rdf: resource="#Currawong. Beach"/> <has. Accommodation rdf: resource="#Four. Seasons"/> </Capital> Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Individuals <owl: Class rdf: ID="Professor"> <rdfs: sub. Class. Of rdf: resource="#Fakultaetsmitglied"/> </owl: Class> <owl: Class rdf: ID="Fakultaetsmitglied"> <rdfs: sub. Class. Of rdf: resource="#Person"/> </owl: Class> Es folgt durch Inferenz, dass Professor eine Subklasse von Person ist. Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Properties definieren • Einschränkung durch – Domain (RDFS) – Range (RDFS) – Type (RDF) • 2 Unterklassen von rdf: Property Object-Properties (abstrakte Rollen): Individuals mit Individuals unterschiedlicher Klassen. Bsp. : <owl: Object. Property rdf: about="#has. Accommodation"> <Capital rdf: about="#Sydney"> <has. Accommodation rdf: resource="#Four. Seasons"/> Datatype-Properties (konkrete Rollen): Individuals mit Datenwerten. Bsp. : <owl: Datatype. Property rdf: about="#has. Zip. Code"> <Capital rdf: about="#Sydney"> <has. Zip. Code>33587</has. Zip. Code> Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Properties • Einschränkung durch – Domain (RDFS) – Range (RDFS) • 2 Unterklassen von rdf: Property: – Object-Properties (abstrakte Rollen): Individuals mit Individuals unterschiedlicher Klassen Bsp. : <owl: Object. Property rdf: about="#has. Accommodation"> – Datatype-Properties (konkrete Rollen): Individuals mit Datenwerten Bsp. : <owl: Datatype. Property rdf: about="#has. Zip. Code"> Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Property Datatypes • Datatype-Properties können RDF-Literale darstellen oder auch simple Datentypen, gemäß den XMLSchema Datentypen Vereinbarungen. • OWL unterstützt die meisten der in XML-Schema enthaltenen Datentypen plus rdfs: Literal • Alle OWL-Reasoner müssen xsd: integer und xsd: string-Datentypen unterstützten. Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Property Characteristics • Transitive. Property P(x, y) and P(y, z) implies P(x, z) • Symmetric. Property P(x, y) gdw P(y, x) gdw (genau dann wenn) x Property von y genau dann wenn y Property von x • Functional. Property P(x, y) and P(x, z) implies y = z • Inverse. Of P 1(x, y) gdw P 2(y, x) • Inverse. Functional. Property P(y, x) and P(z, x) implies y = z Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Code Property Restrictions value constraints (Quantifizierer) schränkt die Range der Property ein - owl: all. Values. From - owl: some. Values. From - owl: has. Value (alle) (mindestens eine) (genauer Wert) cardinality constraints (Kardinalität) schränkt die Anzahl von Values ein, die eine Property haben kann. - owl: max. Cardinality - owl: min. Cardinality - owl: Cardinality (obere Grenze der Anzahl) (untere Grenze der Anzahl) (exakte Anzahl) Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick OWL Ausblick • Dient aktuell nur zur Repräsentation von Wissen • Erfüllt noch keine alltäglichen Zweck • Viel Arbeit, um alles Wissen in Ontologien zu transportieren • Schwer zu erweitern Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09
XML / RDF / OWL in Protégé Aufbau · OWL · Code · Demo · Ausblick Vielen Dank für Eure Aufmerksamkeit! Joachim Köpf - Claudia Irle | Wissensorganisation | HAW-Hamburg | WS 08/09