44
DATA SUPPORT OPEN Trainingsmodul 1.3 Einführung in RDF & SPARQL Die Mitglieder des PwC Netzwerks unterstützen Organisationen und Individuen dabei, die Werte zu schaffen, nach denen sie suchen. Wir sind ein Netzwerk von Unternehmen mit nahezu 180.000 Mitarbeitern in 158 Ländern, die sich dazu verpflichtet fühlen Qualität in den Bereichen Assurance, Tax & Legal sowie Advisory zu liefern. Sagen Sie uns, was Ihnen wichtig ist und besuchen Sie für weitere Informationen unsere Webseite www.pwc.com PwC bezieht sich auf das PwC Netzwerk und/oder eine oder mehrere Mitgliedsfirmen, von denen jede ein rechtlich selbstständiges Unternehmen ist. Besuchen Sie unsere Webseite www.pwc.com/structure für weitere Details.

Einführung in RDF & SPARQL

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Einführung in RDF & SPARQL

DATASUPPORT

OPEN

Trainingsmodul 1.3

Einführung in RDF & SPARQL

Die Mitglieder des PwC Netzwerks unterstützen Organisationen und Individuen dabei, die Werte zu schaffen, nach denen sie suchen. Wir sind ein Netzwerk von Unternehmen mit nahezu 180.000

Mitarbeitern in 158 Ländern, die sich dazu verpflichtet fühlen Qualität in den Bereichen Assurance, Tax & Legal sowie Advisory zu liefern. Sagen Sie uns, was Ihnen wichtig ist und besuchen Sie für

weitere Informationen unsere Webseite www.pwc.com

PwC bezieht sich auf das PwC Netzwerk und/oder eine oder mehrere Mitgliedsfirmen, von denen jede ein rechtlich selbstständiges Unternehmen ist. Besuchen Sie unsere Webseite

www.pwc.com/structure für weitere Details.

Page 2: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Diese Präsentation wurde von PwC erstellt Autoren: Michiel De Keyzer, Nikolaos Loutas and Stijn Goedertier Metadaten der

Präsentation

Folie 2

Open Data Support wird von der Europäischen Kommission, gemäß SMART 2012/0107 ‘Lot 2: Provision of services for the Publication, Access and Reuse of Open Public Data across the European Union, through existing open data portals’(Vertrag No. 30-CE-0530965/00-17) finanziert. © 2014 European Commission

Disclaimer

1. Die Ansichten, die in dieser Präsentation vertreten werden, spiegeln ausschließlich die Meinung des Autors wider und dürfen unter keinen Umständen als offizielle Position der Europäischen Kommission interpretiert werden. Die Europäische Kommission übernimmt weder eine Garantie für die Genauigkeit der Informationen, die Inhalt dieser Präsentation sind, noch akzeptiert sie jegliche Verantwortung für die Nutzung der selbigen. Referenzen innerhalb dieser Präsentation zu spezifischen Produkten, Spezifikationen, Prozessen oder Services durch Handelsnamen, Markenzeichen, Hersteller oder ähnliches, implizieren nicht unbedingt deren Unterstützung oder Bevorzugung durch die Europäische Kommission. Der Autor hat sämtliche Anstrengungen unternommen, um sicherzustellen, dass er/sie, wo nötig, die Erlaubnis erhalten hat, die einzelnen Teile der in dieser Präsentation genutzten Manuskripte zu benutzen. Dies beinhaltet das Einholen einer Nutzungserlaubnis von den Lizenzinhabern oder deren gesetzlichen Vertretern zur Nutzung von Illustrationen, Karten, Schaubildern, die durch Rechte des geistigen Eigentums geschützt sind.

2. Diese Präsentation wurde sorgfältig von PwC zusammengestellt, jedoch gibt PwC keine Erklärung darüber ab und übernimmt keine Garantie dafür (weder ausdrücklich noch implizit), dass die Informationen in dieser Präsentation vollständig oder akkurat sind. PwC ist nicht für die Informationen in dieser Präsentation oder jedwede Entscheidung oder Konsequenz, die aus ihr resultieren, haftbar zu machen. PwC haftet nicht für etwaige Schäden, die durch die Nutzung der Informationen in dieser Präsentation entstehen sollten. Die Informationen in dieser Präsentation sind genereller Natur und einzig dafür bestimmt, eine Orientierungshilfe für Themen allgemeinen Interesses zu sein. Diese Präsentation ist kein Ersatz für professionelle Beratung zu jedwedem speziellen Thema. Kein Leser sollte auf der Basis der Themendarstellungen in dieser Präsentation handeln, ohne vorher angemessene professionelle Beratung einzuholen.

Page 3: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Lernziele

Am Ende dieses Trainingsmoduls sollten Sie Folgendes verstehen:

• Was ist das Resource Description Framework (RDF/Quellenbeschreibungsgerüst)?

• Wie schreibt/liest man RDF?

• Wie können Sie Ihre Daten mit RDF beschreiben?

• Was ist SPARQL?

• Welche verschiedenen Arten von SPARQL gibt es?

• Wie schreibt man eine SPARQL Abfrage?

Folie 3

Page 4: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Inhalt

Dieses Modul enthält...

• Eine Einführung in das Resource Description Framework (RDF), das Ihnen hilft, Ihre Daten zu beschreiben.

- Was ist RDF?

- Wie ist RDF strukturiert?

- Wie können Sie Ihre Daten in RDF darstellen?

• Eine Einführung in SPARQL sowie dessen Abfrage und Bearbeitung in RDF.

• Hinweise zu weiterführender Literatur, Beispielen und Übungen.

Folie 4

Page 5: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Resource Description Framework Eine Einführung in RDF

Folie 5

Page 6: Einführung in RDF & SPARQL

DATASUPPORTOPEN

RDF als Teil der Semantic Web Technologien

RDF steht für:

- Ressource (Quelle): Alles, was einen einzigartigen Identifier (URI) haben kann, z.B. Seiten, Standorte, Menschen, Produkte...

- Description (Beschreibung): Attribute, Funktionen und Beziehungen der Ressourcen

- Framework (Gerüst): Modell, Sprachen und Syntaxen für diese Beschreibungen

• RDF wurde 1999 als eine W3C Empfehlung veröffentlicht.

• RDF wurde ursprünglich als ein Datenmodell für Metadaten eingeführt.

• RDF wurde verallgemeinert, um Wissen aller Arten abzudecken.

Folie 6

Page 7: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Wo kann ich die RDF Spezifierung finden?

http://www.w3.org/RDF/

Folie 7

Page 8: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Beispiel: RDF Beschreibung einer Organisation

Nike, Dahliastraat 24, 2160 Wommelgem

Folie 8

<rdf:RDF xmlns:rov=“http://www.w3.org/TR/vocab-regorg/ “ xmlns:org=“http://www.w3.org/TR/vocab-org/” xmlns:locn=“http://www.w3.org/ns/locn#” > <rov:RegisteredOrganization rdf:about=“http://example.com/org/2172798119”> <rov:legalName> “Nike”< /rov:legalName> <org:hasRegisteredSite rdf:resource=“http://example.com/site/1234”/> </rov:RegisteredOrganization> <locn:Address rdf:about=“http://example.com/site/1234”/> <locn:fullAddress>” Dahliastraat 24, 2160 Wommelgem”</locn:fullAddress> </locn:Address> </rdf:RDF>

Page 9: Einführung in RDF & SPARQL

DATASUPPORTOPEN

RDF-Struktur Triples, Graphen und Syntax

Folie 9

Page 10: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Was ist ein Triple?

Folie 10

RDF ist eine allgemeine Syntax zur Darstellung von Daten im Web.

Jede in RDF ausgedrückte Information wird als Triple dargestellt:

• Subjekt – eine Quelle, die mit einem URI identifiziert werden kann.

• Prädikat – eine URI-identifizierte wiederverwendete Spezifikation der Beziehung.

• Objekt – eine Quelle oder ein Symbol, mit der/dem das Thema verwandt ist.

http://example.com/org/2172798119 has as legal name “Nike”.

Thema Prädikat Objekt

Beispiel: Name einer gesetzlichen Rechtspersönlichkeit:

Page 11: Einführung in RDF & SPARQL

DATASUPPORTOPEN

RDF ist graphenbasiert

Graph =

Eine Sammlung von Triples

Folie 11

http://example.com/site/1234

http://example.com/org/2172798119

Nike

Hat eine registrierte Website

Hat einen gesetzlichen Namen

Dahliastraat 24 2160 Wommelgem

Vollständige Anschrift

Page 12: Einführung in RDF & SPARQL

DATASUPPORTOPEN

RDF Syntax RDF/XML

Folie 12

<rdf:RDF xmlns:rov=“http://www.w3.org/TR/vocab-regorg/ “ xmlns:org=“http://www.w3.org/TR/vocab-org/” xmlns:locn=“http://www.w3.org/ns/locn#” > <rov:RegisteredOrganization rdf:about=“http://example.com/org/2172798119”> <rov:legalName> “Niké”< /rov:legalName> <org:hasRegisteredSite rdf:resource=“http://example.com/site/1234”/> </rov:RegisteredOrganization> <locn:Address rdf:about=“http://example.com/site/1234”/> <locn:fullAddress>” Dahliastraat 24, 2160 Wommelgem”</locn:fullAddress> </locn:Address> </rdf:RDF>

Subjekt

Prädikat

Objekt

Gra

ph

RDF/XML ist derzeit die einzige Syntax, die durch W3C standardisiert ist.

Definition von Präfixen

Beschreibung der Daten – Triples

Page 13: Einführung in RDF & SPARQL

DATASUPPORTOPEN

RDF Syntax Turtle

Folie 13

Subjekt

Prädikat

Objekt

@prefix rov: <http://www.w3.org/TR/vocab-regorg/> . @prefix org: <http://www.w3.org/TR/vocab-org/> . @prefix locn: <http://www.w3.org/ns/locn#> . < http://example.com/org/2172798119 > a <rov:RegisteredOrganization> ; rov:legalName “Niké “; org:hasRegisteredSite <http://example.com/site/1234> . <http://example.com/site/1234> a <locn:Address> ; locn:fullAddress “Dahliastraat 24, 2160 Wommelgem” .

Gra

ph

Turtle wird in RDF 1.1. standardisiert

Siehe auch: http://www.w3.org/2009/12/rdf-ws/papers/ws11

Definition von Präfixen

Beschreibung der Daten – Triples

Page 14: Einführung in RDF & SPARQL

DATASUPPORTOPEN

RDF Syntax RDFa

Folie 14

Thema

Predikat

Objekt

<html> <head> ... </head> <body> ... <div resource=“http://example.com/org/2172798119” typeof= “http://www.w3.org/TR/vocab-regorg/RegisteredOrganization”> <p> <span property=" http://www.w3.org/TR/vocab-regorg/legalName">Nike<span> Address: <span property="http://www.w3.org/ns/locn#fullAddress"> Dahliastraat 24, 2160 Wommelgem </span> </p></div> </body>

Siehe auch: http://www.w3.org/TR/2012/NOTE-rdfa-primer-20120607/

Einbetten von RDF Daten in HTML

Page 15: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Wie kann man Daten in RDF darstellen? Klassen, Eigenschaften und Vokabulare

Folie 15

Page 16: Einführung in RDF & SPARQL

DATASUPPORTOPEN

RDF Vokabular

Folie 16

„Ein Vokabular ist ein Datenmodell, das Klassen, Eigenschaften und Beziehungen beinhaltet, die dazu genutzt werden können, Ihre Daten und Metadaten zu beschreiben.”

RDF Vokabulare sind Sammlungen von Begriffen, die dazu genutzt werden können Dinge zu beschreiben.

Ein Begriff ist entweder eine Klasse oder eine Eigenschaft.

Objekttyp Eigenschaften (Beziehungen)

Datentyp Eigenschaften (Attribute)

Page 17: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Was sind Klassen, Beziehungen und Eigenschaften?

• Klasse. Ein Konstrukt, das Dinge in der realen und/oder virtuellen Welt darstellt, z.B. eine Person, eine Organisation oder ein Konzept wie “Gesundheit” oder “Freiheit”.

• Beziehung. Eine Verbindung zwischen zwei Klassen: zwischen einem Dokument und der Organisation, die es veröffentlicht hat (d.h. Organisation veröffentlicht Dokument); oder zwischen einer Karte und der geografischen Region, die sie zeigt (d.h. Karte zeigt geografische Region). In RDF werden Beziehungen als Objekttyp Eigenschaften kodiert.

• Eigenschaft. Eine Eigenschaft einer Klasse in einer bestimmten Dimension, wie z.B. der offizielle Name einer Organisation oder das Datum und die Zeit, wann ein Beobachtung gemacht wurde.

Folie 17

Page 18: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Beispiele für Klassen, Beziehungen und Eigenschaften

Folie 18

http://.../org/2172798119

Ort http://example.com/site

/1234

RegisteredOrganisation Address

Dahliastraat 24, 2160 Wommelgem “Nike”

a a

fullAddress legalName

Kla

sse

Eig

ensc

haft

Beziehung

Page 19: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Weiterverwendung von RDF Vokabularen

• Weiterverwendung ermöglicht höchste Interoperabilität Ihrer Daten.

Zum Beispiel bewirkt die Verwendung von <dcterms:created>, dessen Wert eine Datei vom Typ 2013-02-21^^xsd:date sein sollte, dass die Daten sofort von vielen Maschinen verarbeitet werden können. Wenn Ihr Schema Datenherausgeber dazu zwingt, unterschiedliche Begriffe und Datumsformate, wie ex:date "21 February 2013“, zu benutzen, dann wird die Veröffentlichung von Daten mit Ihrem Schema eine weitere Verarbeitung erfordern, um sie allen anderen Daten anzupassen.

• Weiterverwendung erhöht die Glaubwürdigkeit Ihres Schemas.

Es zeigt, dass Ihr Schema mit Sorgfalt und Professionalität veröffentlicht wurde, was seine Weiterverwendung fördert.

• Weiterverwendung ist einfacher und billiger.

Durch die Weiterverwendung von Klassen und Eigenschaften gut definierter und richtig gehosteter Vokabulare vermeiden Sie, dass Sie den Aufwand ihrer Erstellung wiederholen müssen.

Folie 19

Siehe auch: https://joinup.ec.europa.eu/community/semic/document/cookbook-translating-data-models-rdf-schemas http://www.slideshare.net/OpenDataSupport/model-your-data-metadata

Page 20: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Wo können Sie vorhandene Vokabulare finden?

Folie 20

Refine the search results via the

faceted search f ilters.

2

1

3

http://lov.okfn.org/

http://joinup.ec.europa.eu/

Page 21: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Renommierte Vokabulare

Folie 21

Friend-of-a-Friend (FOAF) Vokabular um Personen zu beschreiben.

Core Person Vocabulary Vokabular um die grundlegenden Eigenschaften einer Person, z.B Name, Geschlecht, Geburtsdatum zu beschreiben.

DOAP Vokabular um Projekte zu beschreiben.

DCAT-AP Auf dem Data Catalogue Vocabulary (DCAT) basierendes Vokabular zur Beschreibung von Datensätzen des öffentlichen Sektors in Europa.

ADMS Vokabular um Interoperability Assets zu beschreiben.

Dublin Core Definiert allgemeine Metadatenattribute.

Registered Organisation Vocabulary Vokabular um Organisationen zu beschreiben, die sich in einem nationalen oder regionalen Register befinden.

Organization Ontology Vokabular zur Beschreibung von Organisationsstrukturen.

Core Location Vocabulary Vokabular, das die grundlegenden Eigenschaften eines Standortes beschreibt.

Core Public Service Vocabulary Vokabular, das die grundlegenden Eigenschaften eines Dienstes der öffentlichen Verwaltung beschreibt.

schema.org Anerkanntes Vokabular, um strukturierte Daten im Web zu veröffentlichen, das von Google, Yahoo und Microsoft entwickelt wurde.

Siehe auch: http://www.w3.org/wiki/TaskForces/CommunityProjects/LinkingOpenData/CommonVocabularies

Page 22: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Modellieren Sie Ihr eigenes Vokabular als ein RDF Schema

Wenn es kein geeignetes amtliches und wiederverwendbares Vokabular gibt, um Ihre Daten zu beschreiben, verwenden Sie Konventionen, um Ihr eigenes Vokabular zu beschreiben.

- RDF Schema (RDFS)

- Web Ontology Language (OWL)

Beispiel: Definition einer Klasse

Folie 22

cpsv:PublicService a rdfs:Class, owl:Class; rdfs:label "Public Service"@en; rdfs:comment "This class represents the service itself. As noted in the scope, a public service is the capacity to carry out a procedure and exists whether it is used or not. It is a set of deeds and acts performed by or on behalf of a public agency for the benefit of a citizen, a business or another public agency."@en.

Siehe auch: http://www.slideshare.net/OpenDataSupport/model-your-data-metadata

Page 23: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Einfürung in SPARQL Die RDF Query-Sprache

Folie 23

Page 24: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Über SPARQL

SPARQL ist die Standardsprache um Graphen-Daten abzufragen, die als RDF Triple verfasst wurden.

SPARQL Protocol And RDF Query Language

• Einer der drei Kernstandards des Semantic Web (zusammen mit RDF und OWL).

• Wurde im Januar 2008 zu einem W3C-Standard.

• SPARQL 1.1 befindet sich derzeit im „Arbeitsversion“ Status.

Folie 24

Page 25: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Arten von SPARQL Abfragen

• SELECT Gibt eine Tabelle aller X, Y, usw. an, die die folgenden Bedingungen erfüllen.

• CONSTRUCT Findet alle X, Y, usw., die die folgenden Bedingungen erfüllen und setzt sie in die folgende Schablone ein, um (möglicherweise neue) RDF Anweisungen zu generieren und eine neue Grafik zu erstellen.

• DESCRIBE Findet alle Anweisungen im Datensatz, die Information über die folgende(n) Quelle(n) liefern (identifiziert durch Name oder Beschreibung).

• ASK Gibt es irgendwelche X,Y, usw., die die folgenden Bedingungen erfüllen?

Folie25

Siehe auch: http://www.euclid-project.eu/modules/chapter2

Page 26: Einführung in RDF & SPARQL

DATASUPPORTOPEN

PREFIX rov: <http://www.w3.org/TR/vocab-regorg/> SELECT ?name WHERE { ?x rov:legalName ?name }

Struktur einer SPARQL Abfrage

Folie 26

Art der Anfrage

Variablen, d.h. was zu suchen ist.

RDF Triple Muster, also die Bedingungen, die erfüllt

werden müssen.

Definition von Präfixen

Page 27: Einführung in RDF & SPARQL

DATASUPPORTOPEN

SELECT – Ausgabe des Namens einer Organisation mit einem bestimmtem URI

Folie 27

PREFIX comp: < http://example/org/org/> PREFIX org: < http://www.w3.org/TR/vocab-regorg/ > PREFIX site: <http://example.org/site/> PREFIX rov: <http://www.w3.org/TR/vocab-regorg/> SELECT ?name WHERE { ?x org:hasRegisteredSite site:1234 . ?x rov:haslegalName ?name .}

name

“Nike”

comp:A rov:haslegalName “Nike” . comp:A org:hasRegisteredSite site:1234 . Comp:B rov:haslegalName “BARCO” . site:1234 locn:fullAddress “Dahliastraat 24, 2160 Wommelgem .

Beispieldaten

Abfrage

Ergebnis

Page 28: Einführung in RDF & SPARQL

DATASUPPORTOPEN

SELECT – Ausgabe des Namens und der Adresse von Organisationen

Folie 28

PREFIX org: < http://www.w3.org/TR/vocab-regorg/ > PREFIX locn:< http://www.w3.org/ns/locn#> PREFIC rov:<http://www.w3.org/TR/vocab-regorg/> SELECT ?name ?address WHERE { ?x org:hasRegisteredSite ?site. ?x rov:haslegalName ?name . ?site locn:fullAddress ?address . }

name address

“Niké” “Dahliastraat 24, 2160 Wommelgem”

comp:A rov:haslegalName “Niké” . comp:A org:hasRegisteredSite site:1234 . Comp:B rov:haslegalName “BARCO” . site:1234 locn:fullAddress “Dahliastraat 24, 2160 Wommelgem” .

Beispieldaten

Abfrage

Ergebnis

Page 29: Einführung in RDF & SPARQL

DATASUPPORTOPEN

SELECT – Ausgabe aller Bücher, die unter einem bestimmten Preis liegen (1/2)

Folie 29

@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 .

Beispieldaten

Page 30: Einführung in RDF & SPARQL

DATASUPPORTOPEN

SELECT – Ausgabe aller Bücher, die unter einem bestimmten Preis liegen (2/2)

Folie 30

PREFIX dc: <http://purl.org/dc/elements/1.1/> . PREFIX : <http://example.org/book/> . PREFIX ns: <http://example.org/ns#> . SELECT ?book ?title WHERE { ?book dc:title ?title . ?book ns:price ?price . FILTER ( ?price < 40 ) }

book title

:book2 “The Semantic Web”

Abfrage

Ergebnis

Page 31: Einführung in RDF & SPARQL

DATASUPPORTOPEN

CONSTRUCT – Erstellt einen neuen Graphen für den Vergleich mit einer anderen Marke

Folie 31

@prefix comp: <http://example/org/> . @prefix rdfs: <http://www.w3.org/TR/rdf-schema/> comp:a rdfs:label “Niké" . comp:b rdfs:label “BARCO" .

comp:A rov:haslegalName “Niké” . comp:A org:hasRegisteredSite site:1234 . comp:B rov:haslegalName “BARCO” . site:1234 locn:fullAddress “Dahliastraat 24, 2160 Wommelgem” . PREFIX comp: < http://example/org/org/> PREFIX org: < http://www.w3.org/TR/vocab-regorg/ > PREFIC rdfs: <http://www.w3.org/TR/rdf-schema/> CONSTRUCT {?comp rdfs:label ?name} WHERE { ?comp org:haslegalName ?name. }

Beispieldaten

Abfrage

Resultierender Graph

Page 32: Einführung in RDF & SPARQL

DATASUPPORTOPEN

DESCRIBE – Ausgabe aller Triples von Organisationen, die an einem bestimmten Ort registriert sind

Folie 32

PREFIX comp: <http://example/org/> PREFIX site: <http://example/site> PREFIX org: < http://www.w3.org/TR/vocab-regorg/ DESCRIBE ?organisation WHERE {?organisation org:hasRegisteredSite site:1234}

@prefix comp: <http://example/org/> . @prefix org: <http://www.w3.org/TR/vocab-regorg/> . comp:A has:legalName “Niké” . comp:A org:hasRegisteredSite site:1234 .

comp:A rov:haslegalName “Niké” . comp:A org:hasRegisteredSite site:1234 . comp:B rov:haslegalName “BARCO” . site:1234 locn:fullAddress “Dahliastraat 24, 2160 Wommelgem” .

Beispieldaten

Abfrage

Ergebnis

Page 33: Einführung in RDF & SPARQL

DATASUPPORTOPEN

DESCRIBE – Ausgabe aller Triples, die einer bestimmten Ressource (Organisation) zugeordnet sind

Folie 33

PREFIX comp: <http://example/org/> DESCRIBE comp:A

@prefix comp: <http://example/org/> . @prefix org: <http://www.w3.org/TR/vocab-regorg/> . comp:A rov:haslegalName “Niké” . comp:A org:hasRegisteredSite site:1234 .

comp:A rov:haslegalName “Niké” . comp:A org:hasRegisteredSite site:1234 . comp:B rov:haslegalName “BARCO” . site:1234 locn:fullAddress “Dahliastraat 24, 2160 Wommelgem” .

Beispieldaten

Abfrage

Ergebnis

Page 34: Einführung in RDF & SPARQL

DATASUPPORTOPEN

ASK – Gibt es Organisationen, deren eingetragener Standort “1234” ist?

Folie 34

PREFIX org: < http://www.w3.org/TR/vocab-regorg/ ASK WHERE {?organisation org:hasRegisteredSite site:1234}

TRUE

comp:A rov:haslegalName “Niké” . comp:A org:hasRegisteredSite site:1234 . comp:B rov:haslegalName “BARCO” . site:1234 locn:fullAddress “Dahliastraat 24, 2160 Wommelgem” .

Beispieldaten

Abfrage

Ergebnis

Page 35: Einführung in RDF & SPARQL

DATASUPPORTOPEN

ASK – Gibt es einen registrierten Standort für die Organisation “BARCO”?

Folie 35

PREFIX comp: <http://example/org/> PREFIX org: <http://www.w3.org/TR/vocab-regorg/> ASK WHERE {comp:B org:hasRegisteredSite ?site .}

FALSE

comp:A rov:haslegalName “Niké” . comp:A org:hasRegisteredSite site:1234 . comp:B rov:haslegalName “BARCO” . site:1234 locn:fullAddress “Dahliastraat 24, 2160 Wommelgem” .

Beispieldaten

Abfrage

Ergebnis

Page 36: Einführung in RDF & SPARQL

DATASUPPORTOPEN

SPARQL 1.1 Update

Einsetzbar für das...

• Hinzufügen von Daten (INSERT)

• Löschen von Daten (DELETE)

• Laden eines RDF Graphen (LOAD/LOAD .. INTO)

• Säubern eines RDF Graphen (CLEAR GRAPH)

• Erstellen von RDF Graphen (CREATE GRAPH)

• Entfernen von RDF Graphen (DROP GRAPH)

• Kopieren von RDF Graphen (COPY GRAPH ... TO GRAPH)

• Verschieben von RDF Graphen (MOVE GRAPH ... TO GRAPH)

• Hinzufügen von RDF Graphen (ADD GRAPH TO GRAPH)

Folie 36

Siehe auch: http://www.euclid-project.eu/modules/chapter2 http://www.w3.org/TR/sparql11-update/

Page 37: Einführung in RDF & SPARQL

DATASUPPORTOPEN

INSERT – Hinzufügen einer registrierten Seite für “BARCO”

Slide 37

comp:A rov:haslegalName “Niké” . comp:A org:hasRegisteredSite site:1234 . comp:B rov:haslegalName “BARCO” . site:1234 locn:fullAddress “Dahliastraat 24, 2160 Wommelgem” .

Beispieldaten

comp:A rov:haslegalName “Niké” . comp:A org:hasRegisteredSite site:1234 . comp:B rov:haslegalName “BARCO” . comp:B org:hasRegisteredSite site:5678 . site:1234 locn:fullAddress “Dahliastraat 24, 2160 Wommelgem” . site:5678 locn:fullAddress “President Kennedypark 35, 8500 Kortrijk“ .

PREFIX comp: <http://example/org/> PREFIX org: <http://www.w3.org/TR/vocab-regorg/> INSERT DATA { site:5678 locn:fullAddress “President Kennedypark 35, 8500 Kortrijk“ . comp:B org:hasRegisteredSite site:5678 . }

Abfrage

Ergebnis

Page 38: Einführung in RDF & SPARQL

DATASUPPORTOPEN

INSERT/DELETE – Ändern der Addresse für “Niké”

Slide 38

comp:A rov:haslegalName “Niké” . comp:A org:hasRegisteredSite site:1234 . comp:B rov:haslegalName “BARCO” . site:1234 locn:fullAddress “Dahliastraat 24, 2160 Wommelgem” .

Beispieldaten

PREFIX comp: <http://example/org/> PREFIX org: <http://www.w3.org/TR/vocab-regorg/> DELETE DATA { comp:A org:hasRegisteredSite site:1234 . } INSERT DATA { site:5678 locn:fullAddress “Rue de Loi 34, 1000 Bruxelles“ . comp:A org:hasRegisteredSite site:5678 . }

Abfrage

comp:A rov:haslegalName “Niké” . comp:A org:hasRegisteredSite site:1000. site:1234 locn:fullAddress “Dahliastraat 24, 2160 Wommelgem” . site:1000 locn:fullAddress “Rue de Loi 34, 1000 Bruxelles“ .

Ergebnis

Page 39: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Schlussfolgerungen

• RDF ist generell eine Möglichkeit, Daten auszudrücken, die für die Veröffentlichung im Internet vorgesehen sind.

• RDF Daten werden in Triples ausgedrückt: Subjekt, Prädikat, Objekt.

• Es existieren verschiedene Syntaxen, um Daten in RDF auszudrücken.

• SPARQL ist eine standardisierte Sprache, um Graph-Daten abzufragen, die als RDF ausgedrückt werden.

• SPARQL kann verwendet werden, um RDF Daten abzufragen und zu aktualisieren.

Folie 39

Page 40: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Vielen Dank! ... Und jetzt IHRE Fragen?

Folie 40

Machen Sie auch den Online-Test!

Page 41: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Referenzen

Folie 6:

• Semantic Web Stack. W3C. http://www.w3.org/DesignIssues/diagrams/sweb-stack/2006a.png

Folien 18 & 20:

• Linked Data Cookbook. W3C. http://www.w3.org/2011/gld/wiki/Linked_Data_Cookbook

Folie 21:

• Cookbook for translating data models to RDF schemas. ISA Programme. https://joinup.ec.europa.eu/community/semic/document/cookbook-translating-data-models-rdf-schemas

Folie 22:

• Common Vocabularies / Ontologies / Micromodels. W3C. http://www.w3.org/wiki/TaskForces/CommunityProjects/LinkingOpenData/CommonVocabularies

Folien 23-24:

• SPARQL Query Language for RDF. W3C. http://www.w3.org/TR/rdf-sparql-query/

Folie 24:

• Module 2: Querying Linked Data. EUCLID. http://www.euclid-project.eu/modules/course2

Folie 35:

• Module 2: Querying Linked Data. EUCLID. http://www.euclid-project.eu/modules/course2

• SPARQL 1.1 Update. W3C.. http://www.w3.org/TR/sparql11-update/

Folie 41

Page 42: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Weiterführende Literatur

Learning SPARQL. Bob DuCharme.

http://www.learningsparql.com/

Semantic Web for the working ontologist. Dean Allemang, Jim Hendler.

http://workingontologist.org/

EUCLID - Course 2: Querying Linked Data

http://www.euclid-project.eu/modules/course2

Folie 42

Page 43: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Verwandte Projekte und Initiativen

Joinup, https://joinup.ec.europa.eu/

Linked Open Vocabularies, http://okfn.org/

W3C GLD WG, http://www.w3.org/2011/gld/wiki/Main_Page W3C Schools – Learn RDF http://www.w3schools.com/rdf/default.asp

EUCLID, http://euclid-project.eu/

TopBraid Composer

Protégé Ontology Editor , http://protege.stanford.edu/

XML Summer School http://xmlsummerschool.com/

Folie 43

Page 44: Einführung in RDF & SPARQL

DATASUPPORTOPEN

Werden Sie Teil unseres Teams...

Folie 44

Besuchen Sie uns

Kontaktieren Sie uns

Lernen Sie uns kennen

Folgen Sie uns

Open Data Support http://www.slideshare.net/OpenDataSupport

http://www.opendatasupport.eu Open Data Support http://goo.gl/y9ZZI

@OpenDataSupport [email protected]