E N D
Seminar Wissensrepräsentation für das Semantic WebDas "Semantic Web" soll als neues Paradigma die automatisierte Kommunikation zwischen Maschinen und Anwendungssystemen mittels Web Technologien ermöglichen. Neben WebServices als wichtiger Unterstützungstechnologie sind in diesem Zusammenhang in jüngster Vergangenheit die XML basierten Standards RDF (Resource Description Framework), RDF-S (RDF-Schema) und OWL (Web Ontology Language) vom W3C veranschiedet worden und erfreuen sich zunehmender Bedeutung. Ziel des Seminars ist das Kennenlernen dieser Wissensrepräsentationsarten, ihrer Anwendungen (z.B. RSS, FOAF, XUL) und Werkzeugen zu deren Nutzung (z.B. Protege, KAON, pOWL). Sören Auer Sören Auer
Organisatorisches Termine: jeweils Do. A-Woche, 15.15-16.45 Uhr, SG 03-07 21.10. Einführung „Semantic Web Wissensrepräsentation“ 04.11. RDF: Dublin Core, XMP 18.11. Sesame (RDF Database): Query Languages 16.12. RDFS: Creative Commons, FOAF, vCard, iCal 06.01. Kaon (Ontology Management): Entailment 20.01. OWL: Service Ontology 03.02. Protegé/Racer (Ontology Editor/Reasoner): Inferencing Sören Auer
Einführung Semantic Web Globalisierung der Informationstechnologie “The Semantic Web is a vision: the idea of having data on the Web defined and linked in a way that it can be used by machines not just for display purposes, but for automation, integration and reuse of data across various applications. ” [W3C 2001] Zwei zentrale Paradigmen: • Weltweiter Datenaustausch • Ausbildung eines gemeinsamen Verständnissesüber deren Bedeutung Sören Auer
Einführung Semantic Web Tim Berner-Lee‘s semantische Pyramide Sören Auer
Einführung Semantic Web Sören Auer
Resource Description Framework Basistypen RDF unterscheidet 2 fundamentale Grundtypen: Resourcen • Komplexe abstrakte oder konkrete Entitäten • Eindeutig durch URI charakterisiert Literale • Datentyp • Sprache Sören Auer
Resource Description Framework RDF Statements <?xml version="1.0"?> <rdf:RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/metadata/dublin_core#"> <Descriptionabout="http://www.servcase.de"> <dc:Creator> Romy Pfretzschner </DC:Creator> </Description> </rdf:RDF> dc:creator http://www.servcase.de Romy Pfretzschner Subject (Resource) Object (Resource/Literal) Predicate (Resource) Sören Auer
Resource Description Framework RDF Model • Einfache Wissensbasis • Kombiniert mehrere RDF Statements Creator http://www.servcase.de http://ais.informatik.uni-leipzig.de/staff#1 Name E-Mail Romy Pfretzschner pfretzschner@informatik.uni-leipzig.de.de Sören Auer
Resource Description Framework <?xml version="1.0"?> <rdf:RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#„xmlns:dc="http://purl.org/metadata/dublin_core#"> <rdf:Description about="http://www.servcase.de"> <dc:Creator> <rdf:Description> <rdf:Description about="http://ais.informatik.uni-leipzig.de"> <v:Name>Romy Pfretzschner</v:Name> <v:Email>pfretzschner@informatik.uni-leipzig.de</v:Email> </rdf:Description> </dc:Creator> </rdf:Description> </rdf:RDF> Sören Auer
Resource Description Framework Anwendung „Eingebettet“ • in HTML/XML bzw. beliebige andere Datenformate • z.B. PDF / OpenOffice / AVI / P3P „Standalone“ • Beschreibung einer oder mehrerer „Resourcen“ • Beschreibung von Domainenwissen(z.B. zur weltweiten Nutzung im Web bereitgestellt) Sören Auer
Resource Description Framework Container Problem: • Dokument mit mehrere Autoren • eine Person hat mehrere Emailadressen • Anweisungen müssen in definierter Reihenfolge bearbeitet werden Lösung: Zusammenfassung mehrerer Resourcen / Literale in einem Container Drei Typen: • bag - ungeordnete Liste (mit Duplikaten) • sequence - geordnete Liste (mit Duplikaten) • alternative – Alternative (ohne Duplikate) Sören Auer
http://www.servcase.de Creator _3 _1 _2 Romy Kyril Ivonne Resource Description Framework Container Beispiel … <DC:Creator> <Bag> <li>Romy</li> <li>Kyril</li> <li>Ivonne</li> </Bag> </DC:Creator> … Sören Auer
RDF Schema ? Einschränkung der Verknüpfbarkeit von Resourcen / Literalen Strukturierung von Vokabularen Instanziierung / Klassifikation Bereitstellung spezieller Resourcen: • Klassen (Konzepte, Frames)http://www.w3.org/2000/01/rdf-schema#Class • Attribute (Eigenschaften, Properties, Slots, Roles)http://www.w3.org/2000/01/rdf-schema#Property • Instanzen (Objekte)http://www.w3.org/1999/02/22-rdf-syntax-ns#type dc:creator http://www.servcase.de 16.11.2003 Sören Auer
RDF Schema Klassen und Eigenschaftenhierarchien Klassen und Eigenschaften können hierarchisch strukturiert werden <rdfs:Class rdf:ID="Person"> <rdfs:comment>The class of people.</rdfs:comment> <rdfs:label language=„en_US">Person</rdfs:label> <rdfs:label language=„de_SN">Dor Mänsch</rdfs:label> <rdfs:subClassOf rdf:resource= "http://www.w3.org/2000/03/example/classes#Animal"/> </rdfs:Class> Sören Auer
RDF Schema Eigenschaften Werden unabhängig von Klassen definiert verwandt <rdf:Property ID="verheiratet"> <rdfs:subPropertyOf rdf:resource="verwandt" /> <rdfs:domain rdf:resource="#Person" /> <rdfs:range rdf:resource="#Person" /> </rdf:Property> Domain: Zuordnung zu einer oder mehreren Klassen Range: Werte welche die Eigenschaft annehmen kann • Instanzen eine bestimmten Klasse • Literale eines XML-Schema Datentyps Sören Auer
RDF Schema Instanzen Sind einer (bzw. mehreren) Klasse(n) zugeordnet <rdfs:Class rdf:ID="Familienstand"> <rdf:Property ID=„mindestAlter"> <rdfs:domain rdf:resource="#Person" /> <rdfs:range rdf:resource= "http://www.w3.org/2001/XMLSchema#nonNegativeInteger" /> </rdf:Property> <Familienstand rdf:ID="Verheiratet"> <mindestAlter>16</mindestAlter> <mindestAlter>18</mindestAlter> </Familienstand> Sören Auer
Web Ontology Language OWL reichert RDF-S um weitere Möglichkeiten an: • Restriktionen (Constraints) • Kardinalität (min/max) von Eigenschaften • Identifikation gleicher Resourcen • Eigenschaften können transitiv, symetrisch sein Äquivalent zu einer entscheidbaren Untermenge der Prädikatenlogik 1. Stufe (Descripton Logic - SHIQ) • Automatische Klassifikation • Konsistenzprüfung • Einfache Inferenz Sören Auer
Anwendungen Vokabulare / Modelle / Ontologien Dublin Core VCard RSS DMoz XUL Sören Auer
Anwendungen Software Applikationen • Protege (http://protege.stanford.edu/)ontology and knowledge-base editor • KAON (http://km.aifb.uni-karlsruhe.de/)API and knowledge-base editor • Jena (http://jena.sourceforge.net/)Semantic Web Framework (API) for Java • SesameSemantic Web Database • Ontobrokerkommerziell Sören Auer
Anwendungen Großer kommerzieller Erfolg steht noch aus, mögliche Ursachen: • Mangelnde Unterstützung der am meisten verbreiteten Web-Technologien - Apache, PHP/MySQLkompliziertes Deployment • Mangelnde Unterstützung kooperativer / kollaborativer Entwicklung • Interoperabilität • Skalierbarkeit • Usability • Anpassbarkeit Sören Auer
Anwendungen Prototyp pOWL POWL supports viewing, editing of RDFS/OWL ontologies of arbitrary size.works even quite fast with the UNSPSCcode (containing 16500 Classes). Authentification scheme.Fine grained exposition of features andmodel data: Privileges (view, edit) for users andgroups can be assigned toModels, Classes and Properties. Sopisticated widgets for data editing. E.g. widgets for editing HTML in a WYSIWIG manner or for dates are integrated. Plugin concept. POWL is extremly easy extensible. Powerful object oriented API. All functionality is accessible by a clean application programming interface. POWL is fast. Models are stored in database tables, only those parts of the model are loaded into main memory which are actually needed. POWL is extremly scalable and fast. Multi language support. Sören Auer