0% found this document useful (0 votes)
86 views39 pages

Tordf& Sparql: Training Module 1.3

rdf spalkle univorn

Uploaded by

Mohd Faiz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views39 pages

Tordf& Sparql: Training Module 1.3

rdf spalkle univorn

Uploaded by

Mohd Faiz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 39

Training Module 1.

Introduction
to RDF &
SPARQL

PwC firms help organisations and individuals create the value they’re looking for. We’re a network of firms in 158 countries with close to 180,000 people who are committed to
delivering quality in assurance, tax and advisory services. Tell us what matters to you and find out more by visiting us at www.pwc.com.
PwC refers to the PwC network and/or one or more of its member firms, each of which is a separate legal entity. Please see www.pwc.com/structure for further details.
This presentation has been created by PwC

Authors:
Michiel De Keyzer, Nikolaos Loutas and Stijn
Goedertier
Presentation
metadata Disclaimers
1.The views expressed in this presentation are purely those of the authors and may not, in any
circumstances, be interpreted as stating an official position of the European Commission.
The European Commission does not guarantee the accuracy of the information included in this
Open Data Support is funded by presentation, nor does it accept any responsibility for any use thereof.
the European Commission Reference herein to any specific products, specifications, process, or service by trade name,
under SMART 2012/0107 ‘Lot trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement,
2: Provision of services for the recommendation, or favouring by the European Commission.
Publication, Access and Reuse of All care has been taken by the author to ensure that s/he has obtained, where necessary,
Open Public Data across the permission to use any parts of manuscripts including illustrations, maps, and graphs, on which
intellectual property rights already exist from the titular holder(s) of such rights or from her/his
European Union, through
or their legal representative.
existing open data
portals’(Contract No. 30-CE- 2.This presentation has been carefully compiled by PwC, but no representation is made or
0530965/00-17). warranty given (either express or implied) as to the completeness or accuracy of the information it
contains. PwC is not liable for the information in this presentation or any decision or consequence
based on the use of it.. PwC will not be liable for any damages arising from the use of the
© 2014 European Commission
information contained in this presentation. The information contained in this presentation is of a
general nature and is solely for guidance on matters of general interest. This presentation is not a
substitute for professional advice on any particular matter. No reader should act on the basis of
any matter contained in this publication without considering appropriate professional advice.

Slide 2
Learning objectives

By the end of this training module you should have an understanding


of:
•The Resource Description Framework (RDF);
•How to write/read RDF;
•How you can describe your data with RDF;
•What SPARQL is;
•The different types of SPARQL queries;
•How to write a SPARQL query.

Slide 3
Content

This module contains ...


• An introduction to the Resource Description Framework (RDF) for
describing your data.
- What is RDF?
- How is it structured?
- How to represent your data in RDF.
• An introduction to SPARQL on how you can query and manipulate
data in RDF.
• Pointers to further reading, examples and exercises.

Find more on: training.opendatasupport.eu

Slide 4
Resource
Description
Framework
An introduction on RDF.

Slide 5
RDF in the stack of Semantic Web technologies

•RDF stands for:


- Resource: Everything that can have
a unique identifier (URI), e.g. pages,
places, people, dogs, products...
- Description: attributes, features,
and relations of the resources
- Framework: model, languages and
syntaxes for these descriptions
• RDF was published as a W3C
recommendation in 1999.
• RDF was originally introduced as a data
model for metadata.
• RDF was generalised to cover
knowledge of all kinds.

Slide 6
Where can I find the RDF Specification

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

Slide 7
Example: RDF description of an organisation

Publications Office, 2, rue Mercier, 2985 Luxembourg, LUXEMBOURG

<rdf:RDF
<rdf:RDF
xmlns:rdfs=“http://www.w3.org/2000/01/rdf-schema#”
xmlns:rdfs=“http://www.w3.org/2000/01/rdf-schema#”
xmlns:org=“http://www.w3.org/ns/org#”
xmlns:org=“http://www.w3.org/ns/org#”
xmlns:locn=“http://www.w3.org/ns/locn#”
xmlns:locn=“http://www.w3.org/ns/locn#” >
>

<org:Organization
<org:Organization rdf:about=“http://publications.europa.eu/resource/authority/corporate-
rdf:about=“http://publications.europa.eu/resource/authority/corporate-
body/PUBL”>
body/PUBL”>
<rdfs:label>
<rdfs:label> “Publications
“Publications Office”<
Office”< /rdfs:label>
/rdfs:label>
<org:hasSite
<org:hasSite rdf:resource=“http://example.com/site/1234”/>
rdf:resource=“http://example.com/site/1234”/>
</org:Organization>
</org:Organization>

<locn:Address
<locn:Address rdf:about=“http://example.com/site/1234”/>
rdf:about=“http://example.com/site/1234”/>
<locn:fullAddress>”2,
<locn:fullAddress>”2, rue
rue Mercier,
Mercier, 2985
2985 Luxembourg,
Luxembourg, LUXEMBOURG”</locn:fullAddress>
LUXEMBOURG”</locn:fullAddress>
</locn:Address>
</locn:Address>

</rdf:RDF>
</rdf:RDF>

Slide 8
RDF structure
Triples, graphs and syntax.

Slide 9
What is a triple?

RDF is a general syntax for representing data on the Web.

Every piece of information expressed in RDF is represented as a triple:


•Subject – a resource, which may be identified with a URI.
•Predicate – a URI-identified reused specification of the relationship.
•Object – a resource or literal to which the subject is related.

Example: name of a dataset:

http://publications.europa.eu/resource/authority/file-type/ has a title “File types Name Authority List”.

Subject Predicate Object

Slide 10
RDF is graph based

Graph = Publications
Publications Office
Office

A collection of triples has a name

http://open-
http://open-
data.europa.eu/en/data/publisher/publ
data.europa.eu/en/data/publisher/publ

has a publisher

http://publications.europa.eu/resource/a
http://publications.europa.eu/resource/a
uthority/file-type/
uthority/file-type/

has a title

File
File types
types Name
Name Authority
Authority List
List

Slide 11
RDF Syntax
RDF/XML
<rdf:RDF

xmlns:dcat=“http://www.w3.org/TR/vocab-dcat/“ Definition of prefixes


xmlns:dct=“http://purl.org/dc/terms/”

<dcat:Dataset rdf:about=“http://publications.europa.eu/resource/authority/file-type/”>
<dct:title> “File types Name Authority List”< /dct:title>

Graph
<dct:publisher rdf:resource=“http://open-data.europa.eu/en/data/publisher/publ”/>
</dcat:Dataset>

<dct:Agent rdf:about=“http://open-data.europa.eu/en/data/publisher/publ”/>
<dct:title>”Publications Office”</dct:title>
</dct:Publisher>

</rdf:RDF> Description of data – triples

Subject RDF/XML is currently the only syntax that is


standardised by W3C.
Predicate

Object
Slide 12
RDF Syntax
Turtle

@prefix dcat: <http://www.w3.org/TR/vocab-dcat/> . Definition of prefixes


@prefix dct: <http://purl.org/dc/terms/.

< http://publications.europa.eu/resource/authority/file-type/>
a <dcat:Dataset> ;

Graph
dct:title “File types Name Authority List“;
dct:publisher <http://open-data.europa.eu/en/data/publisher/publ> .

<http://open-data.europa.eu/en/data/publisher/publ>
a <dct:Agent> ; Description of data – triples
dct:title “Publications Office” .

Subject Turtle will be


standardised in RDF 1.1.
Predicate

Object
See
Seealso:
also:
http://www.w3.org/2009/12/rdf-ws/papers/ws11
http://www.w3.org/2009/12/rdf-ws/papers/ws11
Slide 13
RDF Syntax
RDFa

<html> embedding RDF data in HTML


<head> ... </head>
<body>
...
<div resource=“http://publications.europa.eu/resource/authority/file-type/”
typeof= “http://www.w3.org/ns/dcat#Dataset”>
<p>
<span property=" http://purl.org/dc/terms/title ">File types Name Authority List<span>
Publisher: <span property="http://purl.org/dc/terms/Agent"> Publications Office</span>
</p></div>
</body>

Subject

Predicate

Object
See
Seealso:
also:
http://www.w3.org/TR/2012/NOTE-rdfa-primer-20120607/
http://www.w3.org/TR/2012/NOTE-rdfa-primer-20120607/
Slide 14
How to
represent data
in RDF
Classes, properties and vocabularies

Slide 15
RDF Vocabulary

“A vocabulary is a data model comprising classes, properties and


relationships which can be used for describing your data and
metadata.”

•RDF Vocabularies are sets of terms used to describe things.


•A term is either a class or a property.
 Object type properties (relationships)
 Data type properties (attributes)

Slide 16
What are classes, relationships and properties?

• Class. A construct that represents things in the real and/or


information world, e.g. a person, an organisation, a concepts such as
“health” or “freedom”.
• Relationship. A link between two classes; for the link between a
document and the organisation that published it (i.e. organisation
publishes document), or the link between a map and the geographic
region it depicts (i.e. map depicts geographic region). In RDF
relationships are encoded as object type properties.
• Property. A characteristic of a class in a particular dimension such
as the legal name of an organisation or the date and time that an
observation was made.

Slide 17
Examples of classes, relationships and properties
Class

Dataset Agent

a Relationshi
a
p
publisher
http://.../authority/fil
http://.../publisher/publ
e-type/
Property

title title

“Publications Office”
“File types Name Authority List”

Slide 18
Reusing RDF vocabularies

• Reuse greatly aids interoperability of your data.


Use of dcterms:created, for example, the value for which should be a data typed date
such as 2013-02-21^^xsd:date, is immediately processable by many machines. If
your schema encourages data publishers to use a different term and date format,
such as ex:date "21 February 2013" – data published using your schema will require
further processing to make it the same as everyone else's.
• Reuse adds credibility to your schema.
It shows it has been published with care and professionalism, again, this promotes its
reuse.
• Reuse is easier and cheaper.
Reusing classes and properties from well defined and properly hosted vocabularies
avoids your having to replicate that effort.

See
Seealso:
also:
https://joinup.ec.europa.eu/community/semic/document/cookbook-transl
https://joinup.ec.europa.eu/community/semic/document/cookbook-transl
ating-data-models-rdf-schemas
ating-data-models-rdf-schemas
http://www.slideshare.net/OpenDataSupport/model-your-data-metadata
http://www.slideshare.net/OpenDataSupport/model-your-data-metadata

Slide 19
Where can I find existing vocabularies?
http://joinup.ec.europa.eu/

Slide 20
See
Seealso:
also:
http://www.w3.org/wiki/TaskForces/CommunityPro
http://www.w3.org/wiki/TaskForces/CommunityPro
jects/LinkingOpenData/CommonVocabularies
jects/LinkingOpenData/CommonVocabularies

Well-known vocabularies
DCAT-AP Vocabulary for describing datasets in Europe
Vocabulary to describe the fundamental characteristics of
Core Person Vocabulary
a person, e.g. the name, the gender, the date of birth...
DOAP Vocabulary for describing projects

ADMS Vocabulary for describing interoperability assets.

Dublin Core Defines general metadata attributes


Vocabulary for describing organizations, typically in a
Registered Organisation Vocabulary
national or regional register
Organization Ontology for describing the structure of organizations
Vocabulary capturing the fundamental characteristics of a
Core Location Vocabulary
location.
Vocabulary capturing the fundamental characteristics of a
Core Public Service Vocabulary
service offered by public administration
Agreed vocabularies for publishing structured data on the
schema.org
Web elaborated by Google, Yahoo and Microsoft

Slide 21
Model your own vocabulary as an RDF Schema

If there is no suitable authoritative reusable vocabulary for describing


your data, use conventions for describing your own vocabulary:
- RDF Schema (RDFS)
- Web Ontology Language (OWL)

Example: definition of a class :


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

See
Seealso:
also:
http://www.slideshare.net/OpenDataSupport/model-your-
http://www.slideshare.net/OpenDataSupport/model-your-
data-metadata
data-metadata
Slide 22
Introduction to
SPARQL
The RDF Query Language

Slide 23
About SPARQL

SPARQL is the standard language to query graph data represented as


RDF triples.

•SPARQL Protocol and RDF Query Language


• One of the three core standards of the Semantic Web, along with RDF
and OWL.
•Became a W3C standard January 2008.
•SPARQL 1.1 is a W3C Recommendation since March 2013.

Slide 24
Types of SPARQL queries

• SELECT
Return a table of all X, Y, etc. satisfying the following conditions ...
• CONSTRUCT
Find all X, Y, etc. satisfying the following conditions ... and substitute
them into the following template in order to generate (possibly new)
RDF statements, creating a new graph.
• DESCRIBE
Find all statements in the dataset that provide information about the
following resource(s) ... (identified by name or description)
• ASK
Are there any X, Y, etc. satisfying the following conditions ...

See
Seealso:
also:
http://www.euclid-project.eu/modules/chapter2
http://www.euclid-project.eu/modules/chapter2

Slide 25
Structure of a SPARQL Query

PREFIX dct: http://purl.org/dc/terms/


PREFIX dcat: http://www.w3.org/TR/vocab-dcat/
Definition
of prefixes
Type of SELECT ?title
query WHERE Variables, i.e. what to search for
{
?x rdf:type dcat:Dataset .
?dataset rdf:title ?title
} RDF triple patterns,
i.e. the conditions
that have to be
met

Slide 26
SELECT – return the name of a dataset with
particular URI
Sample data
<http://.../authority/file-type/>
<http://.../authority/file-type/> rdf:type
rdf:type dcat:Dataset.
dcat:Dataset.
<http://.../authority/file-type/>
<http://.../authority/file-type/> dct:title “File types
dct:title “File types Name
Name Authority
Authority List“
List“ ..
<http://.../authority/file-type/>
<http://.../authority/file-type/> dct:publisher
dct:publisher << http://open-data.europa.eu/en/data/publisher/publ>.
http://open-data.europa.eu/en/data/publisher/publ>.

<< http://.../publisher/publ>
http://.../publisher/publ> rdf:type
rdf:type dct:Agent
dct:Agent ..
<< http://.../publisher/publ>
http://.../publisher/publ> dct:title
dct:title “Publications
“Publications Office”
Office” ..

Query
PREFIX
PREFIX dcat:
dcat: <http://www.w3.org/TR/vocab-dcat/>
<http://www.w3.org/TR/vocab-dcat/>
PREFIX
PREFIX dct:
dct: <http://purl.org/dc/terms/>
<http://purl.org/dc/terms/>

SELECT
SELECT ?dataset
?dataset

WHERE
WHERE
{{
<http://.../authority/file-type/>
<http://.../authority/file-type/> org:hasRegisteredSite
org:hasRegisteredSite ?dataset
?dataset ..
}}

Result
name

“File types Name Authority List”

Slide 27
SELECT - return the name and publisher of a
dataset
Sample data
<http://.../authority/file-type/>
<http://.../authority/file-type/> rdf:type
rdf:type dcat:Dataset.
dcat:Dataset.
<http://.../authority/file-type/>
<http://.../authority/file-type/> dct:title
dct:title “File
“File types
types Name
Name Authority
Authority List“
List“ ..
<http://.../authority/file-type/>
<http://.../authority/file-type/> dct:publisher
dct:publisher << http://open-data.europa.eu/en/data/publisher/publ>.
http://open-data.europa.eu/en/data/publisher/publ>.

<< http://.../publisher/publ>
http://.../publisher/publ> rdf:type
rdf:type dct:Agent
dct:Agent ..
<< http://.../publisher/publ>
http://.../publisher/publ> dct:title “Publications Office”
dct:title “Publications Office” ..

Query
PREFIX
PREFIX dcat:
dcat: <http://www.w3.org/TR/vocab-dcat/>
<http://www.w3.org/TR/vocab-dcat/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dct: <http://purl.org/dc/terms/>

SELECT
SELECT ?dataset
?dataset ?publisher
?publisher

WHERE
WHERE
{http://.../authority/file-type/
{http://.../authority/file-type/ dct:publisher
dct:publisher ?publisherURI.
?publisherURI.
http://.../authority/file-type/
http://.../authority/file-type/ dct:title
dct:title ?dataset.
?dataset.
?publisherURI
?publisherURI dct:title
dct:title ?publisher
?publisher .. }}

Result
dataset pubisher
“File types Name Authority List” “Dahliastraat 24, 2160 Wommelgem”

Slide 28
SPARQL Example – EU ODP (1)

Slide 29
SPARQL Example – EU ODP (2)

Slide 30
SPARQL Example – EU ODP (2)

Slide 31
SPARQL Update

Can be used for...


•Adding data (INSERT)
•Deleting data (DELETE)
•Loading RDF Graph (LOAD / LOAD .. INTO)
•Clearing an RDF Graph (CLEAR GRAPH)
•Creating RDF Graphs (CREATE GRAPH)
•Removing RDF Graphs (DROP GRAPH)
•Copying RDF Graphs (COPY GRAPH ... TO GRAPH)
•Moving RDF Graphs (MOVE GRAPH ... TO GRAPH)
•Adding RDF Graphs (ADD GRAPH TO GRAPH)

See
Seealso:
also:
http://www.euclid-project.eu/modules/chapter2
http://www.euclid-project.eu/modules/chapter2
http://www.w3.org/TR/sparql11-update/
http://www.w3.org/TR/sparql11-update/
Slide 32
Summary

• RDF is a general way to express data intended for publishing on the


Web.
•RDF data is expressed in triples: subject, predicate, object.
•Different syntaxes exist for expressing data in RDF.
• SPARQL is a standardised language to query graph data expressed
as RDF.
•SPARQL can be used to query and update RDF data.

Slide 33
Group questions

Go to the SPARQL end-point of the EU Open Data Portal and


http://www.visualpharm.com
(1) Query for all the publishers
(2) Query for the number of datasets per publisher
(3) Query for all the datasets of DG SANCO

https://open-data.europa.eu/en/linked-data

Slide 34
Thank you!
...and now YOUR
questions?

Slide 35
References

• Semantic Web Stack. W3C. • Module 2: Querying Linked Data. EUCLID.


http://www.w3.org/DesignIssues/diagrams/sweb-stack/2006a.png http://www.euclid-project.eu/modules/course2

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

• Linked Data Cookbook. W3C.


http://www.w3.org/2011/gld/wiki/Linked_Data_Cookbook

• Cookbook for translating data models to RDF schemas. ISA Programme.


https://joinup.ec.europa.eu/community/semic/document/cookbook-translating-
data-models-rdf-schemas

• Common Vocabularies / Ontologies / Micromodels. W3C.


http://www.w3.org/wiki/TaskForces/CommunityProjects/LinkingOpenData/Co
mmonVocabularies

• SPARQL Query Language for RDF. W3C.


http://www.w3.org/TR/rdf-sparql-query/

• Module 2: Querying Linked Data. EUCLID.


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

Slide 36
Further reading

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

Slide 37
Related projects and initiatives

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/

Slide 38
Be part of our team...

Find us on Join us on
Open Data Support
http://www.slideshare.net/OpenDataSupport

Open Data Support http://www.opendatasupport.eu


http://goo.gl/y9ZZI

Follow us Contact us
@OpenDataSupport contact@opendatasupport.eu

Slide 39

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy