Semantic Web                                                  Technologien                                                ...
Semantic Web Technologien Wiederholung2                                                                            D F    ...
Semantic Web Technologien    Vorlesungsinhalt3       1. Einführung       2. Semantic Web Basisarchitektur               Di...
FS                              D4          R                                                                        SO .....
Semantic Web Technologien    Vorlesungsinhalt5       2. Semantic Web Basisarchitektur          Die Sprachen des Semantic W...
2. Semantic Web Basisarchitektur            Die Sprachen des Semantic Web - Teil 16            Vorlesung Semantic Web, Dr....
Wozu RDFSchema...?7             • Ein Programm kann RDF-Daten definieren und benutzen             • ….vorausgesetzt, dem Pr...
RDFSchema8                   • Erster W3C Draft im April 1998,                      W3C Recommendation seit Feb. 2004.    ...
Ein Beispiel9                                                                                                             ...
Vokabular10                • Klassen                   • rdfs:Resource                      jede Entität in einem RDF-Mode...
Vokabular11                  •Eigenschaften                    • rdfs:subClassOf                      transitive Eigenscha...
Vokabular12            ■Eigenschaften              □ rdfs:subClassOf                transitive Eigenschaft zur Festlegung ...
Vokabular1513            ■Eigenschaften              □ rdfs:subPropertyOf                transitive Eigenschaft zur Festle...
Sprachmodell                                                                      t                                t      ...
Vokabular15               • Weitere Eigenschaften                 • rdfs:seeAlso                     stellt Beziehung eine...
Ein Beispiel16     T-Box                                                                                                  ...
Ein Beispiel             @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>                             Turtle    ...
Zusammenfassung              • RDFSchema spezifiziert ein Datenmodell, über das einfache Ontologien                  (Wisse...
m ant ik)                                 n ( Se                          is se               ie vie l W               (S ...
Wieviel Wissen (Semantik)                                           steckt in RDF (S)?                                rdfs...
Wieviel Wissen (Semantik)                                           steckt in RDF (S)?                                rdfs...
er un gen                                        sf olg                                c hl us            S)              ...
Welche Schlussfolgerungen                                     können wir mit RDF (S) ziehen?                              ...
Welche Schlussfolgerungen                                     können wir mit RDF (S) ziehen?                              ...
Welche Schlussfolgerungen                                     können wir mit RDF (S) ziehen?                              ...
Welche Schlussfolgerungen                                     können wir mit RDF (S) ziehen?                              ...
) a us                                              DF  (S                                        ht  R               ru n...
Semantic Web Technologien     Vorlesungsinhalt28       2. Semantic Web Basisarchitektur          Die Sprachen des Semantic...
2. Semantic Web Basisarchitektur            Die Sprachen des Semantic Web - Teil 129            Vorlesung Semantic Web, Dr...
Semantische Annotation  im WWW        • Eigentlich kann RDF/XML direkt in ein HTML-Dokument via <head> und           <scri...
Semantische Annotation  im WWW           • Das W3C empfiehlt die Einbettung von externen RDF-Dokumenten via               H...
Semantische Annotation  im WWW          • Prinzipiell existieren heute zwei Möglichkeiten, strukturierte Daten mit        ...
µformats - Microformats              • XHTML Markup, mit dem es möglich ist, (in einem begrenzten Umfang)                S...
µformats - Microformats           • Beispiel:                      <span class="vcard">                       <span class=...
µformats - Microformats          • Microformate nutzen vorhandene XHTML-Attribute um strukturierte            Daten zu kod...
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
RDFa           • RDFa = RDF in HTML attributes           • bringt generische RDF-Annotationen in XHTML-Dokumente          ...
RDFa         • Unterscheidung von grundsätzlich 2 Varianten von RDF-Triples               •Triple mit URI als Objekt      ...
RDFa               • <span about=”subject”>...</span>                 ...erzeugt ein temporäres Subjekt für ein/mehrere Tr...
RDFa                           <html>                                                                                     ...
RDFa              ...              <div typeof="foaf:Person" xmlns:foaf="http://xmlns.com/foaf/0.1/">                 <p p...
RDFa                                                                 <div typeof="foaf:Person" xmlns:foaf="http://xmlns.co...
RDFa            <?xml version="1.0" encoding="UTF-8"?>            <html xmlns="http://www.w3.org/1999/xhtml" version="XHTM...
RDFa     ...und wie wird aus XHTML/HTML5 + RDFa dann RDF?            Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattn...
http://www.flickr.com/photos/cho45/1402634073/                      •Gleaning                           (...bedeutet sovie...
http://www.flickr.com/photos/cho45/1402634073/                  • Gleaning Resource Descriptions from Dialects of         ...
http://www.flickr.com/photos/cho45/1402634073/            • Um eine Semantische Annotationen aus einem Dokument zu        ...
http://www.flickr.com/photos/cho45/1402634073/                                                     GRDDL Profildaten      ...
http://www.flickr.com/photos/cho45/1402634073/        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> ...
schema.org            Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. No...
schema.org               • am 2. Juni 2011 gestartete Initiative von Bing, Google und Yahoo!               • Ziele:       ...
HTML microdata          • HTML microdata Spezifikation umfasst                • microdata Vocabularies (http://data-vocabul...
HTML microdata     <section itemscope itemtype="http://data-vocabulary.org/Person">        Hello, my name is        <span ...
HTML microdata                                                                            http://www.google.com/webmasters...
schema.org                movies                 people                  recipes                                          ...
schema.org    products          music         events                  ...                                                 ...
schema.org                •erweitert das microdata Vokabular um eigene Typenhierarchien:                 • Creative works:...
schema.org                                                           vs.                                                  ...
schema.org - RDFa Mapping           1.<div vocab="http://schema.org/" typeof="Product">           2.  <img rel="image" src...
Semantic Web Technologien     Vorlesungsinhalt60       2. Semantic Web Basisarchitektur          Die Sprachen des Semantic...
61                                                                                                     Q L                ...
2. Semantic Web Basisarchitektur            Die Sprachen des Semantic Web - Teil 162            Vorlesung Semantic Web, Dr...
2. Semantic Web Basisarchitektur            2.6 Abfragesprache SPARQL63           Eine Abfragesprache für RDF           • ...
64                   • SPARQL erlaubt                      • die Extraktion von Werten aus strukturierten und semi-struktu...
65                           • SPARQL Variablen werden an RDF-Terme gebunden                            • z.B. ?journal, ?...
SPARQL Abfrage66                                                    SELECT ?title ?author ?published                      ...
67                           Triple Pattern                           • SPARQL basiert auf Turtle Serialisierung.         ...
68                                                  Triple Pattern                                                 ?countr...
69                    Einfache Abfrage Pattern                      • Triple Pattern können zu komplexen Suchabfragen komb...
70                   SPARQL Abfrageformat                       • angelehnt an SQL                                        ...
71                     SPARQL Abfrageformat                       • Gebe alle Lehrveranstaltungen mit den zugehörigen Doze...
72                           SPARQL Abfrageformat                           • Gebe alle Lehrveranstaltungen mit den zugehö...
73                         SPARQL Abfrageformat                           • Über das Schlüsselwort FILTER kann die Ergebni...
74                    SPARQL Abfrageformat                      • Über das Schlüsselwort OPTIONAL können optionale Element...
75                         SPARQL Abfrageformat                           • Über das Schlüsselwort UNION können Abfragen a...
76                       SPARQL Abfrageformat                       • Kombination mehrerer Datenquellen (RDF-Graphen):    ...
Default Graph77                         hpi:g1                                                                            ...
78                    SPARQL Abfrageformat                      • Verwendung von Named Graphs                             ...
79                           SPARQL Abfrageformat                           • Verwendung von Named Graphs                 ...
80                      SPARQL Antwortformat                      • SPARQL Ergebnisse werden in Form wohlgeformter und val...
81                           SPARQL Antwortformat                           • Für jedes SPARQL-Query Ergebnis steht ein <r...
82                           SPARQL Antwortformat                           • Im <binding>-Element erfolgt die Bindung ein...
83                  SPARQL Abfrageformat                    • Neben der SELECT-Abfrage erlaubt SPARQL noch folgende Format...
84                           SPARQL Konstruktion von RDF-Graphen                           • CONSTRUCT definiert ein Templa...
85                      SPARQL Konstrution von RDF-Graphen                      • Ergebnis einer CONSTRUCT-Query als seria...
86                     SPARQL Protokoll                       • Methode zur Anfrage/Antwort von SPARQL Queries über http  ...
87                    SPARQL Protokoll -- Beispiel                      • Einfache SPARQL Query                           ...
88                   • HTTP Trace der SPARQL Antwort                           HTTP/1.1 200 OK                           D...
89                    • einige populäre SPARQL Endpoints                       • http://sparql.org/sparql.html --         ...
Semantic Web Technologien     Vorlesungsinhalt90       2. Semantic Web Basisarchitektur          Die Sprachen des Semantic...
die nächste Vorlesung....91                                                                                               ...
2. Semantic Web Basisarchitektur         2.4 RDF Schema         2.5 Wie kommt die Semantik ins WWW         2.6 Abfragespra...
2. Semantic Web Basisarchitektur         2.4 RDF Schema         2.5 Wie kommt die Semantik ins WWW         2.6 Abfragespra...
2. Semantic Web Basisarchitektur         2.1 Uniform Resource Identifier         2.2 XML und XMLSchema         2.3 Resource...
Upcoming SlideShare
Loading in...5
×

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

1,773

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,773
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
62
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Semantic Web Technologien Vorlesung Dr. Harald Sack Hasso-Plattner-Institut für Softwaresystemtechnik Universität Potsdam Wintersemester 2011/12 Blog zur Vorlesung: http://wwwsoup2011.blogspot.com/Dienstag, 8. November 11
  2. 2. Semantic Web Technologien Wiederholung2 D F R Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  3. 3. Semantic Web Technologien Vorlesungsinhalt3 1. Einführung 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 3. Wissensrepräsentation und Logik Die Sprachen des Semantic Web - Teil 2 4. Semantic Web Anwendungen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  4. 4. FS D4 R SO ... WE NEED A WAY TO DEFINE RDF SCHEMATA FOR CLASSES AND RELATIONS ?! Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  5. 5. Semantic Web Technologien Vorlesungsinhalt5 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 2.1 Uniform Resource Identifier - URI 2.2 Wiederholung: XML und XMLSchema 2.3 Resource Description Framework - RDF 2.4 RDF Schema 2.5 Wie kommt die Semantik ins WWW? • µFormats, schema.org, RDFa und GRDDL 2.6 Abfragesprache SPARQL 2.7 Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  6. 6. 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 16 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  7. 7. Wozu RDFSchema...?7 • 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” Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  8. 8. RDFSchema8 • 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  9. 9. Ein Beispiel9 class Person class subClassOf domain property class Lehrveranstaltung range wird betreut von Mitarbeiter subClassOf subClassOf subClassOf class class subClassOf class class Seminar Vorlesung Prof. SeniorResearcher RDFS rdf:type rdf:type RDF exv:SemanticWebTechnologien exv:HaraldSack exv:wirdBetreutVon Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  10. 10. Vokabular10 • 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 noch rdfs:Datatype, rdf:XMLLiteral, rdfs:Container, rdfs:ContainerMembershipProperty Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  11. 11. Vokabular11 •Eigenschaften • rdfs:subClassOf transitive Eigenschaft zur Festlegung von Vererbungshierarchien von Klassen • rdfs:subPropertyOf transitive 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  12. 12. Vokabular12 ■Eigenschaften □ rdfs:subClassOf transitive Eigenschaft zur Festlegung von Vererbungshierarchien von Klassen (1) (2) (3) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  13. 13. Vokabular1513 ■Eigenschaften □ rdfs:subPropertyOf transitive Eigenschaft zur Festlegung von Vererbungshierarchien von Eigenschaften (1) (2) (3) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  14. 14. Sprachmodell t t rdfs:Class rdfs:Resource s t t s s t rdfs:Literal rdf:Property rdf:type t t t t rdfs:comment t rdfs:range rdfs:domain rdfs:subClassOf s – Subklassen-Beziehungen rdfs:subPropertyOf t – Instanzen-Beziehungen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  15. 15. Vokabular15 • Weitere Eigenschaften • rdfs:seeAlso stellt Beziehung einer Ressource zu einer anderen her, die diese erklärt • rdfs:isDefinedBy subproperty zu rdf:seeAlso, stellt Beziehung von Ressource zu deren Definition (auch in RDFS) her • rdfs:comment Kommentar, gewöhnlich in Textform • rdfs:label „lesbarer“ Name einer Ressource (im Gegensatz zu ID) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  16. 16. Ein Beispiel16 T-Box class Terminologisches Wissen Person class subClassOf domain property class Lehrveranstaltung range wird betreut von Mitarbeiter subClassOf subClassOf subClassOf class class subClassOf class class Seminar Vorlesung Prof. SeniorResearcher A-Box rdf:type Assertionales Wissen rdf:type exv:SemanticWebTechnologien exv:HaraldSack exv:wirdBetreutVon Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  17. 17. Ein Beispiel @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> Turtle @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 . Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  18. 18. Zusammenfassung • 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  19. 19. m ant ik) n ( Se is se ie vie l W (S )? W DF ck t i n R ste Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  20. 20. Wieviel Wissen (Semantik) steckt in RDF (S)? rdfs:Class rdfs:Class rdfs:Property exv:Vorlesung exv:hatTermin exv:Termin rdf:type rdf:type exv:SemanticWebTechnologien exv:hatTermin exv:Raum exv:hatName HS3 Semantic Web Technologien exv:Zeitraum Die 13.30-15.00 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  21. 21. Wieviel Wissen (Semantik) steckt in RDF (S)? rdfs:Class rdfs:Class rdfs:Property exv:Vorlesung exv:hatTermin exv:Termin rdf:type rdf:type exv:SemanticWebTechnologien exv:hatTermin exv:Raum exv:hatName HS3 Semantic Web Technologien exv:Zeitraum Die 13.30-15.00 • 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. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  22. 22. er un gen sf olg c hl us S) c he S RD F ( W el ir mit nen w k ön he n? zie Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  23. 23. Welche Schlussfolgerungen können wir mit RDF (S) ziehen? rdfs:Class rdfs:Class rdfs:Property exv:Vorlesung exv:hatTermin exv:Termin rdf:type exv:SemanticWebTechnologien exv:hatTermin • Herleitung der Klassenzugehörigkeit einer Entität aus der Grundmenge (Domain) eines Properties. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  24. 24. Welche Schlussfolgerungen können wir mit RDF (S) ziehen? rdfs:Class rdfs:Class rdfs:Property exv:Vorlesung exv:hatTermin exv:Termin rdf:type rdf:type exv:SemanticWebTechnologien exv:hatTermin • Herleitung der Klassenzugehörigkeit einer Entität aus der Bildmenge (Range) eines Properties. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  25. 25. Welche Schlussfolgerungen können wir mit RDF (S) ziehen? rdfs:Class exv:Lehrveranstaltung rdfs:subClassOf rdf:type rdfs:Class rdfs:Property exv:Vorlesung exv:hatTermin exv:Termin rdfs:Class rdf:type rdf:type exv:SemanticWebTechnologien exv:hatTermin • Herleitung der (Super-)Klassenzugehörigkeit einer Entität aus einer Klassenhierarchie. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  26. 26. Welche Schlussfolgerungen können wir mit RDF (S) ziehen? rdfs:Class rdfs:Property exv:Person exv:isParentOf exv:Person rdfs:subPropertyOf rdfs:Property exv:Person exv:isMotherOf exv:Person rdfs:Class rdfs:Class rdf:type rdf:type exv:Alice exv:Bob exv:isMotherOf exv:Alice exv:Bob exv:isParentOf • Herleitung neuer Fakten aus SubPropertyBeziehungen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  27. 27. ) a us DF (S ht R ru ng Re ic de llie ens mo W iss We b? z ur an tic im S em Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  28. 28. Semantic Web Technologien Vorlesungsinhalt28 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 2.1 Uniform Resource Identifier - URI 2.2 Wiederholung: XML und XMLSchema 2.3 Resource Description Framework - RDF 2.4 RDF Schema 2.5 Wie kommt die Semantik ins WWW? • µFormats, schema.org, RDFa und GRDDL 2.6 Abfragesprache SPARQL 2.7 Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  29. 29. 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 129 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  30. 30. 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> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  31. 31. Semantische Annotation im WWW • Das W3C empfiehlt die Einbettung von externen RDF-Dokumenten via HTML <link>-Element <link rel="meta" type="application/rdf+xml" href="Meta-Data-for-Web-Page.rdf"/> • Daneben können RDF-Dokumente auch via <a href=...> und einer entsprechenden Kennzeichnung (z.B. RDF-Logo) im <body> des HTML-Dokuments verlinkt werden Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  32. 32. 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  33. 33. µ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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  34. 34. µ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> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  35. 35. µ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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  36. 36. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  37. 37. 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) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  38. 38. RDFa • Unterscheidung von grundsätzlich 2 Varianten von RDF-Triples •Triple mit URI als Objekt •Triple mit Literal als Objekt Subjekt Property Objekt content oder Object ist Literal about property #PCDATA Objekt ist about rel href Ressource (URI) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  39. 39. 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  40. 40. RDFa <html> Namespace ... <div xmlns:dc="http://purl.org/dc/elements/1.1/"> Im currently reading Subject <span about=”urn:ISBN:0-596-00027-8”> <span property="dc:title"> Property Programming Perl Object </span> (Literal) by <span property="dc:creator">Larry Wall</span> </span>. </div> ... </html> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  41. 41. 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:alice@example.com"> alice@example.com</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> ... Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  42. 42. 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:alice@example.com"> alice@example.com</a> </p> <p> Phone: <a rel="foaf:phone" href="tel:+1-617-555-7332"> +1 617.555.7332</a> </p> ../photo1.jpg </div> <p> <img src="photo1.jpg" rel="dc:creator" rev="foaf:img" href="http://www.blogger.com/profile/1109404" /> dc:creator foaf:img </p> http://www.blogger.com/profile/1109404 rdf:type foaf:Person foaf:mbox foaf:phone foaf:name mailto:alice@example.com tel:1-617-555-7332 Alice Birpemswick Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  43. 43. 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> XHTML <!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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  44. 44. RDFa ...und wie wird aus XHTML/HTML5 + RDFa dann RDF? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  45. 45. http://www.flickr.com/photos/cho45/1402634073/ •Gleaning (...bedeutet soviel wie „ernten, sammeln, lesen“) •Resource Descriptions (...von Resource Description Framework) •from Dialects of Languages (...betrifft XML Dokumentenfamilie, z.B. XHTML ...) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  46. 46. http://www.flickr.com/photos/cho45/1402634073/ • 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  47. 47. http://www.flickr.com/photos/cho45/1402634073/ • 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  48. 48. http://www.flickr.com/photos/cho45/1402634073/ GRDDL Profildaten <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, SicherheitTransformation GRDDL </span> Kategorie: <span property="dc:subject">Fachbuch Computer</span> ... </html> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  49. 49. http://www.flickr.com/photos/cho45/1402634073/ <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:<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" <span property="dc:title"> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> Digitale Kommunikation: Vernetzung, Multimedia, Sicherheit ... </span> <rdf:Description rdf:about=""> Kategorie:<dc:title> <span property="dc:subject">Fachbuch Computer</span> Sicherheit Digitale Kommunikation: Vernetzung, Multimedia, ... </dc:title> </html> <dc:subject>Informatik</dc:subject> </rdf:Description> ... </rdf:RDF> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  50. 50. schema.org Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  51. 51. 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  52. 52. 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) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  53. 53. 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  54. 54. HTML microdata http://www.google.com/webmasters/tools/richsnippets Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  55. 55. schema.org movies people recipes http://schema.org/docs/full.html Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  56. 56. schema.org products music events ... http://schema.org/docs/full.html Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  57. 57. 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.html Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  58. 58. schema.org vs. RDFa Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  59. 59. 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 ratings 10.    </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> sellers 18.   </div> 19. </div> 20.... 21.</div> http://schema.org/docs/datamodel.html http://schema.rdfs.org/ Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  60. 60. Semantic Web Technologien Vorlesungsinhalt60 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 2.1 Uniform Resource Identifier - URI 2.2 Wiederholung: XML und XMLSchema 2.3 Resource Description Framework - RDF 2.4 RDF Schema 2.5 Wie kommt die Semantik ins WWW? • µFormats, schema.org, RDFa und GRDDL 2.6 Abfragesprache SPARQL 2.7 Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  61. 61. 61 Q L A R SP Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam via http://www.snee.com/bobdc.blog/2008/10/learning-more-about-sparql.htmlDienstag, 8. November 11
  62. 62. 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 162 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  63. 63. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL63 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  64. 64. 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  65. 65. 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  66. 66. SPARQL Abfrage66 SELECT ?title ?author ?published SPARQL Endpoint ?title ?author ?published 1984 George Orwell 1948 Brave New World Aldous Huxley 1932 Fahrenheid 451 Ray Bradbury 1953 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  67. 67. 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“ . Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  68. 68. 68 Triple Pattern ?country geo:capital ?capital . RDF Graph dbpedia: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“ . ... Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  69. 69. 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 . Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  70. 70. 70 SPARQL Abfrageformat • angelehnt an SQL SELECT ?p, ?o WHERE { subject ?p ?o. } • Triple im „WHERE“-Teil definieren Graph-Abfrage mit ?p und ?o als Variablen • Abfrage liefert Tabelle mit passenden ?p, ?o Paaren ?p ?o ?p ?o subject ?p ?o ?p ?o Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  71. 71. 71 SPARQL Abfrageformat • Gebe alle Lehrveranstaltungen mit den zugehörigen Dozenten aus PREFIX hpi: <http://hpi-web.de/swt1112#> SELECT ?vorlesung ?dozent FROM <...> WHERE { ?x hpi:lehrveranstaltung ?vorlesung . ?y hpi:mitarbeiter ?dozent . ?x hpi:wirdBetreutVon ?y . } • 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  72. 72. 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 ?dozent FROM <http://hpi-web.de/> WHERE { ?x hpi:lehrveranstaltung ?vorlesung . ?y hpi:mitarbeiter ?dozent . ?x hpi:wirdBetreutVon ?y . } ORDER BY DESC (?dozent) LIMIT 10 OFFSET 10 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  73. 73. 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 . http://example.org/book.rdf PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX ns: <http://example.org/ns#> SELECT ?title ?price FROM <http://example.org/book.rdf> WHERE { ?x ns:price ?price . FILTER (?price < 30.5) ?x dc:title ?title . } Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  74. 74. 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:alice@example.com> . _:a foaf:mbox <mailto:alice@work.example> . _:b rdf:type foaf:Person . _:b foaf:name "Bob" . http://example.org/adressen.rdf PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox FROM <http://example.org/adressen.rdf> WHERE { ?x foaf:name ?name . OPTIONAL { ?x foaf:mbox ?mbox } } Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  75. 75. 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" . PREFIX dc10: <http://purl.org/dc/elements/1.0/> _:c dc10:title "SPARQL" . PREFIX dc11: <http://purl.org/dc/elements/1.1/> _:c dc11:title "SPARQL (updated)" . http://example.org/books/ SELECT ?title FROM <http://example.org/books.rdf> WHERE { { ?book dc10:title ?title } UNION { ?book dc11:title ?title } } Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  76. 76. 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 } Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  77. 77. Default Graph77 hpi:g1 PREFIX hpi: ... Default Graph SELECT ... FROM hpi:g1 FROM hpi:g4 hpi:g4 FROM NAMED hpi:g1 FROM NAMED hpi:g2 FROM NAMED hpi:g3 WHERE { ... A ... GRAPH hpi:g3 { ... B ... hpi:g3 } hpi:g1 GRAPH ?g { ... C ... } } hpi:g2 Named Graphs Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  78. 78. 78 SPARQL Abfrageformat • Verwendung von Named Graphs Default Graph (stored at http://example.org/dft.ttl) @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" . Named Graph: http://example.org/bob @prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Bob" . _:a foaf:mbox <mailto:bob@oldcorp.example.org> . Named Graph: http://example.org/alice @prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Alice" . _:a foaf:mbox <mailto:alice@work.example.org> . Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  79. 79. 79 SPARQL Abfrageformat • Verwendung von Named Graphs PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> Default Graph SELECT ?who ?g ?mbox FROM <http://example.org/dft.ttl> FROM NAMED <http://example.org/alice> FROM NAMED <http://example.org/bob> Named Graph WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } } Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  80. 80. 80 SPARQL Antwortformat • SPARQL Ergebnisse werden in Form wohlgeformter und valider XML- Dokumente erbracht <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> ... </sparql> • In einem <head>-Element werden alle Variablen der SPARQL-Query aufgelistet <head> <variable name="x"/> <variable name="hpage"/> <variable name="name"/> <variable name="mbox"/> <variable name="blurb"/> </head> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  81. 81. 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> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  82. 82. 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:bob@work.example.org</uri> </binding> </result> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  83. 83. 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  84. 84. 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 } Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  85. 85. 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> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  86. 86. 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+%3Frev iew_graph+%7B%0D%0A+++++%3Freview+rev%3Arating+10+.%0D%0A+ +%7D%0D%0A%7D Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  87. 87. 87 SPARQL Protokoll -- Beispiel • Einfache SPARQL Query PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who } • HTTP Trace der SPARQL Query GET /sparql/?query=EncodedQuery&default-graph-uri=http:// www.other.example/books HTTP/1.1 Host: www.other.example User-agent: my-sparql-client/0.1 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  88. 88. 88 • HTTP Trace der SPARQL Antwort HTTP/1.1 200 OK Date: Fri, 06 May 2008 20:55:12 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-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> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  89. 89. 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 • ... Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  90. 90. Semantic Web Technologien Vorlesungsinhalt90 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 2.1 Uniform Resource Identifier - URI u r 2.2 Wiederholung: XML und XMLSchema L z OW w. f 2.3 Resource Description Framework - RDF bz au g 2.4 RDF Schema un diemu ng b ..Ü tischema.org, RDFa und GRDDL 2.5 Wie kommt m Semantik ins WWW? . • µFormats, i ns 2.6EAbfragesprache SPARQL 2.7 Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  91. 91. die nächste Vorlesung....91 e n g i l o to O n Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  92. 92. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 2.5 Wie kommt die Semantik ins WWW 2.6 Abfragesprache SPARQL92 • 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. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  93. 93. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 2.5 Wie kommt die Semantik ins WWW 2.6 Abfragesprache SPARQL93 • B. du Charme: Learning SPARQL, O‘Reilly Media, 2011. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  94. 94. 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier 2.2 XML und XMLSchema 2.3 Resource Description Framework94 Materialien □Blog http://wwwsoup2011.blogspot.com/ □Webseite http://www.hpi.uni-potsdam.de/studium/lehrangebot/veranstaltung/ semantic_web_technologien.html □bibsonomy - Bookmarks http://www.bibsonomy.org/user/lysander07/swt1112_04 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamDienstag, 8. November 11
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×