Motivation des Semantic Web



Ähnliche Dokumente
RDF Containers. Häufig möchte man eine Gruppe von Dingen beschreiben. Hierfür stellt RDF ein Container-Vokabular zur Verfügung.

OWL Web Ontology Language

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

3.5 OWL: WEB Ontology Language (1)

Ressourcen-Beschreibung im Semantic Web

Kapitel WT:VIII (Fortsetzung)

Vorlesung Computerphilologie. Ontologien und Ontologie-Sprachen

Seminarphase PG 402 Thema: Semantic Web Autor: Phillip Look

... MathML XHTML RDF

Semantic Markup für die Dokumentenklassifizierung. Seminarvortrag von Mirko Pracht

Semantic Web Technologies 1

Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph!

XSL Templates. Mit Templates arbeiten. XSL Templates

Grundlagen des Semantic Web

Ontologien. Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Ontologien: Konstrukte. Konzepte/Klassen

Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Norbert Fuhr

Datenaustauschformate. Datenaustauschformate - FLV

Repräsentationssprachen für Ontologien

Präsentation zum Thema XML Datenaustausch und Integration

RDF RESOURCE DESCRIPTION FRAMEWORK. Referentin: Claudia Langer

Technologien des Semantic Web und ihre Anwendungen

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Grundbegriffe der Informatik

Qualitätssicherung bei der mobilen Datenerfassung

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Semantic Web Technologies 1

XML-Verarbeitung. XPath XSL die extensible Stylesheet Language. Torsten Schaßan SCRIPTO Modul 4: EDV Wolfenbüttel

XML-Namensräume. Marc Monecke

Semantic Web Grundlagen

Software Engineering Klassendiagramme Assoziationen

Semantic Web Technologies I

DTD: Syntax-Zusammenfassung

!!!!T!!! Systems!() Multimedia Solutions

Thema. Intelligente Agenten im Web

Semantic Web Grundlagen

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Web Ontology Language (OWL)

Semantic Web Technologies 1

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

IT-Zertifikat: Daten- und Metadatenstandards

Semantic Web: OWL. Web Ontology Language. Engelke Eschner Oleksandr Krychevskyy

Wiederholung: Beginn

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Semantic-Web-Sprachen XML, RDF (und RDFS), OWL

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Bericht BTI7311: Informatik Seminar Was sind Ontologien?

Objektorientierte Programmierung OOP

Programmiersprachen und Übersetzer

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

Was sind Ontologie-Editoren?

XML Schema vs. Relax NG

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

XML und SOAP Einführung und Grundlagen

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Semantic Web Grundlagen

1 Mathematische Grundlagen

Java und XML 2. Java und XML

Whitebox-Tests: Allgemeines

Objektorientierte Programmierung. Kapitel 12: Interfaces

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Barrierefreie Webseiten erstellen mit TYPO3

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Informatik 12 Datenbanken SQL-Einführung

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Workflow, Business Process Management, 4.Teil

Beschreibungslogiken. Daniel Schradick

Ein XML Dokument zeichnet sich im Wesentlichen durch seine baumartige Struktur aus:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Ontologien und Ontologiesprachen

-Inhalte an cobra übergeben

XML 1. Einführung, oxygen. Ulrike Henny. IDE Summer School 2013, Chemnitz

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

2.11 Kontextfreie Grammatiken und Parsebäume

Fragment Identifiers, Template Handles

OWL und Protégé. Seminar A.I. Tools Matthias Loskyll

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Grundlagen von Python

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Software-Engineering SS03. Zustandsautomat

Semantic Web. RDF, RDFS, OWL, and Ontology Engineering. F. Abel, N. Henze, and D. Krause IVS Semantic Web Group

OP-LOG

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller

my.ohm Content Services Autorenansicht Rechte

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Verteilte Systeme: Übung 4

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

Verknüpfte Daten abfragen mit SPARQL. Thomas Tikwinski, W3C.DE/AT

Transkript:

Motivation des Semantic Web Web ist für Nutzung durch Menschen konzipiert auch automatisch generierter Inhalt wird ohne interne Struktur präsentiert Werkzeugunterstützung: Stichwortbasierte Suchmaschinen Schwächen stichwortbasierter Suchmaschinen Hoher recall, niedrige precision niedriger oder kein recall Ergebnisse abhängig vom Vokabular Ergebnisse sind einzelne Web-Seiten Idee: Automatische Verarbeitung des Web-Inhaltes ermöglichen Semantic Web Initiative des W3C Graduelle Verbesserung des bisherigen Webs Semantic Web Frank Puppe 1

Beispiele für Semantic Web Wissensmanagement notwendig besonders für große verteilte Organisationen B2C Electronic Commerce (Business to Customer) Einkaufsagenten, die zu einem Produkt, Preise, ggf. Alternativen und Reputation der Firma erkennen und ggf. verhandeln können B2B Electronic Commerce (Business to Business) Datenaustausch bisher mit speziellen Format: EDI (Electronic Data Interchange). Verbesserung XML, aber erfordert Apriori-Vereinbarung Persönliche Agenten Stellvertreter für Informationssuche und ggf. Vereinbarungen Semantic Web Frank Puppe 2

Technologien des Semantic Web Explizite Repräsentation von Metadaten Ontologien: wichtige Wissensrepräsentationssprachen XML: Syntax, aber keine Festlegung von Semantik XML Schema: Präzisere Dokumentenbeschreibung RDF: Datenmodel für Objekte und ihre Beziehungen mit einer einfachen Semantik RDF Schema: Beschreibung seines Vokabulars als Klassen mit Eigenschaften und Vererbung OWL: Reichere Vokabularbeschreibungssprache, z.b. Beziehungen zwischen Klassen (z.b. Diskjunktion) Kardinalität (z.b. genau ein) Gleichheit Reichere Typisierung von Eigenschaften (z.b. Symmetrie) Aufzählungsklassen Logik: Herleiten von Schlussfolgerungen Semantic Web Frank Puppe 3

Agenten Autonome proaktive Software im Web basiert auf Metadaten, Ontologien und Logik erfordert zusätzlich Agenten-Kommunikationssprachen und Modellierung interner Zustände kommuniziert mit Menschen Semantic Web Frank Puppe 4

Inkrementeller Mehrebenen-Ansatz Konflikt zwischen Standardisierung und Innovation Mehrebenenansatz erfordert Abwärtskompatibilität (höhere Ebene beinhalten niedrigere) partielles Verständnis höherer Ebenen (Ein Agent einer Ebene kann auch auch Elemente höherer Ebenen verstehen, sofern sie in seine Sprachebene übersetzbar sind) Semantic Web Frank Puppe 5

XML Ermöglicht im Gegensatz zu HTML die Definition eigener Tags (Elemente) und Attribute Baum-Modell von XML-Dokumenten: Übersichtliche Darstellung als Baum Definition der Tags mit DTD (Document Type Definition) oder mit XML-Schema (ausdrucksstärkere Sprache) Namensräume erlauben Kombination verschiedener DTD's bzw. Schemas XML-Abfragesprachen basieren auf Pfad-Ausdrücken (XPATH) XML-Verarbeitung (z.b. Anzeige als HTML oder Umwandlung in anderes XML-Dokument) in deklarativer Form mit Stylesheets (XSLT; extensible stylesheet language transformations) Semantic Web Frank Puppe 6

XML - Baumdarstellung <email> <head> <from name = "Michael Maher" address = "michealmaher@cs.gu.edu.au"/> <to name = "Grigoris Antoniou" address = "grigoris@cs.unibremen.de"/> <subject> Where is your draft </subject> </head> <body> Grigoris, where is the draft of the paper you promised me last week </body> </email> Semantic Web Frank Puppe 7

Definition einer DTD Formulierung der Terminale: Elemente: <!ELEMENT Name Wert> Name: nur Buchstaben, Ziffern und "." "-" "_" sind erlaubt; Groß- / Kleinschreibung relevant; darf nicht mit "xml" beginnen Wert: (#PCDATA) ANY EMPTY Elemente (#PCDATA Elemente)*> Formulierung der Regeln für Elemente (a, b, c, = Elemente): - Gruppierung: (a b) oder (a b c) - Alternative: a b oder a b c - Sequenz: a, b oder a, b,c - Wiederholung 0.. n: a * - Wiederholung 1.. n: a + - Wiederholung 0.. 1: a? Attribute: <!ATTLIST Elementname Attributliste> Elementname: Name eines definierten Elementes Attributliste: Name Typ Bedeutung Typ: CDATA ID IDREF IDREFS Entity ( (Name Name )* ) Bedeutung: #IMPLIED #REQUIRED Name #FIXED Name Entitäten: <!entity "kuerzel" "Ersetzungstext"> <!entity "kuerzel" system "Verweis"> Semantic Web Frank Puppe 8

(nachname, vorname) Semantic Web Frank Puppe 9

Mächtigere Alternative: XML-Schema Syntax in XML (Einfachere technische Handhabung) Erweiterbarkeit: Ein XML-Schema kann ein anderes erweitern Differenzierte Datentypen Numerisch (int, Float, ); String; Zeit (Date, ); Zusammengesetzte Typen (sequence, all, choice); Typerweiterung; Typeinschränkung Definition von Tags (Elementen): Neu: Typen + Kardinalitäten Semantic Web Frank Puppe 10

XML-Anfragesprachen Beispiele: XQL, XML-QL, XQuery, Basieren auf Pfad-Ausdrücken, d.h. XPATH absolute Pfade: Start mit Wurzel-Knoten relative Pfade zu einem Kontext-Knoten Semantic Web Frank Puppe 11

Beispiel-Dokument für Anfragen Semantic Web Frank Puppe 12

Beispiele für XML-Anfragen in XPATH /library/author: liefert alle author-elemente //author: liefert alle author-elemente, die irgendwo im Dokument vorkommen (ggf. mehr als obige Anfrage) /library/@location: liefert alle entsprechenden Attribut-Knoten //book/@title="artificial Intelligence": liefert alle Attribut-Knoten, bei denen der Titel den angegeben Wert hat. //book[@title="artificial Intelligence"]: liefert alle Buch-Knoten, die die Bedingung in eckigen Klammern erfüllen //author[1]: liefert den ersten author-knoten //author[1]/book[last()]: liefert den letzten Buch-Knoten vom ersten Autor //book[not @title]: liefert alle Buchknoten ohne Titel-Attribut Semantic Web Frank Puppe 13

Allgemeine Struktur von Pfad-Ausdrücken Pfad-Ausdruck besteht aus einer Folge von Schritten. Schritt besteht aus Pfadelement (axis): Vom Kontext-Knoten zum aktuellen Knoten, z.b. //, / = child, parent, sibling, attribute Knotentest (node test), z.b. Element-Namen; * = alle Knoten; optionalem Filter-Ausdruck (predicate or filter expression) Beispiel: /library/author[1]: 2 Schritte: / = child (Pfad); library = Knotentest; / = child (Pfad); author = Knotentest; [1] = Filterausdruck Semantic Web Frank Puppe 14

Verarbeitung Kernideen Umwandlung eines XML-Ausdruck in einen anderen (XHTML oder anderes XML) mittels Stylesheets Anwendung von Ersetzungsregeln für bestimmte Knoten Zugriff aus Programmiersprache mittels sprachspezifischem Parser (z.b. Xerces für Java) Umwandlung in Baum Zugriff auf Knoten in Baumstruktur mittels API (z.b. XPATH-API) Spezielle Funktionen für Knotenbearbeitung (z.b. Inhaltsextraktion) Semantic Web Frank Puppe 15

Beispiel für XSLT <xsl:template match="/"> <authors> <xsl:apply-templates select="authors"/> </authors> </xsl:template> <xsl:template match="authors"> <author> <xsl:apply-templates select="author"/> </author> </xsl:template> <xsl:template match="author"> <name><xsl:value-of select="name"/> </name> <contact> <institute> <xsl:value-of select="affiliation"/> </institute> <email> <xsl:value-of select="email"> </email> </contact> </xsl:template> Semantic Web Frank Puppe 16

Probleme mit XML (1) Mit XML kann man Tags definieren, aber keine Semantik Beispiel: Inhalt: David Billington is a lecturer of Discrete Mathematics Repräsentation in XML <course name="discrete Mathematics"> <lecturer> David Billington </lecturer> </course> <lecturer name= "David Billington"> <teaches> Discrete Mathematics </teaches> </lecturer> <teachingoffering> <lecturer> David Billington </lecturer> <course> Discrete Mathematics </course> </teachingoffering> Beispiele enthalten teilweise genau umgekehrte Einrückung Es gibt keine Standardmethode, um aus Elementeinrückung Bedeutung zu extrahieren Verbesserung: RDF und RDFS Semantic Web Frank Puppe 17

Probleme mit XML (2) XML-Beispiel: <academicstaffmenber> Grigoris Antoniou </academicstaffmenber> <professor> Michael Maher </professor> <course name="discrete Mathematics"> <istaughtby> David Billington </ istaughtby > </course> Anfrage (XPATH): //academicstaffmember Ergebnis: nur "Grigoris Antoniou" unbefriedigend, da für Menschen klar ist, dass auch Michael Maher und David Billington zum Ergebnis gehören. Notwendige Regeln: Professoren sind academicstaffmember (subclass) Kurse werden nur von academicstaffmember gelehrt (range-beschränkung der property <istaughtby>) Semantic Web Frank Puppe 18

RDF und RDF Schema unglückliche Namenswahl, da es an XML und XML Schema erinnert Unterschied: während XML Schema die Struktur (z.b. die erlaubte Schachtelungstiefe) von XML-Dokumenten vorgibt, gibt RDF Schema das Vokabular von RDF-Dokumenten vor (deren Struktur ist dagegen in RDF festgelegt) Semantic Web Frank Puppe 19

Grundlagen von RDF Das Kernkonzept von RDF ist das Statement: Objekt-Attribut-Wert Tripel in RDF: Resource-property-Value Bsp.: resource: David Billington property: site-owner value: http://www.cit.gu.edu.au/~db 3 Sichten auf ein Statement Tripel: (x P y) oder P(x,y) www.cit.gu.edu.au/~db site-owner David Billington Graph-basiert (semantisches Netz; s. rechts oben & nächste Folie) XML-Repräsentation (s. übernächste Folie) Resource: Gegenstand der Betrachtung; hat URI bzw. URL Property: Spezielle Resource, die Relationen zwischen Resourcen beschreibt: hat auch URI bzw. URL Value: entweder eine Resource oder ein String Semantic Web Frank Puppe 20

Bsp.: Graphbasierte Syntax von RDF Semantic Web Frank Puppe 21

XML Syntax von RDF Festlegung von Namespaces (Präfixe rdf, mydomain) rdf:description Statement macht Aussage über die Resource http://www,cit.gu.edu.au/~db Property wird in XML als Tag dargestellt Value ist der Inhalt des Tags Semantic Web Frank Puppe 22

Datentypen und Reification Datentypen: alle Datentypen des XML-Schema erlaubt. Reification: In RDF sind statements über statements erlaubt. z.b.: Grigoris glaubt, dass David Billington der Autor der Web-Site http://www,cit.gu.edu.au/~db ist Technische Realisierung: man kann ein URI einem Statement zuweisen Nur Tripel, d.h. binäre Properties, erlaubt Quadrupel müssen durch Hilfsobjekt mit 3 Relationen (Properties) dargestellt werden. Bsp.: Umsetzung u.a. für Reification Grigoris believes Belief1 Belief1 subject David Billington Belief1 predicate Autor Belief1 object http://www,cit.gu.edu.au/~db Semantic Web Frank Puppe 23

Bewertung von RDF Relativ starke Ausdrucksmächtigkeit Benutzerfreundliche Editierwerkzeuge Eindeutige Identifier - Reduktion von Aussagen auf binäre Relationen umständlich - Properties (Relationen) sind spezielle Resourcen, d.h. können wie Objekte behandelt werden: ungewöhnlich für Modellierungs- bzw. Logik-Sprachen - Reifikation-Mechanismus entspricht Logik höherer Ordnung und erscheint für eine so einfache Sprache wie RDF zu weit gegriffen. - XML-Syntax von RDF ist maschinenlesbar, aber nicht leserfreundlich für Menschen Semantic Web Frank Puppe 24

RDF - XML-Syntax mehr Beispiele (1) Dokumentanfang: Definition der Namespaces Description: about: eigentlich sollten sich Identifier auf externen Namespace beziehen (z.b. www.mydomain.org/uni-ns/#949352) Mehrere Aussagen zu einem Objekt möglich Typ-Angabe bei Datentypen in jeder Instanz erforderlich Semantic Web Frank Puppe 25

RDF - XML-Syntax mehr Beispiele (2) Value der Property "istaughtby" = David Billington ist mehrdeutig, daher Nutzung des rdf:resource Attributes: <uni:istaughtby rdf:resource="#949318"> Analog, wenn zusätzliche Eigenschaften von David Billington definiert werden <rdf:description rdf:id=#949318"> <uni:email> </uni:email> <rdf:description> Semantic Web Frank Puppe 26

Container und Collections in RDF Container-Elemente eignen sich dazu, in einem Statement eine Menge von Resourcen zu definieren, z.b. alle Dozenten oder alle Studenten eines bestimmten Kurses. Drei Typen von Containern: rdf:bag: ungeordneter Container mit potentiell mehrfachem Auftreten eines Elementes rdf:seq: geordneter Container mit potentiell mehrfachem Auftreten eines Elementes rdf:alt: eine Menge von Alternativen (von denen nur eine zutrifft) Collections eignen sich für geschlossene Mengen, die besagen, dass es keine weiteren Elemente außer den genannten gibt. Beispiel: <uni-lecturer rdf:about="949353" uni:name="grigoris Antoniou" uni:title="professor" <uni:coursestaught> <rdf:bag> <rdf:_1 rdf:resource="cit1112"/> <rdf:_2 rdf:resource="cit3116"/> </rdf:bag> </uni:coursestaught> </uni-lecturer> Der Inhalt der Container-Elemente wird mit rdf_1, rdf_2, durchnummeriert oder mit rdf:li gekennzeichnet. Semantic Web Frank Puppe 27

Grundlagen von RDF Schema Sprache zur Definition von eigenem Vokabular zur Beschreibung von Resourcen. Definition von Klassen und Eigenschaften mit RDF Schema RDF beschreibt dazu Instanzen Klassen vererben Eigenschaften Typisierung verhindert sinnlose Statements, z.b. Discrete Mathematics is taught by Concrete Mathematics Kurse müssen durch Dozenten gelehrt werden (range) Room MZH5760 is taught by David Billington Nur Kurse können gelehrt werden (domain) Semantic Web Frank Puppe 28

Klassenhierachien Klassenhierarchien werden mit "subclass" aufgebaut Bsp.: staff member admin staff member academic staff member tech support staff member professor Auch multiple Vererbung erlaubt Vererbung sehr nützlich für range-beschränkungen: Kurse müssen durch Dozenten (academic staff members) gelehrt werden (range) Gilt automatisch auch für Professor als subclass von Dozent Properties sind (im Unterschied zu OOP) global definiert, nicht klassenspezifisch associate professor assistant professor Semantic Web Frank Puppe 29

Property-Hierarchien ähnlich wie Klassenhierarchien gibt es auch Property- Hierarchien Supproperties gelten immer, wenn die übergeordnete Property gilt, aber nicht umgekehrt. Semantic Web Frank Puppe 30

RDF und RDF-Schema RDF-Schema erlaubt die Definition von Klassen und Properties, während in RDF Instanzen dazu definiert werden. Typüberprüfungen bei range und domain möglich Semantic Web Frank Puppe 31

RDF Schema: Syntax Definitionen der Sprache RDF Schema sind in der Syntax von RDF geschrieben (ähnlich wie XML Schema in XML) Bsp.: Generische Definition von lecturer als subclass von academicstaffmember würde erfordern: Resourcen lecturer, subclass, academicstaffmember definieren subclass als property definieren Das Tripel (lecturer, subclassof, academicstaffmember) schreiben Semantic Web Frank Puppe 32

Modellierungsprimitive von RDF Schema Kernklassen rdfs:resource, rdfs:class, rdfs:literal, rdf:property, rdf:statement Bsp.:<rdfs:Class rdf:id="lecturer"> </rdfs:class> Kernklassen zur Definition von Beziehungen rdf:type (Instanzierung), rdfs: subclassof (Vererbung), rdfs: subpropertyof Bsp.: <rdfs:class rdf:about "lecturer"> <rdfs:subclassof rdf:resource ="staffmember"/> </rdfs:class> KernProperties zur Beschränkung von Properties rdfs:domain (Urbild-Beschränkung), rdfs:range (Bild-Beschränkung) Bsp.: <rdf:property rdf:id=phone"> <rdfs:domain rdf:resource= "#staffmember"/> <rdfs:range rdf:resource="&rdf;literal"/> </rdf:property> Semantic Web Frank Puppe 33

Beispiel RDF Schema: Universität (1) Semantic Web Frank Puppe 34

Beispiel RDF Schema: Universität (2) Semantic Web Frank Puppe 35

Beispiel RDF Schema: Universität (3) Semantic Web Frank Puppe 36

Inferenz-System für RDF und RDFS Basiert auf einigen Dutzend Regeln der Art: Wenn E bestimmte Tripel enthält, dann addiere zu E bestimmte weitere Tripel Beispiele für Regeln: Wenn (?x,?p,?y) E, dann auch (?p, rdf:type, rdf:property) E Wenn (?u, rdfs:subclassof,?v) E und (?v, rdfs:subclassof,?w) E dann auch (?u, rdfs:subclassof,?w) E [Transitivität von subclassof] Wenn (?x, rdf:type,?u) E und (?u, rdfs:subclassof,?v) E dann auch (?x, rdf:type,?v) E [Instanz-Transitivität von type & subclassof] Wenn (?x,?p,?y) E und (?p, rdfs:range,?u) E dann auch (?y, rdf:type,?u) E [resource?y, die als value von?p notiert ist, muss vom Type von range (p) sein, d.h. von?u] Semantic Web Frank Puppe 37

Anfragesprachen für RDF XML-Anfragesprachen basierend auf Xpath möglich, aber ungünstig, s. nächste Folie Eine angemessene Anfragesprache sollte das Datenmodell von RDF und die Semantik des Vokabulars sowie die Semantik von RDF Schema kennen. Bisher keine Standardisierung, ca. 20 Anfragesprachen Beispiel: RDQ als Vertreter der zentralen Ideen jeder vernünftigen Anfragesprache Semantic Web Frank Puppe 38

Probleme mit XPATHbasierten Anfragen Semantic Web Frank Puppe 39

Grundlegende Anfragen in RQL Um alle Instanzen einer Klasse zu erhalten, reicht es die Klasse abzufragen Bsp.: course: liefert alle Instanzen der Klasse course und ihrer Unterklassen; ^course lässt die Unterklassen weg. Um die Resourcen und Value eines Tripels mit einer speziellen Property zu erhalten, reicht es die Property abzufragen Bsp.: involves: liefert alle Tripel, in denen die Property involves vorkommt, einschl. der Unterproperites (istaughtby). Semantic Web Frank Puppe 40

RQL: Select-From-Where (1) Analog zu SQL bedeutet: select: gibt die Anzahl und Reihenfolge der zurückgelieferten Daten from: dient zur Navigation durch das Datenmodell where: beschränkt mögliche Lösungen zur Anfrage Beispiel-1: Alle Telefonnummern der StaffMember select X, Y from {X} phone {Y} X und Y sind Variablen {X} phone {Y} repräsentiert ein Tripel resource-property-value Beispiel-2: Alle Telefonnummern der Lecturer select X, Y from lecturer{x}.phone {Y} lecturer{x} umfasst alle Instanzen von Lecturer. bezeichnet impliziten Join Semantic Web Frank Puppe 41

RQL: Select-From-Where (2) Beispiel-3: Namen aller Kurse die vom Lecturer mit der ID 949352 gelehrt werden select N from course{x}.istaughtby {Y}, {C} name {N} where Y="949352" and X=C in from-teil impliziter und expliziter Join Außer "=" existieren auch andere Vergleichsoperator z.b. X<Y bedeutet X niedriger als Y (als Zahl, String oder Unterklasse) Semantic Web Frank Puppe 42

Anfragen an RDF Schema RQL erlaubt auch, Schema-Informationen abzufragen: Schemavariablen sind durch Prefix gekennzeichnet $ für Klassen @ für Properties Semantic Web Frank Puppe 43

Beispiele für RDF-Schema-Abfragen Beispiel1: Abfrage aller Instanzen und ihrer Klassen (Resourcen) sowie der Subklassen mit property "phone" Anfrage: select X, $X, Y, $Y from {X:$X} phone {Y:$Y} Daten: phone ("949352","5041") type ("949352",lecturer) subclass (lecturer, staffmember) domain (phone, staffmember) range (phone, literal) Ergebnis: ("949352", lecturer, "5041", literal) Beispiel2: Anfrage zu domain und range einer Property select domain (@P), range (@P) from @P where @P= phone Semantic Web Frank Puppe 44

Zusammenfassung RDF(S) Audrucksmächtikeit von RDF binäre Grundprädikate Instanzierung von Klassen Ausdrucksmächtigkeit von RDFS Bildung von Hierarchien über Klassen und Properties Definition von Range und Domain von Properties (Relationen) Semantic Web Frank Puppe 45

Web Ontologie Sprache OWL Notwendig wegen Beschränkungen von RDF(S) Vorläufer: Beschreibungslogik (Description logic) seit Mitte der 80'iger Jahre (erster Vertreter: KL-ONE) US-Vorschlag: DAML-ONT Europäischer Vorschlag: OIL Kombination: DAML-OIL Weiterentwicklung durch W3C Web Ontology Working Group zu OWL: als Standard vorgeschlagen Semantic Web Frank Puppe 46

Anforderungen an Ontologie-Sprachen: Wohl-definierte Syntax Formale Semantik (erlauben nützliche Inferenzen) Effiziente Inferenz-Unterstützung Ausreichende Ausdrucksmächtigkeit Benutzerfreundlichkeit Semantic Web Frank Puppe 47

Nützliche Inferenzen für Ontologien Klassenzugehörigkeit (über Instanzen und Subklassen) Äquivalenz von Klassen (z.b. Transitivität) Konsistenz (z.b. darf x nicht Instanz disjunkter Klassen sein) Klassifikation (Wenn eine Klasse A bestimmte Merkmale hat und eine Instanz x bzw. eine andere Klasse B hat diese Merkmale, dann ist x eine Instanz von A bzw. B eine Unterklasse von A) Inferenz-Unterstützung erlaubt die Konsistenz einer (verteilten) Ontologie zu überprüfen unbeabsichtige Beziehungen zwischen Klassen zu finden automatische Klassifikation von Instanzen Semantic Web Frank Puppe 48

Begrenzungen der Ausdrucksmächtigkeit von RDFS Lokale Wirkung von Eigenschaften (rdfs:range wirkt global) keine Möglichkeit, den Wertebereich einer Property bei verschiedenen Klasen verschieden zu definieren, z.b. eine Property "frisst" kann nicht bei der Klasse "Kühe" den Wert "vegetarisch" haben aber bei "Löwen" "fleischfressend". Disjunktheit von Klassen Bsp.: es gibt keine Möglichkeit, die Disjunktheit der Klassen "männlich" und "weiblich" auszudrücken Boolsche Kombination von Klassen keine Möglichkeit, eine neue Klasse aus der Kombination vorhandener Klassen zu definieren, z.b. eine Klasse "Person" aus der und- Verknüpfung von "männlich" und "weiblich" Kardinalitätsbeschränkungen keine Möglichkeit auszudrücken, wieviele verschiedene Werte eine Property haben darf oder muss, z.b. dass eine Person genau 2 Eltern hat. Spezielle Merkmale von Properties Bsp.: Def. einer Property als transitive (größerals), unique (muttervon) oder als inverse zu einer anderen Property (frisst / wirdgefressendurch) Semantic Web Frank Puppe 49

Drei Varianten von OWL OWL Full: Umfasst alle Sprachkonstrukte zur Erweiterung der Beschränkungen (s. letzte Folie) von RDFS. Volle Kompabilität mit RDFS Sehr mächtige Konstrukte: z.b. kann man die Bedeutung vordefinierter Sprachprimitive ändern (geht auch in RDF) oder Kardinalitätsbeschränkungen auf die Klasse aller Klassen setzen (Beschränkung, wieviele Klassen in einer Ontologie definierbar sind) zu mächtig für umfassende Inferenzunterstützung (unentscheidbar) OWL DL (Description Logic): Beschränkung der Sprachkonstrukte keine volle Kompatibiliät mit RDF Anwendung von Sprachkonstrukten aufeinander nicht erlaubt OWL Lite: Noch stärkere Beschränkung der Sprachkonstrukte z.b. keine Disjunkheit (auch keine Aufzählung mit oneof), keine beliebige Kardinalität Semantic Web Frank Puppe 50

OWL Syntax Verschiedene Alternativen (ähnlich wie bei RDF) basiert auf RDF Syntax (primäre Syntax, aber schwer lesbar) XML-basierte Syntax Abstrakte Syntax Graphische Syntax auf der Basis von UML (weit verbreitet) Einfaches Beispiel von OWL in RDF-Syntax <owl:class rdf:id="associateprofessor"> <rdfs:subclassof rdf:resource:"#academicstaffmember" </owl:class> <owl:class rdf:about="#associateprofessor"> <owl:disjointwith rdf:resource="#professor"/> <owl:disjointwith rdf:resource="#assistantprofessor"/> <owl:class> Semantic Web Frank Puppe 51

OWL-Konstrukte Property-Unterscheidung bezüglich Objekten und Datentypen Klassenelemente: class, disjointwith, equivalentclass Property-Einschränkungen allvaluesfrom: Alle Werte einer Klasse ( ) somevaluesfrom: Mindestens ein Wert einer Klasse ( ) hasvalue: Ein bestimmter Wert mincardinality, maxcardinality: Kardinalitätsbeschränkung Spezielle Properties transitiveproperty, symmetricproperty, funktionalproperty (hat genau einen Wert), inversefunctionalproperty (ist eindeutig) Boolsche Kombinationen: union, intersection, complementof Aufzählungen: oneof Instanzen: differentfrom, alldifferent (Namensungleichheit reicht nicht) Datentypen: Einschränkung der Datentypen aus XML-Schema Semantic Web Frank Puppe 52

Genauere Sicht auf Varianten von OWL OWL Full: Alles erlaubt OWL DL: Einschränkungen bei Vokabular (z.b. eine Klasse kann nicht gleichzeitig eine Instanz sein) explizite "Typ"-Angaben für alle Resourcen keine transitiven Kardinalitätsbeschränkungen beschränkte Nutzung anonymer Klassen OWL Lite: folgende Konstruktoren nicht erlaubt: oneof, disjointwith, unionof, complementof, hasvalue Kardinalitätsbeschränkungen nur mit 0 und 1 equivalentclass nicht zwischen anonymen Klassen Semantic Web Frank Puppe 53

Diskutierte Erweiterungen zu OWL Modularisierung von Ontologien: bisher kann man eine Ontologie nur ganz oder gar nicht importieren Defaults: Vererbte Werte dürfen in Unterklassen bisher nicht überschrieben werden Problem: Defaults erfordern nicht-monotones Schließen Closed-World Assumption: bisher kann man aus dem Fehlschlag eines Beweises auf nichts schließen. Problem: CWA erfordert nicht monotones Schließen Unique-Names Assumption: Bisher können 2 Individueen mit verschiedenen Namen als identisch hergeleitet werden Zugeordnete Prozeduren: Bisher: Bedeutung eines Termes nur durch explizite Sprachdefinitionen, nicht durch Ausführung von Programmcode Problem: Definition einer formalen Semantik Integration von Regeln für Properties Aktives Forschungsgebiet Semantic Web Frank Puppe 54