10.11.2009, 04-RDFS, RDFa, SPARQL und Triple Stores

  • 3,391 views
Uploaded on

Diese Vorlesung gibt eine Einführung in die Schema-Beschreibungssprache RDFS, zeigt die Möglichkeit der Einbettung von RDF in HTML via RDFa, zeigt GRDDL zum Auslesen der RDFa Information aus HTML und …

Diese Vorlesung gibt eine Einführung in die Schema-Beschreibungssprache RDFS, zeigt die Möglichkeit der Einbettung von RDF in HTML via RDFa, zeigt GRDDL zum Auslesen der RDFa Information aus HTML und behandelt detailliert die Abfragesprache SPARQL. Zusätzlich wird auf die Problematik der Implementierung unterschiedlicher Tripel Stores eingegangen.

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,391
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
117
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Semantic Web Vorlesung Dr. Harald Sack Hasso-Plattner-Institut für Softwaresystemtechnik Universität Potsdam Wintersemester 2009/10 Blog zur Vorlesung: http://sewe0910.blogspot.com/ Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC). http://sw0910.blogspot.com/
  • 2. Semantic Web - Vorlesungsinhalt 2 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. Ontology Engineering 5. Semantic Web Applications Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 3 Motivation für RDF Schema • Programm kann RDF-Daten definieren und nutzen….vorausgesetzt, dem Programm ist bekannt, welche Terme benutzt werden können… • z.B. • name, titel, jahr, … • name, blog, telefonnr… • author, cites, … • Sind alle bekannt? Sind alle korrekt? Gibt es (logische) Beziehungen zwischen den Termen? • Wir benötigen eine entsprechende Datendefinition  RDF Schema • offiziell: “RDF Vocabulary Description Language” Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 4. 2. Semantic Web Basisarchitektur 4 Semantic Web Architektur Interface & Application Trust Proof Unifying Logic Query: Ontology: OWL Rule: RIF Crypto SPARQL RDFS Data Interchange: RDF XML / XSD URI / IRI Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 5. Semantic Web - Vorlesungsinhalt 5 1 2 3 10.11.2009 – Vorlesung Nr. 4 5 6 7 8 9 10 11 12 13 14 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 2.1.Uniform Resource Identifier - URI 2.2.XML und XMLSchema 2.3.Resource Description Framework - RDF 2.4.RDF Schema 2.5.Wie kommt die Semantik ins WWW? 2.6.Abfragesprache SPARQL 2.7.Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 6. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 6 Motivation für RDF Schema • Programm kann RDF-Daten definieren und nutzen….vorausgesetzt, dem Programm ist bekannt, welche Terme benutzt werden können… • z.B. • name, titel, jahr, … • name, blog, telefonnr… • author, cites, … • Sind alle bekannt? Sind alle korrekt? Gibt es (logische) Beziehungen zwischen den Termen? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 7. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 7 Motivation für RDF Schema • Programm kann RDF-Daten definieren und nutzen….vorausgesetzt, dem Programm ist bekannt, welche Terme benutzt werden können… • z.B. • name, titel, jahr, … • name, blog, telefonnr… • author, cites, … • Sind alle bekannt? Sind alle korrekt? Gibt es (logische) Beziehungen zwischen den Termen? • Wir benötigen eine entsprechende Datendefinition  RDF Schema • offiziell: “RDF Vocabulary Description Language” Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 8. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 8 RDF Schema • Erster W3C Draft im April 1998, W3C Recommendation seit Feb. 2004. • RDFSchema 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 Potsdam
  • 9. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 9 RDF Schema -- ein Beispiel class Person class subClassOf domain property class Lehrveranstaltung range wird betreut von Mitarbeiter subClassOf subClassOf subClassOf subClassOf class class class class Seminar Vorlesung Prof. SeniorResearcher RDFS rdf:type rdf:type RDF http://hpi-web.de/ws0910#semanticweb wird betreut von http://hpi-web.de/HaraldSack Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 10. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 10 RDFS Sprachkomponenten • Klassen • rdfs:Resource jede Entität in einem RDF-Modell ist Instanz dieser Klasse • rdf:Property Basisklasse für Eigenschaften • rdfs:Class Klassenkonzept, legt ein abstraktes Objekt fest und dient in Verbindung mit rdf:type zur Erzeugung von Instanzen • rdfs:Literal Klasse für Literalwerte, also Zeichenketten, … • zusätzlich noch rdfs:Datatype, rdfs:XMLLiteral, rdfs:Container, rdfs:ContainerMembershipProperty Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 11. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 11 •RDFS Sprachkomponenten • 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 Potsdam
  • 12. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 12 RDFS Sprachkomponenten ■ 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 Potsdam
  • 13. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 13 RDFS Sprachkomponenten ■ 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 Potsdam
  • 14. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 14 RDFS Sprachmodell (verkürzt...) t t rdfs:Class rdfs:Resource s t s t s t rdfs:Literal rdf:Property rdf:type t s – Subklassen-Beziehungen t t – Instanzen-Beziehungen t t rdfs:comment t rdfs:range rdfs:domain rdfs:subClassOf rdfs:subPropertyOf Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 15. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 15 RDFS Sprachkomponenten: • 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 Potsdam
  • 16. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 16 RDF Schema -- zurück zum Beispiel class RDFS Terminologiesches Wissen - T-Box Person class subClassOf domain property class Lehrveranstaltung range wird betreut von Mitarbeiter subClassOf subClassOf subClassOf subClassOf class class class class Seminar Vorlesung Prof. SeniorResearcher rdf:type rdf:type RDF Assertionales Wissen - A-Box http://hpi-web.de/ws0910#semanticweb wird betreut von http://hpi-web.de/HaraldSack Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 17. 2. Semantic Web Basisarchitektur 2.4 RDF Schema <?xml version="1.0" encoding="utf-8"?> 17 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://hpi-web.de/WS0910#"> <rdfs:Class rdf:ID=“Lehrveranstaltung“> <rdfs:SubClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource“/> </rdfs:Class> <rdfs:Class rdf:ID=“Vorlesung“> <rdfs:SubClassOf rdf:resource=“Lehrveranstaltung“/> </rdfs:Class> <rdfs:Class rdf:ID=“Seminar“> <rdfs:SubClassOf rdf:resource=“Lehrveranstaltung“/> </rdfs:Class> <rdfs:Class rdf:ID=“Person“> <rdfs:SubClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource“/> </rdfs:Class> <rdfs:Class rdf:ID=“Mitarbeiter“> <rdfs:SubClassOf rdf:resource=“Person“/> </rdfs:Class> <rdfs:Class rdf:ID=“SeniorResearcher“> <rdfs:SubClassOf rdf:resource=“Mitarbeiter“/> </rdfs:Class> … Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 18. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 18 RDFS – Teil2 <rdf:Property rdf:ID=“wirdBetreutVon“> <rdfs:SubPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Property/> <rdfs:domain rdf:resource="Lehrveranstaltung“/> <rdfs:range rdf:resource=“Mitarbeiter“/> </rdf:Property> <rdf:Description rdf:about=“semanticweb“> <rdf:type rdf:resource=“Vorlesung“/> </rdf:Description> <rdf:Description rdf:about=“http://hpi-web.de/HaraldSack“> <rdf:type rdf:resource=“SeniorResearcher“/> </rdf:Description> <rdf:Description rdf:about=“semanticweb“> <wirdBetreutVon rdf:resource=“http://hpi-web.de/HaraldSack“/> </rdf:Description> … </rdf:RDF> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 19. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 19 @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/WS0910 > :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 rdfs: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 Potsdam
  • 20. 2. Semantic Web Basisarchitektur 2.4 RDF Schema 20 RDFS Zusammenfassung: • RDFSchema spezifiziert ein Datenmodell, über das RDF-Statements entworfen werden können • Mehr als XML: • (kleine) ontologische Einigung auf Modellierungs- primitive • Möglichkeit eigene Vokabulare zu definieren • Nächste Schritte: • Logik • Regeln Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 21. Semantic Web - Vorlesungsinhalt 21 1 2 3 10.11.2009 – Vorlesung Nr. 4 5 6 7 8 9 10 11 12 13 14 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 2.1.Uniform Resource Identifier - URI 2.2.XML und XMLSchema 2.3.Resource Description Framework - RDF 2.4.RDF Schema 2.5.Wie kommt die Semantik ins WWW? 2.6.Abfragesprache SPARQL 2.7.Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 22. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 22 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 Potsdam
  • 23. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 23 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 Potsdam
  • 24. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 24 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 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 25. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 25 µformats -- Microformate • XHTML Markup, mit dem es möglich ist, (in einem begrenzten Umfang) Semantik in einem HTML-Dokument auszudrücken • Anwendungen können leichter Daten aus HTML-Dokumenten extrahieren • Verwendung in folgenden XHTML-Tag Attributen: • class • rel • rev • Vordefinierte Standard-Microformate: • hCard - Personendaten ( vCard, RFC2426) • hCalender – Events • rel-Tag – social tagging • XFN – XHTML Friends Network Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 26. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 26 µFormats -- Microformate • Beispiel: <span class="vcard"> <span class="fn">Joe Blow</span> <span class="org">The Example Company</span> <span class="tel">604-555-1234</span> <a class="url" href="http://example.com/"> http://example.com/</a> </span> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 27. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 27 µFormats -- Einsatz • Last.fm Nutzerprofile und Geodaten, Veranstaltungen und CD-Bewertungen • Mac webmail Kontaktdaten • LinkedIn Lebensläufe • Flickr Kontaktdaten, Geodaten • WordPress Social Networking • Serendipity Bookmarks Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 28. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 28 µFormats -- Bewertung • Microformate nutzen vorhandene XHTML-Attribute um strukturierte Daten zu kodieren • Mit passenden XSLT Transformationen kann Microformat/XHTML in RDF umgewandelt werden • Neues Microformat-Vokabular muss erst externe Konsolidierungsprozedur durchlaufen, bei der jedesmal auch ein neues XSLT Stylesheet entwickelt werden muss • Wird mehr als ein Microformat-Vokabular in einer XHMTL-Seite genutzt, steigt die Komplexität rapide • Es können Konflikte mit genutzte XHTML-Attributen auftreten Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 29. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 29 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 30. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 30 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 Potsdam
  • 31. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 31 RDFa • Unterscheidet grundsätzlich 2 Varianten von RDF-Triples •Triple mit URI als Objekt •Triple mit Literal als Objekt Subjekt Prädikat Objekt Literal als content oder about property Objekt #PCDATA URI als Objekt about rel href Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 32. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 32 RDFa • <span about=”subject”>...</span> ...erzeugt ein temporäres Subjekt für ein/mehrere Triples • <a href=”object” rel=”predicate”>...</a> ...definiert ein verlinktes Triple • <span property=”predicate”>object</span> ...definiert ein unverlinktes Triple Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 33. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 33 RDFa -- einfaches Beispiel ... <div xmlns:dc="http://purl.org/dc/elements/1.1/"> I'm currently reading <span about=”urn:ISBN:0-596-00027-8”> <span property="dc:title">Programming Perl</span> by <span property="dc:creator">Larry Wall</span> </span>. </div> ... Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 34. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 34 RDFa -- einfaches Beispiel ... <div typeof="foaf:Person" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <p property="foaf:name"> Alice Birpemswick </p> <p> Email: <a rel="foaf:mbox" href="mailto: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> <p> <img src="photo1.jpg" rel="dc:creator" rev="foaf:depicts" href="http://www.blogger.com/profile/1109404" /> </p> </div> ... Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 35. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 35 RDFa -- einfaches Beispiel <div typeof="foaf:Person" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <p property="foaf:name"> Alice Birpemswick </p> <p> Email: <a rel="foaf:mbox" href="mailto: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> <p> <img src="photo1.jpg" rel="dc:creator" rev="foaf:depicts" href="http://www.blogger.com/profile/1109404" /> </p> </div> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 36. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 36 RDFa -- einfaches Beispiel <?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml" version="XHTML+RDFa 1.0" xml:lang="en"> <head>...</head> <body>...</body> </html> </xml> ...und wie wird aus XHTML+RDFa dann RDF? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 37. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 37 GRDDL • Gleaning Resource Descriptions from Dialects of Languages • GRDDL bietet einen einfachen Weg, um RDF-Daten aus XML-Dokumenten (insbesondere XHTML) zu gewinnen • GRDDL verbindet Transformationen (XSLT Stylesheets), um •RDFa •Mircoformats •RSS • aus XHTML-Dokumenten herauszulösen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 38. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 38 GRDDL • Um ein Semantische Annotationen aus einem Dokument zu extrahieren und in das RDF Format zu bringen, nutzt GRDDL folgende • Schritte: 1. Erkennung der GRDDL Profil Metadaten 2. Beziehen der passenden Transformationsdaten 3. Anwenden der Transformationen zum Konvertieren in das RDF Format Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 39. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 39 GRDDL 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://www.w3.org/2002/12/cal/glean-hcal“ /> <link rel="transformation" href="http://www.w3.org/2003/12/rdf-in-xhtml-xslts/grokFOAF.xsl" /> <link rel="transformation" href="http://www.w3.org/2003/12/rdf-in-xhtml-xslts/grokCC.xsl" /> <link rel="transformation" href="http://www.w3.org/2003/12/rdf-in-xhtml-xslts/grokGeoURL.xsl" /> ... </head> ... </html> GRDDL Transformationen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 40. 2. Semantic Web Basisarchitektur 2.5 Wie kommt die Semantic ins WWW? 40 GRDDL - Anwendungsbeispiel Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 41. Semantic Web - Vorlesungsinhalt 41 1 2 3 10.11.2009 – Vorlesung Nr. 4 5 6 7 8 9 10 11 12 13 14 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 2.1.Uniform Resource Identifier - URI 2.2.XML und XMLSchema 2.3.Resource Description Framework - RDF 2.4.RDF Schema 2.5.Wie kommt die Semantik ins WWW? 2.6.Abfragesprache SPARQL 2.7.Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 42. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 42 Semantic Web Architektur Interface & Application Trust Proof Unifying Logic Query: Ontology: OWL Rule: RIF Crypto SPARQL RDFS Data Interchange: RDF XML / XSD URI / IRI Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 43. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 43 Eine Abfragesprache für RDF • Wie gelangt man an das Wissen aus RDF/RDFS Wissensbasen? • Manuelles Parsen/Auslesen und Kombinieren der RDF-Tripel sehr aufwändig • Können Sie sich eine relationale Datenbank ohne SQL vorstellen? • SPARQL Protocol and RDF Query Language ist • eine Abfragesprache zur Traversierung von RDF-Graphen • ein Protokoll-Layer, um SPARQL, z.B. via http zu nutzen • ein XML-Rückgabeformat für SPARQL-Anfragen • ein W3C Standard (seit Januar 2008) • angelehnt an die Abfragesprache SQL Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 44. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 44 SPARQL • SPARQL erlaubt • die Extraktion von Werten aus strukturierten und semi-strukturierten Daten als • URIs, leere Knoten (Blank Nodes), typisierte und nicht-typisierte Literale. • RDF Subgraphen • die Erkundung von Daten über die Abfrage unbekannter Beziehungsstrukturen • die Durchführung komplexer Join-Operationen über heterogene, verteilte Datenbanken in einer einzigen, einfachen Abfrage • die Transformation von RDF-Daten von einem Vokabular in ein anderes • Konstruktion neuer RDF Graphen basierend auf RDF Abfragegraphen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 45. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 45 SPARQL • SPARQL Variablen werden an RDF-Terme gebunden • z.B. ?journal, ?disease, ?price • Wie in SQL erfolgt die Abfrage von Variablen über ein SELECT Statement • z.B. SELECT ?article ?author ?published • Ein SELECT-Statement liefert Abfrageergebnisse in Form einer Tabelle ?artist ?album ?times_platinum Michael Jackson Thriller 27 Led Zepellin Led Zepellin IV 22 Pink Floyd The Wall 22 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 46. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 46 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 Potsdam
  • 47. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 47 Einfache Abfrage Pattern • Triple Pattern können zu komplexen Suchabfragen kombiniert werden, mit denen ein RDF-Graph auf einfache Weise traversiert werden kann. • Finde Länder, ihre Hauptstädte und die Bevolkerungszahl: •?country geo:capital ?capital . ?country geo:population ?population . • Ausgehend von einem FOAF URI, finde den Namen einer Person und ihrer Freunde: •<http://hpi-web.de/id#haraldsack> foaf:name ?surname . <http://hpi-web.de/id#haraldsack> foaf:knows ?friend . ?friend foaf:name ?friend_surname . • Finde alle Vorgesetzten, der 3. Managementebene •?emp hr:managedBy ?first_line . ?first_line hr:managedBy ?second_line . ?second_line hr:managedBy ?third_line . Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 48. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 48 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 Potsdam
  • 49. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 49 SPARQL Abfrageformat • Gebe alle Lehrveranstaltungen mit den zugehörigen Dozenten aus PREFIX hpi: <http://hpi-web.de/WS0910#> SELECT ?vorlesung ?dozent FROM <http://hpi-web.de/WS0910.rdf> 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 Potsdam
  • 50. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 50 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/WS0910#> SELECT ?vorlesung ?dozent FROM <http://hpi-web.de/WS0910.rdf> 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 Potsdam
  • 51. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 51 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#> http://example.org/book.rdf 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 Potsdam
  • 52. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 52 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" . PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox http://example.org/adressen.rdf 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 Potsdam
  • 53. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 53 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)" . SELECT ?title http://example.org/books/ 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 Potsdam
  • 54. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 54 SPARQL Abfrageformat • Kombination mehrerer Datenquellen: • Default RDF-Graph • Named RDF-Graph • Named Graph kann explizit über das Schlüsselwort GRAPH angesprochen werden GRAPH <http://example.org/graph1.rdf> { ?x foaf:mbox ?mbox } Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 55. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 55 SPARQL Abfrageformat • Verwendung von Named Graphs @prefix dc: <http://purl.org/dc/elements/1.1/> . Default Graph (stored at http://example.org/dft.ttl) <http://example.org/bob> dc:publisher "Bob Hacker" . <http://example.org/alice> dc:publisher "Alice Hacker" . @prefix foaf: <http://xmlns.com/foaf/0.1/> . Named Graph: http://example.org/bob _:a foaf:name "Bob" . _:a foaf:mbox <mailto:bob@oldcorp.example.org> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . Named Graph: http://example.org/alice _:a foaf:name "Alice" . _:a foaf:mbox <mailto:alice@work.example.org> . Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 56. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 56 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 Potsdam
  • 57. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 57 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 Potsdam
  • 58. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 58 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 Potsdam
  • 59. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 59 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 Potsdam
  • 60. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 60 SPARQL Abfrageformat • Neben der SELECT-Abfrage erlaubt SPARQL noch folgende Abfrageformate: • ASK •liefert Boolesche Antwort („hat die Abfrage ein Ergebnis?“) •Antwort wie bei SELECT als XML oder JSON • CONSTRUCT •nutzt Variablenbindung, um neue RDF-Tripel zurückzuliefern •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 Potsdam
  • 61. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 61 SPARQL Konstrution 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" . PREFIX foaf: <http://xmlns.com/foaf/0.1/> _:b org:employeeId 67890 . PREFIX org: <http://example.com/ns#> data CONSTRUCT { ?x foaf:name ?name } WHERE { ?x org:employeeName ?name } Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 62. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 62 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 Potsdam
  • 63. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 63 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 Potsdam
  • 64. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 64 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 Potsdam
  • 65. 2. Semantic Web Basisarchitektur 2.6 Abfragesprache SPARQL 65 • 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 Potsdam
  • 66. Semantic Web - Vorlesungsinhalt Kur 66 1 2 3 10.11.2009 – Vorlesung Nr. 4 5 6 7 8 9 10 11 12 ze E 13 14 2. Semantic Web Basisarchitektur Trip xku Die Sprachen des Semantic Web - Teil 1 rsio 2.1.Uniform Resource Identifier - URI le S 2.2.XML und XMLSchema n: tore 2.3.Resource Description Framework - RDF 2.4.RDF Schema s 2.5.Wie kommt die Semantik ins WWW? 2.6.Abfragesprache SPARQL 2.7.Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 67. Kurze Exkursion: Triple Stores 67 • Ein RDF Graph kann durch eine Menge von Tripeln (s,p,o) repräsentiert werden • Oft werden Tripel in einem relationalen Datenbanksystem gespeichert • Problem: • Wie soll man die Tripel speichern, damit Anfragen effizient durchgeführt werden können? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 68. Kurze Exkursion: Triple Stores 68 • Wie soll man die Tripel speichern, damit Anfragen effizient durchgeführt werden können? • 4 unterschiedliche Ansätze: • Giant Triple Storage • Property Tables • Vertically Partitioned Tables • Hexastore Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 69. Kurze Exkursion: Triple Stores 69 Giant Triple Storage • Grundidee: • Alle Tripel in einer einzigen Tabelle abspeichern • Performance abhängig von der geschickten Wahl des richtigen Index Vorteile: • einfach zu implementieren • Funktioniert für große Mengen an Properties, Wenn die richtigen Indices gewählt werden Nachteile • Es fallen zahlreiche Self-Joins an... Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 70. Kurze Exkursion: Triple Stores 70 Property Tables • Grundidee: • entwickle relationales Datenbankschema aus RDF-Daten • sammle dazu mehrere Properties in eine Tabelle Vorteile: • Gute relationale Tabellen, wenn die RDF-Daten strukturiert sind Nachteile • Setzt Struktur auf semi-strukturierte Daten • Enthält zahlreiche „NULL“ Einträge • Korrekte Auswahl der Properties für Tabelle ist nicht trivial Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 71. Kurze Exkursion: Triple Stores 71 Vertically Partitioned Tables • Grundidee: • Erzeuge für jedes Property eine 2-spaltige Tabelle Vorteile: • Sehr performant, • wenn nur wenige Properties • wenn Abfragen jeweils nur auf wenigen Properties beruhen Nachteile • Ineffizient, • wenn Property in Abfrage nicht gebunden • wenn Property erst zur Laufzeit gebunden wird • wenn es sehr viele Properties gibt Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 72. Kurze Exkursion: Triple Stores 72 Hexastore • Grundidee: • Erzeuge Index für jede mögliche Permutation, um schnelle Verarbeitung zu ermöglichen: • spo, pos, osp, sop, pso, ops Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 73. Kurze Exkursion: Triple Stores 73 Hexastore • Grundidee: • Erzeuge Index für jede mögliche Permutation, um schnelle Verarbeitung zu ermöglichen: • spo, pos, osp, sop, pso, ops Vorteile: • Schnelle Joins (anfänglich) möglich Nachteile • Bis zu 5-facher Speicherplatz • Performanceprobleme, wenn auf Diskspace zurückgegriffen werden muss Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 74. Semantic Web - Vorlesungsinhalt 74 1 2 3 10.11.2009 – Vorlesung Nr. 4 5 6 7 8 9 10 11 12 13 14 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 2.1.Uniform Resource Identifier - URI 2.2.XML und XMLSchema 2.3.Resource Description Framework - RDF 2.4.RDF Schema 2.5.Wie kommt die Semantik ins WWW? 2.6.Abfragesprache SPARQL 2.7.Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 75. 2. Semantic Web Basisarchitektur 2.7 Warum RDF noch nicht ausreicht 75 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 76. 2. Semantic Web Basisarchitektur 2.7 Warum RDF noch nicht ausreicht 76 Lokalität globaler Properties Pflanzliche subClassOf Nahrung Domain Range Tier frisst Nahrung nicht subClassOf pflanzliche Nahrung Problem: Kühe fressen nur pflanzliche Nahrung, andere Tiere fressen nur Fleisch bzw. beides… Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 77. 2. Semantic Web Basisarchitektur 2.7 Warum RDF noch nicht ausreicht 77 Disjunktheit von Klassen subClassOf Frau Mensch entweder…oder…? subClassOf Mann Problem: Subklassenbeziehung vermag nicht auszudrücken, dass Subklassenzugehörigkeit disjunkt sein kann Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 78. 2. Semantic Web Basisarchitektur 2.7 Warum RDF noch nicht ausreicht 78 Kombination von Klassen Autofahrer subClassOf Motorradfahrer Verkehrsteilnehmer Fußgänger Radfahrer Problem: Alle Autofahrer, Motorradfahrer, Fußgänger und Radfahrer bilden zusammengenommen die Gruppe der Verkehrsteilnehmer Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 79. 2. Semantic Web Basisarchitektur 2.7 Warum RDF noch nicht ausreicht 79 Kardinalitätsrestriktionen property Mensch Eltern Problem: Jeder Mensch hat in der Regel immer ZWEI Eltern Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 80. 2. Semantic Web Basisarchitektur 2.7 Warum RDF noch nicht ausreicht 80 Spezielle Eigenschaften von Properties • Transitivität (z.B. „ist größer als“) • Eineindeutigkeit (z.B. „ist Mutter von“) • Inversivität (z.B. „ist Elternteil von“ und „ist Kind von“) Wir benötigen zusätzliche Semantik ! Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 81. 2. Semantic Web Basisarchitektur 81 Semantic Web Architektur Interface & Application Trust Proof Unifying Logic Query: Ontology: OWL Rule: RIF Crypto SPARQL RDFS Data Interchange: RDF XML / XSD URI / IRI Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 82. Semantic Web - Vorlesungsinhalt 82 1 2 3 10.11.2009 – Vorlesung Nr. 4 5 6 7 8 9 10 11 12 13 14 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 2.1.Uniform Resource Identifier - URI 2.2.XML und XMLSchema 2.3.Resource Description Framework - RDF 2.4.RDF Schema 2.5.Wie kommt die Semantik ins WWW? 2.6.Abfragesprache SPARQL 2.7.Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 83. 2. Semantic Web Basisarchitektur 83 Literatur » P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure Semantic Web Grundlagen, Springer, 2008. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 84. 2. Semantic Web Basisarchitektur 84 Literatur •Blog http://sewe0910.blogspot.com/ •Materialien-Webseite http://www.hpi.uni-potsdam.de/meinel/teaching/lectures_classes/semanticweb_ws0910.html •bibsonomy - Bookmarks http://www.bibsonomy.org/user/lysander07/sw0910_04 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam