03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

94
Vorlesung Dr. Harald Sack Hasso-Plattner-Institut für Softwaresystemtechnik Universität Potsdam Wintersemester 2011/12 Semantic Web Technologien Blog zur Vorlesung: http://wwwsoup2011.blogspot.com/ Dienstag, 8. November 11

description

Folien zur Vorlesung 'Semantic Web Technologien' WS 2011/12 am Hasso Plattner Institut, Universität Potsdam,

Transcript of 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

Page 1: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

VorlesungDr. Harald Sack

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

Wintersemester 2011/12

Semantic Web Technologien

Blog zur Vorlesung: http://wwwsoup2011.blogspot.com/

Dienstag, 8. November 11

Page 2: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

2

RDF

Semantic Web Technologien Wiederholung

Dienstag, 8. November 11

Page 3: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

1. Einführung 2. Semantic Web Basisarchitektur

Die Sprachen des Semantic Web - Teil 1

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

4. Semantic Web Anwendungen

3

Semantic Web Technologien Vorlesungsinhalt

Dienstag, 8. November 11

Page 4: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

4

SO ... WE NEED A WAY TO DEFINE RDF SCHEMATA FORCLASSES AND RELATIONS ?!

RDFS

Dienstag, 8. November 11

Page 5: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

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

2.1 Uniform Resource Identifier - URI2.2 Wiederholung: XML und XMLSchema2.3 Resource Description Framework - RDF2.4 RDF Schema2.5 Wie kommt die Semantik ins WWW?

• µFormats, schema.org, RDFa und GRDDL2.6 Abfragesprache SPARQL2.7 Warum reicht RDF(S) noch nicht aus?

5

Semantic Web Technologien Vorlesungsinhalt

Dienstag, 8. November 11

Page 6: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

6

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

Dienstag, 8. November 11

Page 7: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

7

Wozu RDFSchema...?

• Ein Programm kann RDF-Daten definieren und benutzen• ….vorausgesetzt, dem Programm ist bekannt, welche Terme benutzt werden

können, z.B. •name, titel, jahr, … •name, blog, telefonnr…•author, cites, …

• Aber.....• 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”

Dienstag, 8. November 11

Page 8: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

8

RDFSchema• 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

Dienstag, 8. November 11

Page 9: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

9

Ein Beispiel

exv:wirdBetreutVonexv:SemanticWebTechnologien exv:HaraldSack

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

RDFS

Dienstag, 8. November 11

Page 10: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

10

Vokabular

•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, rdf:XMLLiteral, rdfs:Container, rdfs:ContainerMembershipProperty

Dienstag, 8. November 11

Page 11: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

11

Vokabular

•Eigenschaften• rdfs:subClassOf

transitive 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

Dienstag, 8. November 11

Page 12: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

12

Vokabular

■Eigenschaften□ rdfs:subClassOf

transitive Eigenschaft zur Festlegung von Vererbungshierarchien von Klassen

(1)

(2)

(3)

Dienstag, 8. November 11

Page 13: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

13

Vokabular15 ■Eigenschaften

□ rdfs:subPropertyOftransitive Eigenschaft zur Festlegung von Vererbungshierarchien von Eigenschaften

(1)

(2)

(3)

Dienstag, 8. November 11

Page 14: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

Sprachmodell

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

Dienstag, 8. November 11

Page 15: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

15

Vokabular

• Weitere Eigenschaften• rdfs:seeAlso

stellt 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)

Dienstag, 8. November 11

Page 16: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

16

Ein Beispiel

exv:wirdBetreutVonexv:SemanticWebTechnologien exv:HaraldSack

Vorlesung

Mitarbeiter

Prof. SeniorResearcher

Person

Lehrveranstaltung

Seminar

wird betreut von

domainrange

subClassOf

subClassOf

subClassOfsubClassOf

class

classclass class

classproperty

class

class

subClassOf

rdf:type rdf:typeA-BoxAssertionales Wissen

T-BoxTerminologisches Wissen

Dienstag, 8. November 11

Page 17: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

Ein Beispiel@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

Dienstag, 8. November 11

Page 18: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

• RDFSchema spezifiziert ein Datenmodell, über das einfache Ontologien (Wissensrepräsentationen) entworfen werden können.

• Über RDFSchema Ontologien können RDF-Statements (Fakten) formuliert werden

• Mehr als XML:• (kleine) ontologische Einigung auf Modellierungsprimitive• Möglichkeit eigene Vokabulare zu definieren

• Nächste Schritte:• mehr Logik• Regeln, Einschränkungen und Abhängigkeitsbeziehungen

Zusammenfassung

Dienstag, 8. November 11

Page 19: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

Wieviel Wissen (Semantik)

steckt in RDF (S)?

Dienstag, 8. November 11

Page 20: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

Wieviel Wissen (Semantik) steckt in RDF (S)?

exv:SemanticWebTechnologien

exv:Vorlesung

rdf:type

exv:hatTerminexv:Raum

HS3

Die 13.30-15.00

exv:ZeitraumSemantic Web Technologien

exv:hatName

exv:hatTermin exv:Termin

rdf:type

rdfs:Class rdfs:Classrdfs:Property

Dienstag, 8. November 11

Page 21: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

Wieviel Wissen (Semantik) steckt in RDF (S)?

exv:SemanticWebTechnologien

exv:Vorlesung

rdf:type

exv:hatTerminexv:Raum

HS3

Die 13.30-15.00

exv:ZeitraumSemantic Web Technologien

exv:hatName

exv:hatTermin exv:Termin

rdf:type

rdfs:Class rdfs:Classrdfs:Property

• Die Bedeutung eines Terms aus einer RDF(S) Ontologie liegt in den Properties, die zusammen mit dem Term verwendet werden und den Werten (Objektinstanzen), den diese annehmen.

Dienstag, 8. November 11

Page 22: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

Welche Schlussfolgerungen

können wir mit RDF (S)

ziehen?Dienstag, 8. November 11

Page 23: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

Welche Schlussfolgerungenkönnen wir mit RDF (S) ziehen?

exv:SemanticWebTechnologien

exv:Vorlesung

exv:hatTermin

exv:hatTermin exv:Termin

rdfs:Class rdfs:Classrdfs:Property

rdf:type

• Herleitung der Klassenzugehörigkeit einer Entität aus der Grundmenge (Domain) eines Properties.

Dienstag, 8. November 11

Page 24: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

Welche Schlussfolgerungenkönnen wir mit RDF (S) ziehen?

exv:SemanticWebTechnologien

exv:Vorlesung

exv:hatTermin

exv:hatTermin exv:Termin

rdfs:Class rdfs:Classrdfs:Property

rdf:type

• Herleitung der Klassenzugehörigkeit einer Entität aus der Bildmenge (Range) eines Properties.

rdf:type

Dienstag, 8. November 11

Page 25: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

Welche Schlussfolgerungenkönnen wir mit RDF (S) ziehen?

exv:SemanticWebTechnologien

exv:Vorlesung

exv:hatTermin

exv:hatTermin exv:Termin

rdfs:Class

rdfs:Classrdfs:Property

rdf:type rdf:type

exv:Lehrveranstaltung

rdfs:subClassOf

rdfs:Class

• Herleitung der (Super-)Klassenzugehörigkeit einer Entität aus einer Klassenhierarchie.

rdf:type

Dienstag, 8. November 11

Page 26: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

Welche Schlussfolgerungenkönnen wir mit RDF (S) ziehen?

exv:Alice

exv:Person

exv:isMotherOf

exv:isMotherOf exv:Person

rdfs:Class

rdfs:Property

rdf:typerdf:type

rdfs:Class

exv:isParentOf

rdfs:Property

rdfs:subPropertyOf

exv:Person exv:Person

rdfs:Class

exv:Bob

• Herleitung neuer Fakten aus SubPropertyBeziehungen

exv:Aliceexv:isParentOf

exv:Bob

Dienstag, 8. November 11

Page 27: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

Reicht RDF (S) aus

zur Wissensmodellieru

ng

im Semantic Web?

Dienstag, 8. November 11

Page 28: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

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

2.1 Uniform Resource Identifier - URI2.2 Wiederholung: XML und XMLSchema2.3 Resource Description Framework - RDF2.4 RDF Schema2.5 Wie kommt die Semantik ins WWW?

• µFormats, schema.org, RDFa und GRDDL2.6 Abfragesprache SPARQL2.7 Warum reicht RDF(S) noch nicht aus?

28

Semantic Web Technologien Vorlesungsinhalt

Dienstag, 8. November 11

Page 29: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

29

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

Dienstag, 8. November 11

Page 30: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

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>

Dienstag, 8. November 11

Page 31: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

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"/>

Dienstag, 8. November 11

Page 32: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

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

sowie• Microdata und

Dienstag, 8. November 11

Page 33: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

µformats - Microformats

• 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

Dienstag, 8. November 11

Page 34: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

µformats - Microformats

• 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>

Dienstag, 8. November 11

Page 35: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

µformats - Microformats

• 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

Dienstag, 8. November 11

Page 36: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11

Page 37: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

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)

Dienstag, 8. November 11

Page 38: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

RDFa

• Unterscheidung von 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

Dienstag, 8. November 11

Page 39: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

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

Dienstag, 8. November 11

Page 40: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

RDFa

<html>

...

<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>...</html>

Namespace

Subject

Property

Object(Literal)

Dienstag, 8. November 11

Page 41: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

RDFa

...<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></div><p> <img src="photo1.jpg" rel="dc:creator" rev="foaf:img" href="http://www.blogger.com/profile/1109404" /></p>...

Dienstag, 8. November 11

Page 42: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

RDFa <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></div><p> <img src="photo1.jpg" rel="dc:creator" rev="foaf:img" href="http://www.blogger.com/profile/1109404" /></p>

foaf:Personrdf:type

tel:1-617-555-7332

foaf:phone

mailto:[email protected]

foaf:mbox

Alice Birpemswick

foaf:name

../photo1.jpg

dc:creator

http://www.blogger.com/profile/1109404

foaf:img

Dienstag, 8. November 11

Page 43: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

RDFa<?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>

<!DOCTYPE html><html version="HTML+RDFa 1.1" lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:foaf="http://xmlns.com/foaf/0.1/">

HTML5

XHTML

Dienstag, 8. November 11

Page 44: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

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

Dienstag, 8. November 11

Page 45: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

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

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

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

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

Dienstag, 8. November 11

Page 46: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

•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 heraus-zulösen

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

Dienstag, 8. November 11

Page 47: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

• 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 Metadaten2.Link/Fetch der passenden Transformationsdaten (Extraktoren)3.Anwenden der Transformationen zum Konvertieren in das RDF Format

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

Dienstag, 8. November 11

Page 48: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head profile="http://www.w3.org/2003/g/data-view"> <link rel="transformation" href="http://ns.inria.fr/grddl/rdfa/2008/09/03/RDFa2RDFXML.xsl"/> </head> ... Titel: <span property="dc:title"> Digitale Kommunikation: Vernetzung, Multimedia, Sicherheit </span> Kategorie: <span property="dc:subject">Fachbuch Computer</span> ...</html>

GRDDL Profildaten

GRDDL Transformation

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

Dienstag, 8. November 11

Page 49: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head profile="http://www.w3.org/2003/g/data-view"> <link rel="transformation" href="http://ns.inria.fr/grddl/rdfa/2008/09/03/RDFa2RDFXML.xsl"/> </head> ... Titel: <span property="dc:title"> Digitale Kommunikation: Vernetzung, Multimedia, Sicherheit </span> Kategorie: <span property="dc:subject">Fachbuch Computer</span> ...</html>

<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:title> Digitale Kommunikation: Vernetzung, Multimedia, Sicherheit </dc:title> <dc:subject>Informatik</dc:subject> </rdf:Description>...</rdf:RDF>

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

Dienstag, 8. November 11

Page 50: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

schema.org

Dienstag, 8. November 11

Page 51: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

schema.org

•am 2. Juni 2011 gestartete Initiative von Bing, Google und Yahoo!

•Ziele: •Semantik Markup für den Inhalt von WWW-Dokumenten auf der

Basis eigener (HTML5) microdata Schemata

•Suchmaschinen, Web-Crawler und Browser können schema.org Markup erkennen und „verstehen“

•kleine Anzahl von Formaten (erweiterbar)

•RDF-Mapping verfügbar

Dienstag, 8. November 11

Page 52: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

HTML microdata

• HTML microdata Spezifikation umfasst•microdata Vocabularies (http://data-vocabulary.org/)

• Personen, Events, Organisationen, Produkte, Reviews, Angebote, Breadcrumbs, agreggierte Reviews/Angebote

•microdata Global Attributes• itemscope (erzeugt Element)

• itemtype (verwendetes Vokabular)• itemid (identifiziert Element)

• itemprop (Property, das Taginhalt spezifiziert)• itemref (Referenz auf andere Elemente)

Dienstag, 8. November 11

Page 53: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

HTML microdata

<section itemscope itemtype="http://data-vocabulary.org/Person"> Hello, my name is <span itemprop="name">John Doe</span>, I am a <span itemprop="title">graduate research assistant</span> at the <span itemprop="affiliation">University of Dreams</span>. My friends call me <span itemprop="nickname">Johnny</span>. You can visit my homepage at <a href="http://www.JohnnyD.com" itemprop="url">www.JohnnyD.com</a>. <section itemprop="address" itemscope itemtype="http://data-vocabulary.org/Address"> I live at <span itemprop="street-address">1234 Peach Drive</span> <span itemprop="locality">Warner Robins</span> , <span itemprop="region">Georgia</span>. </section></section>

http://yovisto.com/labs/swt1112/microdata01.html

Dienstag, 8. November 11

Page 54: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

HTML microdata

http://www.google.com/webmasters/tools/richsnippets

Dienstag, 8. November 11

Page 55: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

schema.org

http://schema.org/docs/full.html

movies

people

recipes

Dienstag, 8. November 11

Page 56: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

schema.org

http://schema.org/docs/full.html

products

music

events

...

Dienstag, 8. November 11

Page 57: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

schema.org

•erweitert das microdata Vokabular um eigene Typenhierarchien:•Creative works:

•CreativeWork, Book, Movie, MusicRecording, Recipe, TVSeries ...

•Embedded non-text objects: •AudioObject, ImageObject, VideoObject

•Event•Organization•Person•Place, LocalBusiness, Restaurant ...•Product, Offer, AggregateOffer•Review, AggregateRating

•und zugehörigen Properties (Relationen), die unterschiedliche Definitions- und Bildbereiche besitzen können

http://schema.org/docs/full.htmlDienstag, 8. November 11

Page 58: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

schema.org

vs.

RDFa

Dienstag, 8. November 11

Page 59: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

schema.org - RDFa Mapping

1.<div vocab="http://schema.org/" typeof="Product">2.  <img rel="image" src="dell-30in-lcd.jpg" />3.  <span property="name">Dell UltraSharp 30" LCD Monitor</span>

5.  <div rel="hasAggregateRating" >6.    <div typeof="http://schema.org/AggregateRating">7.      <span property="ratingValue">87</span>8.      out of <span property="bestRating">100</span>9.      based on <span property="ratingCount">24</span> user ratings10.    </div>11. </div>

13.  <div rel="offers" >14.    <div typeof="http://schema.org/AggregateOffer">15.      <span property="lowPrice">$1250</span>16.       to <span property="highPrice">$1495</span>17.        from <span property="offerCount">8</span> sellers18.   </div>19. </div>20....21.</div>

http://schema.org/docs/datamodel.htmlhttp://schema.rdfs.org/

Dienstag, 8. November 11

Page 60: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

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

2.1 Uniform Resource Identifier - URI2.2 Wiederholung: XML und XMLSchema2.3 Resource Description Framework - RDF2.4 RDF Schema2.5 Wie kommt die Semantik ins WWW?

• µFormats, schema.org, RDFa und GRDDL2.6 Abfragesprache SPARQL2.7 Warum reicht RDF(S) noch nicht aus?

60

Semantic Web Technologien Vorlesungsinhalt

Dienstag, 8. November 11

Page 61: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

61

SPARQL

via http://www.snee.com/bobdc.blog/2008/10/learning-more-about-sparql.htmlDienstag, 8. November 11

Page 62: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

62

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

Dienstag, 8. November 11

Page 63: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

63 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

(SPARQL Query Language Specification)• ein Protokoll-Layer, um SPARQL, z.B. via http zu nutzen

(SPARQL Protocol for RDF Specification)• ein XML-Rückgabeformat für SPARQL-Anfragen

(SPARQL Query XML Results Format)• ein W3C Standard (seit Januar 2008) • angelehnt an die Abfragesprache SQL

2. Semantic Web Basisarchitektur2.6 Abfragesprache SPARQL

Dienstag, 8. November 11

Page 64: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

64 •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

Dienstag, 8. November 11

Page 65: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

65 • 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

Dienstag, 8. November 11

Page 66: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

66

?title ?author ?published

1984 George Orwell 1948

Brave New World Aldous Huxley 1932

Fahrenheid 451 Ray Bradbury 1953

SELECT ?title ?author ?published

SPARQL Abfrage

SPARQL Endpoint

Dienstag, 8. November 11

Page 67: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

67 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“ .

Dienstag, 8. November 11

Page 68: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

68

?country geo:capital ?capital .Triple Pattern

RDF Graphdbpedia:Venezuela rdf:type dbpedia-owl:Country .dbpedia:Venezuela geo:capital “Caracas“ .dbpedia:Venezuela dbprop:language “Spanish“ .dbpedia:Germany rdf:type dbpedia-owl:Country .dbpedia:Germany geo:capital “Berlin“ .dbpedia:Germany dbprop:language “German“ ....

Dienstag, 8. November 11

Page 69: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

69 Einfache Abfrage Pattern• Triple Pattern können zu komplexen Suchabfragen kombiniert

werden, mit denen ein RDF-Graph traversiert werden kann.• Finde Länder, ihre Hauptstädte und die Bevölkerungszahl:

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

• Ausgehend von 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 .

Dienstag, 8. November 11

Page 70: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

70 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. }

?o

?o

?o

?o

?p

?o

?p

?p

?p

subject

Dienstag, 8. November 11

Page 71: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

71 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/swt1112#>SELECT ?vorlesung ?dozentFROM <...>WHERE { ?x hpi:lehrveranstaltung ?vorlesung . ?y hpi:mitarbeiter ?dozent . ?x hpi:wirdBetreutVon ?y .}

Dienstag, 8. November 11

Page 72: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

72 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/swt1112#>SELECT ?vorlesung ?dozentFROM <http://hpi-web.de/>WHERE { ?x hpi:lehrveranstaltung ?vorlesung . ?y hpi:mitarbeiter ?dozent . ?x hpi:wirdBetreutVon ?y .}ORDER BY DESC (?dozent)LIMIT 10OFFSET 10

Dienstag, 8. November 11

Page 73: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

73 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

Dienstag, 8. November 11

Page 74: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

74 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

Dienstag, 8. November 11

Page 75: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

75 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/

Dienstag, 8. November 11

Page 76: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

76 SPARQL Abfrageformat•Kombination mehrerer Datenquellen (RDF-Graphen):•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 }

Dienstag, 8. November 11

Page 77: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

77PREFIX hpi: ...SELECT ...FROM hpi:g1FROM hpi:g4FROM NAMED hpi:g1FROM NAMED hpi:g2FROM NAMED hpi:g3WHERE { ... A ... GRAPH hpi:g3 { ... B ... } GRAPH ?g { ... C ... }}

hpi:g1

hpi:g4

Default Graph

hpi:g1

hpi:g2

hpi:g3

Default Graph

Named Graphs

Dienstag, 8. November 11

Page 78: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

78 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

Dienstag, 8. November 11

Page 79: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

79 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

Dienstag, 8. November 11

Page 80: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

80 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>

Dienstag, 8. November 11

Page 81: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

81 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>

Dienstag, 8. November 11

Page 82: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

82 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>

Dienstag, 8. November 11

Page 83: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

83 SPARQL Abfrageformat•Neben der SELECT-Abfrage erlaubt SPARQL noch folgende Formate:

•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

Dienstag, 8. November 11

Page 84: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

84 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 }

Dienstag, 8. November 11

Page 85: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

85 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>

Dienstag, 8. November 11

Page 86: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

86 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

Dienstag, 8. November 11

Page 87: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

87 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

Dienstag, 8. November 11

Page 88: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

88 • 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>

Dienstag, 8. November 11

Page 89: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

89 • einige populäre SPARQL Endpoints• http://sparql.org/sparql.html --

General Purpose SPARQL Endpoint• http://dbpedia.org/sparql --

DBpedia SPARQL Endpoint• http://www4.wiwiss.fu-berlin.de/dblp/sparql --

DBLP (Informatik Bibliografien) SPARQL Endpoint• http://linkedmdb.org/sparql --

Linked Movie Database SPARQL Endpoint• http://www4.wiwiss.fu-berlin.de/factbook/sparql --

CIA World Factbook SPARQL Endpoint• ...

Dienstag, 8. November 11

Page 90: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

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

2.1 Uniform Resource Identifier - URI2.2 Wiederholung: XML und XMLSchema2.3 Resource Description Framework - RDF2.4 RDF Schema2.5 Wie kommt die Semantik ins WWW?

• µFormats, schema.org, RDFa und GRDDL2.6 Abfragesprache SPARQL2.7 Warum reicht RDF(S) noch nicht aus?

90

Semantic Web Technologien Vorlesungsinhalt

...Übu

ng bz

w. zur

Einsti

mmun

g auf

OWL

Dienstag, 8. November 11

Page 91: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

91

Ontolo

gien

die nächste Vorlesung....

Dienstag, 8. November 11

Page 92: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

92

• P. Hitzler, S. Roschke, Y. Sure: Semantic Web Grundlagen, Springer, 2007.

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

2. Semantic Web Basisarchitektur2.4 RDF Schema2.5 Wie kommt die Semantik ins WWW2.6 Abfragesprache SPARQL

Dienstag, 8. November 11

Page 93: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

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

93

• B. du Charme: Learning SPARQL,O‘Reilly Media, 2011.

2. Semantic Web Basisarchitektur2.4 RDF Schema2.5 Wie kommt die Semantik ins WWW2.6 Abfragesprache SPARQL

Dienstag, 8. November 11

Page 94: 03 - RDFS und SPARQL - Semantic Web Technologien WS 2011/12

Materialien

□Bloghttp://wwwsoup2011.blogspot.com/

□Webseitehttp://www.hpi.uni-potsdam.de/studium/lehrangebot/veranstaltung/semantic_web_technologien.html

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

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

94

2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier2.2 XML und XMLSchema2.3 Resource Description Framework

Dienstag, 8. November 11