web technologien – web ontology language...

21
Web Technologien – Web Ontology Language (OWL) Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00 – 10:00 a.m. Room HS 021, B4 1

Upload: others

Post on 22-Oct-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Web Technologien – Web Ontology Language (OWL)

Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00 – 10:00 a.m. Room HS 021, B4 1

Page 2: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 2

Wrap-Up

•  Sog. lower-case Semantics ermöglichen in verschiedenen Standards die Annotierung von Website-Inhalten mit Semantik

•  Zu den lower-case Semantics gehören bspw. microformats, Schema.org in HTML5 und RDFa

•  RDF ermöglicht die semantische Repräsentation von Resourcen, welche über URIs referenziert werden

Page 3: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 3

Was sind Ontologien?

•  Abgeleitet von den griechischen Begriffen ὄν (=on, „sein“) und λόγος (= logos, „Lehre“) die „Lehre des Seins“

•  „An ontology is a specification of a conceptualization“ (Tom Gruber, 1992)

•  Später weiter spezifiziert: „An ontology defines (specifies) the concepts, relationships, and other distinctions that are relevant for modeling a domain. The specification takes the form of the definitions of representational vocabulary (classes, relations, and so forth), which provide meanings for the vocabulary and formal constraints on its coherent use.” (Tom Gruber, 2009)

Page 4: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 4

RDF & RDFS

•  RDFS erweitert RDF um eine Schemabeschreibung •  Die Schemabeschreibung erlaubt die Festlegung eines

Vokabulars zur Modellierung einer bestimmten Domäne •  RDF(S) erlaubt somit die Formalisierung von Ontologien

bestehend aus Ressourcen, deren Eigenschaften und Beziehungen

•  Dog is an animal •  Cat1 is a cat •  Cats are animals •  Zoos host animals •  Zoo hosts the Cat2

Grafik: Wikipedia

Page 5: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 5

Probleme mit RDFS

•  Die Aussagekraft von RDFS zur hinlänglichen Beschreibung von Ressourcen ist zu schwach: •  Keine Beschränkungsmöglichkeit für lokale Domänen und Bereiche:

Man kann nicht ausdrücken, dass „hasChild“ bei einem Elefanten ein Elefantenkind und bei Menschen ein Menschenkind ist

•  Keine Beschränkungsmöglichkeiten zur Existenz und Kardinalität: Man kann nicht ausdrücken, dass alle Instanzen von „Person“ Eltern haben die ebenfalls eine Person sind oder, dass jede Person genau 2 Elternteile hat

•  Keine Beschreibungsmöglichkeit für transitive, inverse oder symmetrische Beziehungen: Man kann nicht ausdrücken, dass „isPartOf“ eine transitive Beziehung ist, welche „hasPart“ als inverse Beziehung hat, oder dass „touches“ eine symmetrische Beziehung ist

•  ... •  Möglichkeiten zum Schlussfolgern können nur schwer angeboten werden, da

die logischen Konstrukte in einer proprietären formalen Beschreibung vorliegen

Page 6: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 6

Web Ontology Language (OWL)

Was ist OWL? •  Akronym für Web Ontology Language •  Formale Beschreibungssprache für Ontologien •  Durch XML-Notation mensch- und maschinenverarbeitbar

Vergleich zu RDF(S): •  OWL basiert auf dem RDF Syntax, aber spezialisiert darüber hinaus •  Die Ausdrucksmöglichkeit von OWL geht über die von RDFS hinaus •  Ausdrücke in Prädikatenlogik nach der SHOIN-Logik können verwendet

werden rdfs:Resource

rdfs:Class

owl:Class

rdfs:Property

owl:ObjectProperty owl:DatatypeProperty

Page 7: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 7

Die OWL Spezialisierungen

•  OWL ist in drei Spezialisierungen standardisiert bzgl. der Schlussfolgerungsmechanismen und Ausdrucksstärken:

–  OWL Lite: Minimaler Umfang; keine aufzählenden Klassen, Disjunktionen und Kardinalitäten. (+) einfach zu verstehen und zu implementieren, daher ideal für einfache Taxonomien (-) geringe Ausdrucksstärke

–  OWL DL: Einschränkung, dass OWL Konstruktoren aufeinander angewendet werden können, so dass die Sprache der bekannten Description Logic (DL) entspricht.

(+) effiziente Schlussfolgerungsmechanismen (-) Verlust der vollen Kompatibilität mit RDF(S)

–  OWL Full: Alle OWL Primitiva und beliebige Kombination mit RDF(S) möglich, also ohne Einschränkungen.

(+) Vollständig Aufwärtskompatibel mit RDF(S) und für Prädikatenlogik höherer Grade geeignet (-) Unentscheidbar, somit keine vollständige Schlussfolgerungen

•  Die Spezialisierungen sind untereinander kompatibel: –  Jede legale OWL Lite Ontologie ist eine legale OWL DL Ontologie, ebenso DL mit Full –  Jede valide OWL Lite Schlussfolgerung ist eine valide OWL DL Schlussfolgerung, ebenso DL mit Full

Page 8: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 8

OWL Syntax

•  OWL basiert auf RDF(S) und verwendet RDF/XML •  Alternativen:

abstract syntax und graphische Beschreibungen, wie vor allem UML Klassendiagramme

•  Header in RDF/XML <rdf:RDF

xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/01/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#">

Page 9: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 9

OWL Klassen

•  Klassen werden mit owl:Class definiert. •  Beispiel: Klasse „assistentProfessor“

<owl:Class rdf:ID="assistentProfessor"> <rdfs:subClassOf rdf:resource="#academicStaffMember"/> </owl:Class>

•  Disjunktion von anderen Professoren

<owl:Class rdf:about="#assistentProfessor"> <owl:disjointWith rdf:resource="#professor"/> <owl:disjointWith rdf:resource="#associateProfessor"/> </owl:Class>

Page 10: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 10

OWL Eigenschaftsbeschränkungen

•  Beschränkungen definieren Bedingungen, die von Instanzen einer Klasse erfüllt werden müssen.

•  Beispiel 1:

„Examensprüfungen dürfen nur von Professoren gehalten werden.“ <owl:Class rdf:about="#FinalExamination"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#isApprovedBy"/> <owl:allValuesFrom rdf:resource="#Professor"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class>

•  Alle Werte der Eigenschaft (hier isTaughtBy) müssen von der angegebenen Klasse (hier Professor) stammen.

Page 11: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 11

OWL Eigenschaftsbeschränkungen

•  Beispiel 2: Akademische Mitarbeiter müssen mindestens einen Bachelorkurs lehren:

<owl:Class rdf:about="#academicStaffMember"> <rdfs:subClassOf> <owl:Restriction>

<owl:onProperty rdf:resource="#teaches"/> <owl:someValuesFrom rdf:resource="#bachelorCourse"/>

</owl:Restriction> </rdfs:subClassOf> </owl:Class> •  owl:allValuesFrom entspricht dem All-Quantor •  owl:someValuesFrom entspricht dem Existenz-Quantor

Page 12: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 12

Weitere OWL Primitiva

•  Eigenschaftsbeschränkungen –  Kardinalitäten: owl:minCardinality, owl:maxCardinality

angewendet auf Datentypen, die i.a. mittels XML Schema definiert werden.

•  Boolsche Kombinationen –  Komplement: owl:complementOf –  Vereinigung: owl:unionOf –  Schnittmenge: owl:intersectionOf

•  Aufzählungen –  Enumerations: owl:oneOf

Page 13: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 13

OWL Instanzen

OWL Instanzen werden wie RDF Instanzen beschrieben: <rdf:Description rdf:ID="234954"> <rdf:type rdf:resource="#academicStaffMember"/>

</rdf:Description> ...oder kürzer <academicStaffMember rdf:ID="234954"/> ...oder mit mehr Details <academicStaffMember rdf:ID="234954"> <uni:age rdf:datatype="&xsd;integer"> 39 </uni:age>

</academicStaffMember>

Page 14: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 14

Open World Assumption

Ein Kurs, der von zwei Mitarbeitern gehalten wird, würde wie folgt beschrieben werden: <course rdf:about="CIT1234"> <isTaughtBy rdf:resource="#234954"/> <isTaughtBy rdf:resource="#234955"/>

</course> Problem:

Das System könnte schließen, dass beide Individuen gleich sind, da es im Sinne der logischen Open World Assumption davon ausgeht, dass auch Dinge sein können die nicht explizit beschrieben sind. à Anders als bei klassischen Datenbanken!

Lösung:

Damit Individuen als unterschiedlich identifiziert werden können, müssen sie als explizit ungleich beschrieben werden.

<lecturer rdf:ID="234954"> <owl:differentFrom rdf:resource="234955"/>

</lecturer>

Page 15: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 15

OWL Beispiel !!!<?xml version="1.0"?>!<rdf:RDF! xmlns:owl="http://www.w3.org/2002/07/owl#"! [...]! xml:base="http://uds/UniversityPeople">! <owl:Ontology rdf:about="">! <rdfs:comment xml:lang="de">A simple example ontology </rdfs:comment>! </owl:Ontology>! <owl:Class rdf:ID="Person">! <owl:disjointWith>! <owl:Class rdf:ID="Course"/>! </owl:disjointWith>! <rdfs:subClassOf>! <owl:Restriction>! <owl:cardinality rdf:datatype= "http://www.w3.org/2001/XMLSchema#int“>1</owl:cardinality>! <owl:onProperty>! <owl:DatatypeProperty rdf:ID="age"/>! </owl:onProperty>! </owl:Restriction>! </rdfs:subClassOf>! <rdfs:subClassOf rdf:resource= "http://www.w3.org/2002/07/owl#Thing"/>! </owl:Class>! <owl:Class rdf:about="#Course">! [...]! </owl:Class>! <owl:Class rdf:ID="Student">! <owl:disjointWith>! <owl:Class rdf:ID="Professor"/>! </owl:disjointWith>! >true</protege:subclassesDisjoint>! <rdfs:subClassOf>! <owl:Restriction>! <owl:onProperty>! <owl:ObjectProperty rdf:ID="attends"/>! </owl:onProperty>! <owl:minCardinality rdf:datatype= "http://www.w3.org/2001/XMLSchema#int">1</owl:minCardinality>! </owl:Restriction>! </rdfs:subClassOf>! <rdfs:subClassOf>! <owl:Restriction>! <owl:someValuesFrom rdf:resource="#Course"/>! <owl:onProperty>! <owl:ObjectProperty rdf:about="#attends"/>! </owl:onProperty>! </owl:Restriction>! </rdfs:subClassOf>! <rdfs:subClassOf rdf:resource="#Person"/>! </owl:Class>!

UniversityPeople.owl

[...]! <owl:Class rdf:about="#Professor">! <rdfs:subClassOf rdf:resource="#Person"/>! <owl:disjointWith rdf:resource="#Student"/>! </owl:Class>! <owl:ObjectProperty rdf:about="#attends">! <rdfs:range rdf:resource="#Course"/>! <owl:inverseOf>! <owl:ObjectProperty rdf:ID="is_attended_by"/>! </owl:inverseOf>! <rdfs:domain rdf:resource="#Student"/>! </owl:ObjectProperty>! <owl:ObjectProperty rdf:about="#is_attended_by">! <owl:inverseOf rdf:resource="#attends"/>! <rdfs:range rdf:resource="#Student"/>! <rdfs:domain rdf:resource="#Course"/>! </owl:ObjectProperty>! <owl:DatatypeProperty rdf:about="#name">! <rdfs:domain>! <owl:Class>! <owl:unionOf rdf:parseType="Collection">! <owl:Class rdf:about="#Course"/>! <owl:Class rdf:about="#Person"/>! </owl:unionOf>! </owl:Class>! </rdfs:domain>! <rdfs:range rdf:resource= "http://www.w3.org/2001/XMLSchema#string"/>! </owl:DatatypeProperty>! <owl:DatatypeProperty rdf:about="#age">! <rdfs:range rdf:resource= "http://www.w3.org/2001/XMLSchema#int"/>! <rdfs:domain rdf:resource="#Person"/>! </owl:DatatypeProperty>!</rdf:RDF>!!

Page 16: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 16

Arbeiten mit OWL: Editoren

Zur Modellierung und Nutzung von Ontologien stehen verschiedene Werkzeuge zur Verfügung, welche über den reinen Funktionsumfang des Anlegens einer Ontologie hinaus gehen: •  Protégé:

(+) kostenfrei, viele Plug-Ins, kann direkt an Reasoner angebunden werden (-) teilweise instabil

•  TopRaid Composer: (+) sehr großer Funktionsumfang (-) sehr teuer

Page 17: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 17

Protégé Ontology Editor

Page 18: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 18

Arbeiten mit OWL: Frameworks

•  Zur Entwicklung von Anwendungen stehen ebenfalls viele Frameworks für verschiedene Programmiersprachen zur Verfügung

•  Eine Auswahl kostenfreier Frameworks: •  Jena oder Sesame (Java):

Umfangreiche Frameworks für RDF und OWL inkl. Serialisierung in verschiedene Formate, SPARQL 1.1 Unterstützung und verschiedener Persistenzsysteme

•  ARC 2 (PHP): Semantisches Framework für den LAMP Stack mit Unterstützung für RDF, OWL, microformats und SPARQL

Page 19: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 19

OWL 2

•  Überarbeitete Version von OWL auf Grund der Praxiserfahrungen: •  Zusätzliche ontologische Axiome zur Erweiterung der Ausdrucksstärke •  Erweiterung um nicht-logische Aspekte wie Metadaten zur Annotation

oder Datentypen •  Behebung von Problemen im OWL Standard

•  Größte Neuigkeiten: •  Logische Erweiterung um Beschreibungslogik SROIQ mit höherer

Ausdrucksstärke als SHOIN •  Eigenschaftsketten •  Bessere Beschreibbarkeit von Datentypen und Datenräumen •  Rollenaxiome •  Erweiterte Annotation •  Neue XML Notation zur besseren Lesbarkeit

Page 20: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass

20.12.11 Slide 20

Literatur

Bücher: •  G. Antoniou & F. van Harmelen

Web Ontology Language: OWL, In: S. Staab & R. Studer (Eds.), Handbook on Ontologies, Springer S. 67-92, 2004

•  P. Hitzler, M. Krötsch, S. Rudolph, Y. Sure Semantic Web: Grundlagen, Springer, 2007. ISBN-10: 3540339930, ISBN-13: 978-3540339939

Web: •  http://www.w3.org/TR/rdf-schema/ •  http://www.w3.org/TR/owl-features/ •  http://www.w3.org/TR/owl2-overview/ •  http://protege.stanford.edu/ •  http://www.topquadrant.com/products/TB_Composer.html •  http://jena.sourceforge.net/ •  http://www.openrdf.org/ •  https://github.com/semsol/arc2/wiki

Page 21: Web Technologien – Web Ontology Language (OWL)iss.uni-saarland.de/workspace/documents/wt_10_owl.pdf · • „An ontology is a specification of a conceptualization“ (Tom Gruber,

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Saarland University, Germany