04 RDFS, RDFa und SPARQL - Semantic Web Technologien

90
Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC ). Vorlesung Dr. Harald Sack Hasso-Plattner-Institut für Softwaresystemtechnik Universität Potsdam Wintersemester 2010/11 Semantic Web Technologien Blog zur Vorlesung: http://web-flakes.blogspot.com/ Montag, 22. November 2010

description

 

Transcript of 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Page 1: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC).

VorlesungDr. Harald Sack

Hasso-Plattner-Institut für SoftwaresystemtechnikUniversität Potsdam

Wintersemester 2010/11

Semantic Web Technologien

Blog zur Vorlesung: http://web-flakes.blogspot.com/

Montag, 22. November 2010

Page 2: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2

Semantic Web Technologien Wiederholung

RDF

Montag, 22. November 2010

Page 3: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

3 1. Einführung

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

3. Wissensrepräsentation und LogikDie Sprachen des Semantic Web - Teil 2

4. Ontology Engineering

5. Linked Data und Semantic Web Anwendungen

Semantic Web Technologien Vorlesungsinhalt

Montag, 22. November 2010

Page 4: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Semantic Web Architektur4

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

URI / IRI

XML / XSDData Interchange: RDF

RDFS

Ontology: OWL Rule: RIF

Query:SPARQL

Proof

Unifying Logic

Cry

pto

Trust

Interface & Application

Montag, 22. November 2010

Page 5: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

5

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

Montag, 22. November 2010

Page 6: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

6

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

2.1. Uniform Resource Identifier - URI

2.2. XML und XMLSchema

2.3. Resource Description Framework - RDF

2.4. RDF Schema

2.5. Wie kommt die Semantik ins WWW?

2.6. Abfragesprache SPARQL

2.7. Warum reicht RDF(S) noch nicht aus?

Semantic Web Technologien Vorlesungsinhalt

Montag, 22. November 2010

Page 7: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

7

RDFS

Montag, 22. November 2010

Page 8: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

8 Motivation für RDF Schema• Ein Programm kann RDF-Daten definieren und nutzen….vorausgesetzt, dem

Programm ist bekannt, welche Terme benutzt werden können…

• z.B.

•name, titel, jahr, … •name, blog, telefonnr…•author, cites, …

• Sind alle bekannt?Sind alle korrekt?Gibt es (logische) Beziehungen zwischen den Termen?

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 9: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

9 Motivation für RDF Schema• Programm kann RDF-Daten definieren und nutzen….vorausgesetzt, dem Programm

ist bekannt, welche Terme benutzt werden können…

• z.B.

•name, titel, jahr, … •name, blog, telefonnr…•author, cites, …

• Sind alle bekannt?Sind alle korrekt?Gibt es (logische) Beziehungen zwischen den Termen?

• Wir benötigen eine entsprechende Datendefinition RDF Schema

• offiziell: “RDF Vocabulary Description Language”

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 10: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

10 RDF Schema• Erster W3C Draft im April 1998,

W3C Recommendation seit Feb. 2004.

• RDF Schema spezifiziert ein Datenmodell, über das RDF-Statements entworfen werden können

• Abstrakter Datentyp (Klasse)

• Hierarchisches Klassenmodell und Vererbung (Subklassen)

• Syntax für gemeinsamen Datenaustausch

• = „Beschreibungssprache zur Definition strukturierter Vokabularien…“

• RDFSchema erlaubt:• Klassendefinitonen

• Klasseninstantiierung in RDF via <rdf:type>

• Festlegung von Eigenschaften und Restriktionen (Properties)

• Festlegung von Hierarchiebeziehungen

• Subklassen und Superklassen

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 11: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

RDF Schema -- ein Beispiel

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

11

wird betreut vonhttp://hpi-web.de/ws1011#semanticweb http://hpi-web.de/HaraldSack

RDFS

Vorlesung

Mitarbeiter

Prof. SeniorResearcher

Person

Lehrveranstaltung

Seminar

wird betreut von

domainrange

subClassOf

subClassOf

subClassOfsubClassOf

class

classclass class

classproperty

class

class

subClassOf

rdf:type rdf:typeRDF

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 12: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

12 RDFS Sprachkomponenten• Klassen

• rdfs:Resource jede Entität in einem RDF-Modell ist Instanz dieser Klasse

• rdf:Property Basisklasse für Eigenschaften

• rdfs:Class Klassenkonzept, legt ein abstraktes Objekt fest und dient in Verbindung mit rdf:type zur Erzeugung von Instanzen

• rdfs:Literal Klasse für Literalwerte, also Zeichenketten, …

• zusätzlich nochrdfs:Datatype, rdfs:XMLLiteral, rdfs:Container, rdfs:ContainerMembershipProperty

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 13: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

13 RDFS Sprachkomponenten• Eigenschaften

• rdfs:subClassOftransitive Eigenschaft zur Festlegung von Vererbungshierarchien von Klassen

• rdfs:subPropertyOftransitive Eigenschaft zur Festlegung von Vererbungshierarchien von Eigenschaften

• rdfs:domain legt Anwendungsbereich einer Eigenschaft in Bezug auf eine Klasse fest

• rdfs:range legt Wertebereich einer Eigenschaft fest

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 14: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

14 RDFS Sprachkomponenten■ Eigenschaften

□ rdfs:subClassOftransitive Eigenschaft zur Festlegung von Vererbungshierarchien von Klassen

(1)

(2)

(3)

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 15: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

15 RDFS Sprachkomponenten■ Eigenschaften

□ rdfs:subPropertyOftransitive Eigenschaft zur Festlegung von Vererbungshierarchien von Eigenschaften

(1)

(2)

(3)

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 16: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

16 RDFS Sprachmodell (verkürzt...)

s – Subklassen-Beziehungent – Instanzen-Beziehungen

rdfs:Resourcerdfs:Class

t

ts

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 17: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

16 RDFS Sprachmodell (verkürzt...)

s – Subklassen-Beziehungent – Instanzen-Beziehungen

rdfs:Resourcerdfs:Class

t

ts

rdfs:Literal

t s

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 18: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

16 RDFS Sprachmodell (verkürzt...)

s – Subklassen-Beziehungent – Instanzen-Beziehungen

rdfs:Resourcerdfs:Class

t

ts

rdfs:Literal

t s

rdf:Property

t s

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 19: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

16 RDFS Sprachmodell (verkürzt...)

s – Subklassen-Beziehungent – Instanzen-Beziehungen

rdfs:Resourcerdfs:Class

t

ts

rdfs:Literal

t s

rdf:Property

t s

rdfs:range rdfs:domain

tt

rdfs:subClassOf

t rdfs:comment

t

rdf:typet

rdfs:subPropertyOf

t

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 20: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

17 RDFS Sprachkomponenten:• Weitere Eigenschaften

• rdfs:seeAlsostellt Beziehung einer Ressource zu einer anderen her, die diese erklärt

• rdfs:isDefinedBysubproperty zu rdf:seeAlso, stellt Beziehung von Ressource zu deren Definition (auch in RDFS) her

• rdfs:commentKommentar, gewöhnlich in Textform

• rdfs:label „lesbarer“ Name einer Ressource (im Gegensatz zu ID)

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 21: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

http://hpi-web.de/ws1011#semanticweb

RDF Schema -- zurück zum Beispiel

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

18

wird betreut von http://hpi-web.de/HaraldSack

Vorlesung

Mitarbeiter

Prof.

Person

Lehrveranstaltung

Seminar

wird betreut von

domainrange

subClassOf

subClassOf

subClassOfsubClassOf

class

classclass class

classproperty

class

class

subClassOf

rdf:type rdf:type

SeniorResearcher

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 22: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

http://hpi-web.de/ws1011#semanticweb

RDF Schema -- zurück zum Beispiel

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

18

wird betreut von http://hpi-web.de/HaraldSack

Vorlesung

Mitarbeiter

Prof.

Person

Lehrveranstaltung

Seminar

wird betreut von

domainrange

subClassOf

subClassOf

subClassOfsubClassOf

class

classclass class

classproperty

class

class

subClassOf

rdf:type rdf:type

SeniorResearcher

RDFSTerminologisches Wissen - T-Box

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 23: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

http://hpi-web.de/ws1011#semanticweb

RDF Schema -- zurück zum Beispiel

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

18

wird betreut von http://hpi-web.de/HaraldSack

Vorlesung

Mitarbeiter

Prof.

Person

Lehrveranstaltung

Seminar

wird betreut von

domainrange

subClassOf

subClassOf

subClassOfsubClassOf

class

classclass class

classproperty

class

class

subClassOf

rdf:type rdf:type

SeniorResearcher

RDFSTerminologisches Wissen - T-Box

RDFAssertionales Wissen - A-Box

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 24: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

19<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://hpi-web.de/ws1011">

<rdfs:Class rdf:ID=“Lehrveranstaltung“> <rdfs:SubClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource“/></rdfs:Class><rdfs:Class rdf:ID=“Vorlesung“> <rdfs:SubClassOf rdf:resource=“#Lehrveranstaltung“/></rdfs:Class> <rdfs:Class rdf:ID=“Seminar“> <rdfs:SubClassOf rdf:resource=“#Lehrveranstaltung“/></rdfs:Class>

<rdfs:Class rdf:ID=“Person“> <rdfs:SubClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource“/></rdfs:Class><rdfs:Class rdf:ID=“Mitarbeiter“> <rdfs:SubClassOf rdf:resource=“#Person“/></rdfs:Class><rdfs:Class rdf:ID=“SeniorResearcher“> <rdfs:SubClassOf rdf:resource=“#Mitarbeiter“/></rdfs:Class>…

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 25: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

20

<rdf:Property rdf:ID=“wirdBetreutVon“> <rdfs:SubPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Property/> <rdfs:domain rdf:resource="#Lehrveranstaltung“/> <rdfs:range rdf:resource=“#Mitarbeiter“/></rdf:Property>

<rdf:Description rdf:ID=“semanticweb“> <rdf:type rdf:resource=“#Vorlesung“/></rdf:Description><rdf:Description rdf:about=“http://hpi-web.de/ws1011#HaraldSack“> <rdf:type rdf:resource=“#SeniorResearcher“/></rdf:Description>

<rdf:Description rdf:about=“#semanticweb“> <wirdBetreutVon rdf:resource=“http://hpi-web.de/ws1011#HaraldSack“/></rdf:Description>…</rdf:RDF>

RDFS – Teil2

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 26: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

21 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.@base <http://hpi-web.de/ws1011>

:Lehrveranstaltung a rdfs:Class .:Vorlesung a rdfs:Class; rdfs:subClassOf :Lehrveranstaltung.:Seminar a rdfs:Class ; rdfs:subClassOf :Lehrveranstaltung.

:Person a rdfs:Class .:Mitarbeiter a rdfs:Class ; rdfs:subClassOf :Person .:SeniorResearcher a rdfs:Class ; rdfs:subClassOf :Mitarbeiter .

:wirdBetreutVon a rdf:Property; rdfs:domain :Lehrveranstaltung ; rdfs:range :Mitarbeiter .

:semanticweb a :Vorlesung .:HaraldSack a :SeniorResearcher .:semanticweb :wirdBetreutVon :HaraldSack .

Turtle

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 27: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

22 RDFS Zusammenfassung:

• RDFSchema spezifiziert ein Datenmodell, über das RDF-Statements entworfen werden können

• Mehr als XML:

• (kleine) ontologische Einigung auf Modellierungs-primitive

• Möglichkeit eigene Vokabulare zu definieren

• Nächste Schritte:

• mehr Logik

• Regeln, Einschränkungen und Abhängigkeitsbeziehungen

2. Semantic Web Basisarchitektur2.4 RDF Schema

Montag, 22. November 2010

Page 28: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

23

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

2.1. Uniform Resource Identifier - URI

2.2. XML und XMLSchema

2.3. Resource Description Framework - RDF

2.4. RDF Schema

2.5. Wie kommt die Semantik ins WWW?

2.6. Abfragesprache SPARQL

2.7. Warum reicht RDF(S) noch nicht aus?

Semantic Web Technologien Vorlesungsinhalt

Montag, 22. November 2010

Page 29: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

24

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

Montag, 22. November 2010

Page 30: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

25 Semantische Annotation im WWW • Eigentlich kann RDF/XML direkt in ein HTML-Dokument via <head> und

<script>-Element eingebettet werden

• In RFC 3870 wurde der Mime-Type application/rdf+xml definiert

<head> <title>My Document</title> <script type="application/rdf+xml"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://www.w3.org/" dc:title="W3C Homepage"/> </rdf:RDF> </script></head>

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 31: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

26 Semantische Annotation im WWW • Das W3C empfiehlt die Einbettung von externen RDF-Dokumenten via HTML

<link>-Element

• Daneben können RDF-Dokumente auch via <a href=...> und einer entsprechenden Kennzeichnung (z.B. RDF-Logo) im <body> des HTML-Dokuments verlinkt werden

<link rel="meta" type="application/rdf+xml" href="Meta-Data-for-Web-Page.rdf"/>

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 32: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

27 Semantische Annotation im WWW • Prinzipiell existieren heute zwei Möglichkeiten, strukturierte Daten mit

semantischen Annotationen im WWW-Dokumente explizit einzubetten

• Domain-spezifische Microformate

• Generisches RDFa und embedded RDF

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 33: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

28

µformats -- Microformate • XHTML Markup, mit dem es möglich ist, (in einem begrenzten Umfang) Semantik in

einem HTML-Dokument auszudrücken

• Anwendungen können leichter Daten aus HTML-Dokumenten extrahieren

• Verwendung in folgenden XHTML-Tag Attributen:

• class

• rel

• rev

• Vordefinierte Standard-Microformate:

• hCard - Personendaten (vCard, RFC2426)

• hCalender – Events

• rel-Tag – social tagging

• XFN – XHTML Friends Network

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 34: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

29

µFormats -- Microformate • Beispiel:

<span class="vcard"> <span class="fn">Joe Blow</span> <span class="org">The Example Company</span> <span class="tel">604-555-1234</span> <a class="url" href="http://example.com/"> http://example.com/</a></span>

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 35: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

30

µFormats -- Einsatz • Last.fm

Nutzerprofile und Geodaten, Veranstaltungen und CD-Bewertungen

• Mac webmailKontaktdaten

• LinkedInLebensläufe

• FlickrKontaktdaten, Geodaten

• WordPressSocial Networking

• SerendipityBookmarks

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 36: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

31

µFormats -- Bewertung • Microformate nutzen vorhandene XHTML-Attribute um strukturierte Daten zu

kodieren

• Mit passenden XSLT Transformationen kann Microformat/XHTML in RDF umgewandelt werden

• Neues Microformat-Vokabular muss erst externe Konsolidierungsprozedur durchlaufen, bei der jedesmal auch ein neues XSLT Stylesheet entwickelt werden muss

• Wird mehr als ein Microformat-Vokabular in einer XHMTL-Seite genutzt, steigt die Komplexität rapide

• Es können Konflikte mit genutzten XHTML-Attributen auftreten

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 37: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

32

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 38: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

33

RDFa

• RDFa = RDF in HTML attributes

• bringt generische RDF-Annotationen in XHTML-Dokumente

• RDFa nutzt

•bereits vorhandene XHTML-Attribute

•href, content, rel, rev und src

•neue XHTML-Attribute

•about, datatype, property, resource und typeof(aus XHTML2 Metainformation Attributes)

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 39: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

34

RDFa • Unterscheidet grundsätzlich 2 Varianten von RDF-Triples

•Triple mit URI als Objekt•Triple mit Literal als Objekt

Subjekt Property Objekt

Object ist Literal about propertycontent oder

#PCDATA

Objekt ist Ressource (URI)

about rel href

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 40: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

35

RDFa • <span about=”subject”>...</span>

...erzeugt ein temporäres Subjekt für ein/mehrere Triples

• <a href=”object” rel=”propety”>...</a>...definiert ein verlinktes Triple

• <span property=”propety”>object</span>...definiert ein unverlinktes Triple

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 41: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

36

RDFa -- einfaches Beispiel

...

<div xmlns:dc="http://purl.org/dc/elements/1.1/">

I'm currently reading

<span about=”urn:ISBN:0-596-00027-8”>

<span property="dc:title">Programming Perl</span>

by

<span property="dc:creator">Larry Wall</span>

</span>.</div>...

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 42: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

37

RDFa -- einfaches Beispiel

...<div typeof="foaf:Person" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <p property="foaf:name"> Alice Birpemswick </p> <p> Email: <a rel="foaf:mbox" href="mailto:[email protected]"> [email protected]</a> </p> <p> Phone: <a rel="foaf:phone" href="tel:+1-617-555-7332"> +1 617.555.7332</a> </p> <p> <img src="photo1.jpg" rel="dc:creator" rev="foaf:depicts" href="http://www.blogger.com/profile/1109404" /> </p></div>...

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 43: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

38

RDFa -- einfaches Beispiel<div typeof="foaf:Person" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <p property="foaf:name"> Alice Birpemswick </p> <p> Email: <a rel="foaf:mbox" href="mailto:[email protected]"> [email protected]</a> </p> <p> Phone: <a rel="foaf:phone" href="tel:+1-617-555-7332"> +1 617.555.7332</a> </p> <p> <img src="photo1.jpg" rel="dc:creator" rev="foaf:depicts" href="http://www.blogger.com/profile/1109404" /> </p></div>

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 44: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

39

RDFa -- einfaches Beispiel

<?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml" version="XHTML+RDFa 1.0" xml:lang="en"> <head>...</head> <body>...</body> </html></xml>

...und wie wird aus XHTML+RDFa dann RDF?

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 45: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

40

GRDDL

• Gleaning Resource Descriptions from Dialects of Languages

• Gleaning (...bedeutet soviel wie „ernten, sammeln, lesen“)

• Resource Descriptions (...von Resource Description Framework)

• from Dialects of Languages (...betrifft XML Dokumentenfamilie, z.B. XHTML)

(c) http://www.flickr.com/photos/cho45/1402634073/

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 46: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

41

GRDDL

• Gleaning Resource Descriptions from Dialects of Languages

• GRDDL bietet einen einfachen Weg, um RDF-Daten aus XML-Dokumenten (insbesondere XHTML) zu gewinnen

• GRDDL verbindet Transformationen (XSLT Stylesheets), um

•RDFa•Mircoformats

•RSS

• aus XHTML-Dokumenten herauszulösen

http://www.flickr.com/photos/cho45/1402634073/

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 47: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

42

GRDDL • Um eine Semantische Annotationen aus einem Dokument zu extrahieren und in

das RDF Format zu bringen, nutzt GRDDL folgende Schritte:

1.Deklaration/Erkennung der GRDDL Profil Metadaten

2.Link/Fetch der passenden Transformationsdaten (Extraktoren)

3.Anwenden der Transformationen zum Konvertieren in das RDF Format

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 48: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

43

GRDDL

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head profile="http://www.w3.org/2003/g/data-view"> ... <title>Digitale Kommunikation: Vernetzung, Multimedia, Sicherheit</title> <link rel="transformation"  href="http://www.w3.org/2000/06/ dc-extract/dc-extract.xsl" /> <meta name="DC.Subject" content="Fachbuch Informatik" /> ... </head>...</html>

GRDDL Profildaten

GRDDL Transformation

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 49: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

44

GRDDL

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head profile="http://www.w3.org/2003/g/data-view"> ... <title>Digitale Kommunikation: Vernetzung, Multimedia, Sicherheit</title> <link rel="transformation"  href="http://www.w3.org/2000/06/ dc-extract/dc-extract.xsl" /> <meta name="DC.Subject" content="Informatik" /> ... </head>...</html>

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

Montag, 22. November 2010

Page 50: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

44

GRDDL

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head profile="http://www.w3.org/2003/g/data-view"> ... <title>Digitale Kommunikation: Vernetzung, Multimedia, Sicherheit</title> <link rel="transformation"  href="http://www.w3.org/2000/06/ dc-extract/dc-extract.xsl" /> <meta name="DC.Subject" content="Informatik" /> ... </head>...</html>

2. Semantic Web Basisarchitektur2.5 Wie kommt die Semantik ins WWW?

<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about=""> <dc:subject>Informatik</dc:subject> <dc:title>Digitale Kommunikation: Vernetzung, Multimedia, Sicherheit</dc:title> </rdf:Description></rdf:RDF>

Montag, 22. November 2010

Page 51: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

45

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

2.1. Uniform Resource Identifier - URI

2.2. XML und XMLSchema

2.3. Resource Description Framework - RDF

2.4. RDF Schema

2.5. Wie kommt die Semantik ins WWW?

2.6. Abfragesprache SPARQL

2.7. Warum reicht RDF(S) noch nicht aus?

Semantic Web Technologien Vorlesungsinhalt

Montag, 22. November 2010

Page 52: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Semantic Web Architektur46

URI / IRI

XML / XSDData Interchange: RDF

RDFS

Ontology: OWL Rule: RIF

Query:SPARQL

Proof

Unifying Logic

Cry

pto

Trust

Interface & Application

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 53: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

47

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

Montag, 22. November 2010

Page 54: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

48 Eine Abfragesprache für RDF

• Wie gelangt man an das Wissen aus RDF/RDFS Wissensbasen?

• Manuelles Parsen/Auslesen und Kombinieren der RDF-Triple sehr aufwändig

• Können Sie sich eine relationale Datenbank ohne SQL vorstellen?

• SPARQL Protocol and RDF Query Language ist

• eine Abfragesprache zur Traversierung von RDF-Graphen

• ein Protokoll-Layer, um SPARQL, z.B. via http zu nutzen

• ein XML-Rückgabeformat für SPARQL-Anfragen

• ein W3C Standard (seit Januar 2008)

• angelehnt an die Abfragesprache SQL

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 55: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

49 SPARQL• SPARQL erlaubt

•die Extraktion von Werten aus strukturierten und semi-strukturierten Daten als

•URIs, leere Knoten (Blank Nodes), typisierte und nicht-typisierte Literale.

•RDF Subgraphen

•die Erkundung von Daten über die Abfrage unbekannter Beziehungsstrukturen

•die Durchführung komplexer Join-Operationen über heterogene, verteilte Datenbanken in einer einzigen, einfachen Abfrage

•die Transformation von RDF-Daten von einem Vokabular in ein anderes

•die Konstruktion neuer RDF Graphen basierend auf RDF Abfragegraphen

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 56: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

50 SPARQL• SPARQL Variablen werden an RDF-Terme gebunden

• z.B. ?journal, ?disease, ?price

• Wie in SQL erfolgt die Abfrage von Variablen über ein SELECT Statement

• z.B. SELECT ?title ?author ?published

• Ein SELECT-Statement liefert Abfrageergebnisse in Form einer Tabelle

?title ?author ?published

1984 George Orwell 1948

Brave New World Aldous Huxley 1932

Fahrenheid 451 Ray Bradbury 1953

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 57: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

51 Triple Pattern• SPARQL basiert auf Turtle Serialisierung.

• Ein Triple Pattern ist ein RDF-Triple, das an beliebiger Stelle (Subject, Predicate, Object) Variablen beinhalten kann.

• Triple Pattern = Turtle + Variables

• Beispiele:

• Finde Länder und ihre Hauptstädte:

•?country geo:capital ?capital .

• Ausgehend von einem FOAF URI, finde Namen einer Person:

•<http://hpi-web.de/id#haraldsack> foaf:name ?surname .

• Welche Personen tragen den Nachnamen „Schmidt“?

•?person pers:nachname “Schmidt“ .

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 58: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

52 Einfache Abfrage Pattern

• Triple Pattern können zu komplexen Suchabfragen kombiniert werden, mit denen ein RDF-Graph auf einfache Weise traversiert werden kann.

• Finde Länder, ihre Hauptstädte und die Bevölkerungszahl:

•?country geo:capital ?capital .?country geo:population ?population .

• Ausgehend von einem FOAF URI, finde den Namen einer Person und ihrer Freunde:

•<http://hpi-web.de/id#haraldsack> foaf:name ?surname .<http://hpi-web.de/id#haraldsack> foaf:knows ?friend .?friend foaf:name ?friend_surname .

• Finde alle Vorgesetzten, der 3. Managementebene

•?emp hr:managedBy ?first_line .?first_line hr:managedBy ?second_line .?second_line hr:managedBy ?third_line .

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 59: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

53 SPARQL Abfrageformat• angelehnt an SQL

• Triple im „WHERE“-Teil definieren Graph-Abfrage mit ?p und ?o als Variablen

• Abfrage liefert Tabelle mit passenden ?p, ?o Paaren

SELECT ?p, ?oWHERE { subject ?p ?o. }

subject

?o

?o

?o

?o

?p

?o

?p

?p

?p

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 60: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

54 SPARQL Abfrageformat• Gebe alle Lehrveranstaltungen mit den zugehörigen Dozenten aus

• PREFIX - Legt einen oder mehrere Namespaces fest

• FROM - gibt ein oder mehrere RDF-Quellgraphen an

• BASE - legt Basis-URI fest, um relative URIs zu absoluten URIs zu ergänzen

PREFIX hpi: <http://hpi-web.de/ws1011#>SELECT ?vorlesung ?dozentFROM <http://hpi-web.de/ws1011.rdf> WHERE { ?x hpi:lehrveranstaltung ?vorlesung . ?y hpi:mitarbeiter ?dozent . ?x hpi:wirdBetreutVon ?y .}

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 61: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

55 SPARQL Abfrageformat• Gebe alle Lehrveranstaltungen mit den zugehörigen Dozenten aus, absteigend

nach Dozenten geordnet, und zwar nur die Ergebnisse Nummer 11 bis 20

PREFIX hpi: <http://hpi-web.de/ws1011#>SELECT ?vorlesung ?dozentFROM <http://hpi-web.de/ws1011.rdf> WHERE { ?x hpi:lehrveranstaltung ?vorlesung . ?y hpi:mitarbeiter ?dozent . ?x hpi:wirdBetreutVon ?y .}ORDER BY DESC (?dozent)LIMIT 10OFFSET 10

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 62: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

56 SPARQL Abfrageformat• Über das Schlüsselwort FILTER kann die Ergebnismenge eingeschränkt werden

@prefix dc: <http://purl.org/dc/elements/1.1/> .@prefix : <http://example.org/book/> .@prefix ns: <http://example.org/ns#> .

:book1 dc:title "SPARQL Tutorial" .:book1 ns:price 42 .:book2 dc:title "The Semantic Web" .:book2 ns:price 23 . PREFIX dc: <http://purl.org/dc/elements/1.1/>

PREFIX ns: <http://example.org/ns#>SELECT ?title ?priceFROM <http://example.org/book.rdf> WHERE { ?x ns:price ?price . FILTER (?price < 30.5) ?x dc:title ?title . }

http://example.org/book.rdf

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 63: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

57 SPARQL Abfrageformat• Über das Schlüsselwort OPTIONAL können optionale Elemente aus dem RDF-

Graphen selektiert werden

@prefix foaf: <http://xmlns.com/foaf/0.1/> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

_:a rdf:type foaf:Person ._:a foaf:name "Alice" ._:a foaf:mbox <mailto:[email protected]> ._:a foaf:mbox <mailto:[email protected]> .

_:b rdf:type foaf:Person ._:b foaf:name "Bob" . PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT ?name ?mboxFROM <http://example.org/adressen.rdf>WHERE { ?x foaf:name ?name . OPTIONAL { ?x foaf:mbox ?mbox }}

http://example.org/adressen.rdf

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 64: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

58 SPARQL Abfrageformat• Über das Schlüsselwort UNION können Abfragen aus mehreren Graph-Pattern

kombiniert werden (ODER-Verknüpfung)

@prefix dc10: <http://purl.org/dc/elements/1.0/> .@prefix dc11: <http://purl.org/dc/elements/1.1/> .

_:a dc10:title "SPARQL Query Language Tutorial" ._:a dc10:creator "Alice" .

_:b dc11:title "SPARQL Protocol Tutorial" ._:b dc11:creator "Bob" .

_:c dc10:title "SPARQL" ._:c dc11:title "SPARQL (updated)" .

PREFIX dc10: <http://purl.org/dc/elements/1.0/>PREFIX dc11: <http://purl.org/dc/elements/1.1/>

SELECT ?titleFROM <http://example.org/books.rdf>WHERE { { ?book dc10:title ?title } UNION { ?book dc11:title ?title } }

http://example.org/books/

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 65: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

59 SPARQL Abfrageformat•Kombination mehrerer Datenquellen:

•Default RDF-Graph

•Named RDF-Graph

•Named Graph kann explizit über das Schlüsselwort GRAPH angesprochen werden

GRAPH <http://example.org/graph1.rdf> { ?x foaf:mbox ?mbox }

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 66: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

60 SPARQL Abfrageformat• Verwendung von Named Graphs

@prefix dc: <http://purl.org/dc/elements/1.1/> .

<http://example.org/bob> dc:publisher "Bob Hacker" .<http://example.org/alice> dc:publisher "Alice Hacker" .

Default Graph (stored at http://example.org/dft.ttl)

@prefix foaf: <http://xmlns.com/foaf/0.1/> .

_:a foaf:name "Bob" ._:a foaf:mbox <mailto:[email protected]> .

Named Graph: http://example.org/bob

@prefix foaf: <http://xmlns.com/foaf/0.1/> .

_:a foaf:name "Alice" ._:a foaf:mbox <mailto:[email protected]> .

Named Graph: http://example.org/alice

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 67: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

61 SPARQL Abfrageformat• Verwendung von Named Graphs

PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX dc: <http://purl.org/dc/elements/1.1/>

SELECT ?who ?g ?mboxFROM <http://example.org/dft.ttl>FROM NAMED <http://example.org/alice>FROM NAMED <http://example.org/bob>WHERE{ ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox }}

Default Graph

Named Graph

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 68: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

62 SPARQL Antwortformat• SPARQL Ergebnisse werden in Form wohlgeformter und valider XML-Dokumente

erbracht

• In einem <head>-Element werden alle Variablen der SPARQL-Query aufgelistet

<?xml version="1.0"?><sparql xmlns="http://www.w3.org/2005/sparql-results#"> ...</sparql>

<head> <variable name="x"/> <variable name="hpage"/> <variable name="name"/> <variable name="mbox"/> <variable name="blurb"/> </head>

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 69: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

63 SPARQL Antwortformat• Für jedes SPARQL-Query Ergebnis steht ein <result>-Element

<?xml version="1.0"?><sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="x"/> ... </head> <results> <result> <binding name="x"> ... </binding> <binding name="hpage"> ... </binding> </result>

<result> ... </result> ... </results></sparql>

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 70: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

64 SPARQL Antwortformat• Im <binding>-Element erfolgt die Bindung einer <head>-Variablen an einen

Ergebniswert

<result> <binding name="x"> <bnode>r2</bnode> </binding> <binding name="hpage"> <uri>http://work.example.org/bob/</uri> </binding> <binding name="name"> <literal xml:lang="en">Bob</literal> </binding> <binding name="age"> <literal datatype="http://www.w3.org/2001/XMLSchema#integer">30</literal> </binding> <binding name="mbox"> <uri>mailto:[email protected]</uri> </binding> </result>

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 71: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

65 SPARQL Abfrageformat• Neben der SELECT-Abfrage erlaubt SPARQL noch folgende Abfrageformate:

• ASK

•liefert Boolesche Antwort („hat die Abfrage ein Ergebnis?“)

•Antwort wie bei SELECT als XML oder JSON

• CONSTRUCT

•nutzt Variablenbindung, um neue RDF-Triple zurückzuliefern gemäß vorgegebenem Triple-Pattern

•Antwort als RDF/XML oder Turtle

• DESCRIBE

•liefert Server-generiertes RDF zur Beschreibung der angefragten Ressourcen

•Antwort als RDF/XML oder Turtle

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 72: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

66 SPARQL Konstruktion von RDF-Graphen• CONSTRUCT definiert ein Template zur Konstruktion neuer RDF-Graphen

@prefix org: <http://example.com/ns#> .

_:a org:employeeName "Alice" ._:a org:employeeId 12345 .

_:b org:employeeName "Bob" ._:b org:employeeId 67890 .

data

PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX org: <http://example.com/ns#>

CONSTRUCT { ?x foaf:name ?name }WHERE { ?x org:employeeName ?name }

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 73: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

67 SPARQL Konstrution von RDF-Graphen• Ergebnis einer CONSTRUCT-Query als serialisiertes RDF/XML

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <rdf:Description> <foaf:name>Alice</foaf:name> </rdf:Description> <rdf:Description> <foaf:name>Bob</foaf:name> </rdf:Description></rdf:RDF>

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 74: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

68 SPARQL Protokoll• Methode zur Anfrage/Antwort von SPARQL Queries über http

• Eine SPARQL URI besteht aus drei Teilen:

1.Die URL eines SPARQL Endpoints (z.B. http://example.org/sparql)

2.Die abzufragenden RDF-Graphen (Optional, als Teil des Query-Strings, z.B. named-graph-uri=http://example.org/testrdf.rdf)

3.Der Query-String selbst (Als Teil des Query-Strings, z.B. query=SELECT...)

http://example.org/sparql?named-graph-uri=http%3A%2F%2Fexample.org%2Ftestrdf&query=SELECT+%3Freview_graph+WHERE+%7B%0D%0A++GRAPH+%3Freview_graph+%7B%0D%0A+++++%3Freview+rev%3Arating+10+.%0D%0A++%7D%0D%0A%7D

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 75: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

69 SPARQL Protokoll -- Beispiel• Einfache SPARQL Query

• HTTP Trace der SPARQL Query

PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who }

GET /sparql/?query=EncodedQuery&default-graph-uri=http://www.other.example/books HTTP/1.1Host: www.other.exampleUser-agent: my-sparql-client/0.1

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 76: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

70 • HTTP Trace der SPARQL Antwort

HTTP/1.1 200 OKDate: Fri, 06 May 2008 20:55:12 GMTServer: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3Connection: closeContent-Type: application/sparql-results+xml<?xml version="1.0"?><sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="book"/> <variable name="who"/> </head> <results ordered="false" distinct="false"> <result> <binding name="who"> <literal>Bob Hacker</literal> </binding> <binding name=“book"> <literal>The Art of Hacking</literal> </binding> ...</sparql>

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Montag, 22. November 2010

Page 77: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

71

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

2.1. Uniform Resource Identifier - URI

2.2. XML und XMLSchema

2.3. Resource Description Framework - RDF

2.4. RDF Schema

2.5. Wie kommt die Semantik ins WWW?

2.6. Abfragesprache SPARQL

2.7. Warum reicht RDF(S) noch nicht aus?

Semantic Web Technologien Vorlesungsinhalt

Kurze Exkursion:Triple Stores

Montag, 22. November 2010

Page 78: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

72

Kurze Exkursion: Triple Stores

• Ein RDF Graph kann durch eine Menge von Triple (s,p,o) repräsentiert werden

• Oft werden Triple in einem relationalen Datenbanksystem gespeichert

• Problem:

• Wie soll man die Triple speichern, damit Anfragen effizient durchgeführt werden können?

Montag, 22. November 2010

Page 79: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

73

Kurze Exkursion: Triple Stores

• Wie soll man die Triple speichern, damit Anfragen effizient durchgeführt werden können?

• 4 unterschiedliche Ansätze:

• Giant Triple Storage

• Property Tables

• Vertically Partitioned Tables

• Hexastore

Montag, 22. November 2010

Page 80: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

74

Kurze Exkursion: Triple Stores

Giant Triple Storage• Grundidee:

• Alle Triple in einer einzigen Tabelle abspeichern

• Performance abhängig von der geschickten Wahl des richtigen Index

Vorteile:• einfach zu implementieren• Funktioniert für große Mengen an Properties,

Wenn die richtigen Indices gewählt werden

Nachteile• Es fallen zahlreiche Self-Joins an...

Montag, 22. November 2010

Page 81: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

75

Kurze Exkursion: Triple Stores

Property Tables• Grundidee:

• entwickle relationales Datenbankschema aus RDF-Daten

• sammle dazu mehrere Properties in einer Tabelle

Vorteile:• Gute relationale Tabellen, wenn die RDF-Daten strukturiert sind

Nachteile• Setzt Struktur auf semi-strukturierte Daten• Enthält zahlreiche „NULL“ Einträge• Korrekte Auswahl der Properties für Tabelle ist nicht trivial

Montag, 22. November 2010

Page 82: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

76

Kurze Exkursion: Triple Stores

Vertically Partitioned Tables• Grundidee:

• Erzeuge für jedes Property eine 2-spaltige Tabelle

Vorteile:• Sehr performant,• wenn nur wenige Properties• wenn Abfragen jeweils nur auf

wenigen Properties beruhen

Nachteile• Ineffizient,• wenn Property in Abfrage nicht

gebunden• wenn Property erst zur Laufzeit

gebunden wird• wenn es sehr viele Properties

gibt

Montag, 22. November 2010

Page 83: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

77

Kurze Exkursion: Triple Stores

Hexastore• Grundidee:

• Erzeuge Index für jede mögliche Permutation, um schnelle Verarbeitung zu ermöglichen:

• spo, pos, osp, sop, pso, ops

Montag, 22. November 2010

Page 84: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

78

Kurze Exkursion: Triple Stores

Hexastore• Grundidee:

• Erzeuge Index für jede mögliche Permutation, um schnelle Verarbeitung zu ermöglichen:

• spo, pos, osp, sop, pso, ops

Vorteile:• Schnelle Joins (anfänglich) möglich

Nachteile• Bis zu 5-facher Speicherplatz • Performanceprobleme, wenn auf

Diskspace zurückgegriffen werden muss

Montag, 22. November 2010

Page 85: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

79

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

2.1. Uniform Resource Identifier - URI

2.2. XML und XMLSchema

2.3. Resource Description Framework - RDF

2.4. RDF Schema

2.5. Wie kommt die Semantik ins WWW?

2.6. Abfragesprache SPARQL

2.7. Warum reicht RDF(S) noch nicht aus?

Semantic Web Technologien Vorlesungsinhalt

Montag, 22. November 2010

Page 86: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

79

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

2.1. Uniform Resource Identifier - URI

2.2. XML und XMLSchema

2.3. Resource Description Framework - RDF

2.4. RDF Schema

2.5. Wie kommt die Semantik ins WWW?

2.6. Abfragesprache SPARQL

2.7. Warum reicht RDF(S) noch nicht aus?

Semantic Web Technologien Vorlesungsinhalt

...Übu

ng bz

w. zur

Einsti

mmun

g auf

OWL

Montag, 22. November 2010

Page 87: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

80 1. Einführung

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

3. Wissensrepräsentation und LogikDie Sprachen des Semantic Web - Teil 2

4. Ontology Engineering

5. Linked Data und Semantic Web Anwendungen

Semantic Web Technologien Vorlesungsinhalt

Montag, 22. November 2010

Page 88: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

81

Ontolo

gien

Wie geht‘s weiter...?

Montag, 22. November 2010

Page 89: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

82

Literatur

• P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure: Semantic Web Grundlagen, Springer, 2008.

• P. Hitzler, M. Krötzsch, S. Rudolph: Foundations of Semantic Web Technologies, CRC Press, 2009.

2. Semantic Web Basisarchitektur2.4 - 2.8 RFDS, RDFa, SPARQL

Montag, 22. November 2010

Page 90: 04 RDFS, RDFa und SPARQL - Semantic Web Technologien

Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

83

Materialien

□Bloghttp://web-flakes.blogspot.com/

□Materialien-Webseitehttp://www.hpi.uni-potsdam.de/meinel/lehre/lectures_classes/semanticweb_ws1011.html

□bibsonomy - Bookmarkshttp://www.bibsonomy.org/user/lysander07/swt1011_04

2. Semantic Web Basisarchitektur2.4 - 2.8 RFDS, RDFa, SPARQL

Montag, 22. November 2010