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 2010/2011
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 2010/2011
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 2010/2011
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 und nicht die Hierarchien abbildet Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2010/2011
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 2010/2011
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 2010/2011
Bausteine : Dokumentstruktur - Header Was sind Facetten? Sprachangabe (rdf) und Namespaces Xml-Deklaration <?xml version="1.0"?> <rdf:RDF xmlns:xsp="http://www.owl-ontologies.com/2005/08/07/xsp.owl#" xmlns="http://www.owl-ontologies.com/unsere_pizza.owl#" xmlns:swrlb="http://www.w3.org/2003/11/swrlb#" xmlns:swrl="http://www.w3.org/2003/11/swrl#" xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xml:base="http://www.owl-ontologies.com/unsere_pizza.owl"> <owl:Ontology rdf:about=""/> Body </rdf:RDF> Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2010/2011
Beispiel : Dbpedia Sprachangabe (rdf) und Namespaces Was sind Facetten? Sprachangabe (rdf) und Namespaces <rdf:RDF xmlns = "http://dbpedia.org/ontology/" xml:base="http://dbpedia.org/ontology/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <!-- Ontology Information --> <owl:Ontology rdf:about=""> <owl:versionInfo xml:lang="de">Version 3.2 2008-11-17</owl:versionInfo> </owl:Ontology> Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2010/2011
Bausteine : Klassen Was sind Facetten? Grundkonzepte einer Domain sind benannte (named classes) Klassen. <owl:Class rdf:ID="Kaesepizza"> <rdfs:subClassOf> <owl:Class rdf:ID="Pizza"/> </rdfs:subClassOf> Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2010/2011
Beispiel Dbpedia : Klassen Beispiel Dbpedia: Class place Was sind Facetten? Beispiel Dbpedia: Class place <owl:Class rdf:about="http://dbpedia.org/ontology/PopulatedPlace"> <rdfs:label xml:lang="en">Populated Place</rdfs:label> <rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/></owl:Class> <owl:Class rdf:about="http://dbpedia.org/ontology/Place"> <rdfs:label xml:lang="en">Place</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/></owl:Class> Beispiel DBpedia: Ontology Classes - Überblick http://mappings.dbpedia.org/server/ontology/classes Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2010/2011
Bausteine : Instanzen Was sind Facetten? Instanzen sind individuelle Mitglieder einer Klasse <Margarita rdf:ID="Margarita_Kinder"> Beispiel: Eigenschaften der Klasse Person in DBpedia http://mappings.dbpedia.org/server/ontology/classes/Person Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2010/2011
Beispiel Dbpedia : Instanzen Was sind Facetten? Instanzen sind individuelle Mitglieder einer Klasse <Philosphopher rdf:ID =„http://dbpedia.org/resource/Aristotle“ /> Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2010/2011
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 <owl:ObjectProperty rdf:about="#hatTeig"> <rdfs:range rdf:resource="#Teig"/> <owl:inverseOf> <owl:ObjectProperty rdf:ID="istTeigVon"/> </owl:inverseOf> <rdfs:domain rdf:resource="#Pizza"/> <rdfs:subPropertyOf> <owl:TransitiveProperty rdf:about="#hatZutat"/> </rdfs:subPropertyOf> </owl:ObjectProperty> Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2010/2011
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:normalizedString xsd:boolean xsd:decimal xsd:float xsd:double xsd:integer xsd:nonNegativeInteger xsd:positiveInteger xsd:nonPositiveInteger xsd:negativeInteger xsd:long xsd:intxsd:short xsd:byte Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2010/2011 S. 5
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 2010/2011
Restrictions <rdfs:subClassOf> <owl:Restriction> Was sind Facetten? <owl:Class rdf:ID="VegetarischePizza"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#hatBelag"/> </owl:onProperty> <owl:someValuesFrom> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Gemuese"/> <owl:Class rdf:ID=„#Obst"/> </owl:unionOf> </owl:Class> </owl:someValuesFrom> </owl:Restriction> </rdfs:subClassOf> ... Für die Klasse „VegetarischePizza“ gilt, dass die Eigenschaft „#hatBelag “ mindestens einen Wert aus der Collection „unionOf“ Gemuese und Obst haben muss. Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2010/2011
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 2010/2011
Testfrage: OWL Skript interpretieren Aufgabe Welche Schlussfolgerung / 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 “> Wenn die Klassen transitiv gesetzt sind, lässt sich ableiten, dass Südfrüchte ein vegetarischer Belag sind Seminar I-Prax: Inhaltserschließung visueller Medien, 5.10.2004 Spree WS 2010/2011
Quellen und weiterführende Ressourcen DBpedia Ontology. Quellen / Ressourcen DBpedia Ontology. Stand 2010-04-29. Online: http://wiki.dbpedia.org/Ontology?v=zj4 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/ 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 2010/2011