OWL-Web Ontology Language Eine Einführung Bildquelle: http://www.aifb.uni-karlsruhe.de/Lehre/Sommer2005/SemTech/stuff/1 Bildquelle: http://www.db-thueringen.de/ servlets/Derivate Servlet/Derivate-9520/OWL_neu.pdf Spree WS 2009/2010
Gliederung Reminder XML/RDF Was ist OWL? Bausteine von OWL Facetten Reminder XML/RDF Was ist OWL? Bausteine von OWL Datentypen Restrictions Logik Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Reminder Facetten XML: Mit XML kann man Metadaten Teilen desselben Dokumentes hinzufügen (interne Metadaten) RDF: Mit RDF kann man Metadaten über das Dokument als alleinstehende Identität schaffen (externe Metadaten) Schlüsselelement von RDF sind Triple Property / Assoziation #kennt Ressource als URI Online:#Beate Online:#Meike 54 Objekt als Wert #hat_Alter Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Was ist OWL? Facetten Standardsprache zur Erstellung von Ontologien, mit der im Semantic Web Informationen repräsentiert werden können W3C Recommendation seit 2004 Code soll von Software-Agenten verstanden werden und ist für Menschen lesbar aber schwer editierbar, da die Darstellung linear ist Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Bausteine von OWL? Syntax / Dokumentaufbau Klassen (concepts) Facetten Syntax / Dokumentaufbau Klassen (concepts) Eigenschaften/ Attribute (properties) Instanzen (class individuals) Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Aufbau OWL-Ontologie-Dokument Header XML Deklaration und RDF Start Tag <?xml version="1.0"?> <rdf:RDF > Namespacedeklarationen Ontologie-Element Informationen über die Version OWL-Dokumente können in XML und RDF dargestellt (serialisiert) werden. Importierte Elemente Body Aussagen über Klassen, Eigenschaften und Individuen Footer RDF-Endtag </rdf:RDF> Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Bausteine : Klassen Was sind Facetten? Grundkonzepte einer Domain sind benannte (named classes) Klassen. <owl:Class rdf:ID="DeepPanBase"> <owl:disjointWith> <owl:Class rdf:ID="ThinAndCrispyBase"/> </owl:disjointWith> <rdfs:subClassOf> <owl:Class rdf:ID="PizzaBase"/> </rdfs:subClassOf> <rdfs:label xml:lang="pt">BaseEspessa</rdfs:label> </owl:Class> Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Bautsteine : Instanzen Was sind Facetten? Instanzen sind individuelle Mitglieder einer Klasse <owl:Thing rdf:ID="CentralCoastRegion" /> Ist gleichbedeutend mit <owl:Thing rdf:about="#CentralCoastRegion"> <rdf:type rdf:resource="#Region"/> </owl:Thing> <rdf:Description rdf:about="#Oysters"> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Oysters</name> <rdf:type rdf:resource="#Shellfish"/> </rdf:Description> Im Beispiel oben drücken wir aus, dass „Oysters“ vom Datentyp String sind und Mitglieder der Klasse Shellfish. Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Facettenklassifikation Bausteine : Eigenschaften Facettenklassifikation Eigenschaften/Properties erlauben es Aussagen über Klassen und ihre Mitglieder und über Instanzen zu machen. In OWL können Eigenschaften ebenfalls Eigenschaften haben („property characteristics“ – Eigenschaftscharakteristiken). Man unterscheidet Objekteigenschaften und Datentypeneigenschaften Für jede Property können Domain und Range festgelegt werden Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Facettenklassifikation Datentypen Eigenschaften Facettenklassifikation 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. Beispiele: xsd:string; xsd:boolean; xsd:decimal xsd:integer xsd:hexBinary xsd:time xsd:language Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010 S. 5
Facettenklassifikation Property Eigenschaften Facettenklassifikation TransitiveProperty SymmetricProperty FunctionalProperty InverseOf InverseFunctionalProperty Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010 S. 5
Eigenschaften / Properties : Codebeispiel Was sind Facetten? <owl:ObjectProperty rdf:ID="isToppingOf"> <rdfs:domain rdf:resource="#PizzaTopping"/> <owl:inverseOf> <owl:ObjectProperty rdf:about="#hasTopping"/> </owl:inverseOf> <rdfs:range rdf:resource="#Pizza"/> <rdfs:subPropertyOf> <owl:TransitiveProperty rdf:ID="isIngredientOf"/> </rdfs:subPropertyOf> </owl:ObjectProperty> Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Einschränkungen (Restrictions) von Eigenschaften Was sind Facetten? value constraints (Quantifizierer) schränken die Range der Property ein - owl:allValuesFrom (alle) - owl:someValuesFrom (mindestens eine) - owl:hasValue (genauer Wert) cardinality constraints (Kardinalität) schränken die Anzahl von Values ein, die eine Property haben kann. - owl:maxCardinality (obere Grenze der Anzahl) - owl:minCardinality (untere Grenze der Anzahl) - owl:Cardinality (exakte Anzahl) Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Restrictions <owl:Class rdf:ID="CajunSpiceTopping"> Was sind Facetten? <owl:Class rdf:ID="CajunSpiceTopping"> <rdfs:subClassOf> <owl:Class rdf:about="#HerbSpiceTopping"/> </rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:FunctionalProperty rdf:ID="hasSpiciness"/> </owl:onProperty> <owl:someValuesFrom> <owl:Class rdf:ID="Hot"/> </owl:someValuesFrom> </owl:Restriction> <owl:disjointWith> <owl:Class rdf:ID="RosemaryTopping"/> </owl:disjointWith> <rdfs:label xml:lang="pt">CoberturaDeCajun</rdfs:label> </owl:Class> Für die Klasse „Cajun Spice Topping“ gilt, dass die Eigenschaft „hasSpiciness“ mindestens einen Wert aus der Klasse „Hot“ haben muss. Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Logik OWL kann Klassen logisch kombinieren Was sind Facetten? OWL kann Klassen logisch kombinieren Vereinigung / logisches ODER (unionOf) Durchschnitt / logisches UND (intersectionOf) Komplement / logisches NICHT (complementOf) <owl:Class rdf:ID="Fruit"> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#SweetFruit" /> <owl:Class rdf:about="#NonSweetFruit" /> </owl:unionOf> </owl:Class> Die Klasse „Fruit“ umfasst die beiden Klassen „SweetFruit“ und „NonSweetFruit“ Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Testfrage: OWL Skript interpretieren Aufgabe Welche Schlussfolderung / Inferenz lässt sich aus diesen Statements für Südfrüchte ziehen? <owl:Class rdf:ID=„Südfrüchte"> <rdfs:subClassOf rdf:resource=„Früchte“> </owl:Class> <owl:Class rdf:ID=„Früchte"> <rdfs:subClassOf rdf:resource=„Vegetarischer_Belag “> Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010
Quellen und weiterführende Ressourcen Protégé OWL Library Quellen / Ressourcen Protégé OWL Library Protégé Wiki: Protégé OWL Library. Online: http://protegewiki.stanford.edu/index.php/Protege_Ontology_Library#OWL_ontologies W3C 2004 W3C: OWL Web Ontology Language Guide. W3C Recommendation 10 February 2004. Online: http://www.w3.org/TR/owl-guide/ W3C 2009 W3C: OWL 2 Web Ontology Language. Guide. W3C Recommendation 27 October 2009. Online: http://www.w3.org/TR/2009/REC-owl2-overview-20091027/10 W3C 2004 (deutsch) OWL Web Ontology Language Overview. Deutsche Übersetzung. Version 1.1 2004/11/01. Online: http://www.semaweb.org/dokumente/w3/TR/2004/REC-owl-features-20040210-DE.html Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2009/2010