2. Outline
Digital Enterprise Research Institute www.deri.ie
Content
Motivation
What is the Web of Data?
Creating Structured Data
Discovery, Accessing & Querying
Mash-ups & Advanced Topics
2
3. Speakers introduction
Digital Enterprise Research Institute www.deri.ie
Alexandre Passant
Postdoctoral researcher, DERI Galway
Social Software and Semantic Web
http://apassant.net
Michael Hausenblas
Postdoctoral researcher, DERI Galway
Large-scale Data/Linked Data and Multimedia
http://sw-app.org
3
4. What is this tutorial about
Digital Enterprise Research Institute www.deri.ie
What you will learn
Web of Data principles
Finding and creating structured data
Ontologies and lightweight inference
Storing and querying RDF data with SPARQL
User interfaces and mash-ups for the Web of Data
What you will not
Ontology mapping and alignment
Advanced rules languages
Complex SPARQL querying
4
5. What you should be able to do after this
tutorial
Digital Enterprise Research Institute www.deri.ie
Explain the Web of Data to your CTO / Students /
Advisor / Grandmother
Spread the values of the Web of Data
Publish Linked Data
And participate in the Linking Open Data community effort
to expand the network effort of the Web of Data
Build applications for the Web of Data
Using open-source and xAMP technologies
Creating, consuming and mashing-up RDF data
5
6. Outline
Digital Enterprise Research Institute www.deri.ie
Content
Motivation
What is the Web of Data?
Creating Structured Data
Discovery, Accessing & Querying
Mash-ups & Advanced Topics
6
9. Motivation
Digital Enterprise Research Institute www.deri.ie
More and more data is available on the Web
Structured data, in RDF, microformats, etc.
Up to now people would develop against
proprietary APIs (such as from Flickr, Google, etc.)
Loss of time for developers
The Web of Data …
Provides a uniform data model (RDF)
Provides a uniform API for accessing data (RDF/SPARQL)
Provide common semantics for this data (RDFS/OWL)
Is a scalable platform for data integration and mash-up
Enables serendipitous usage of data
9
10. Outline
Digital Enterprise Research Institute www.deri.ie
Content
Motivation
What is the Web of Data?
Creating Structured Data
Discovery, Accessing & Querying
Mash-ups & Advanced Topics
10
11. What is the Web of Data?
Digital Enterprise Research Institute www.deri.ie
In contrast to the full-fledged Semantic Web vision,
the Web of Data is about publishing structured
data in RDF using URIs rather than focusing on the
ontological level or inference.
This simplification (just as the Web simplified the
established academic approaches of Hypertext
systems) lowers the entry barrier for data providers
and consumers, hence fosters a wide-spread
adoption and real-world impact.
11
12. What is the Web of Data?
Digital Enterprise Research Institute www.deri.ie
12
13. What is the Web of Data?
Digital Enterprise Research Institute www.deri.ie
Linked data principles, by Tim Berners-Lee, ca.
2006
Use URIs to identify things (anything, not just documents)
Use HTTP URIs – globally unique names, distributed
ownership – allows people to look up things
Provide useful information in RDF – when someone looks
up a URI
Include RDF links to other URIs – to enable discovery of
related information
13
14. What is the Web of Data?
Digital Enterprise Research Institute www.deri.ie
Ongoing work
Description/discovery
– semantic sitemaps, see
http://sw.deri.org/2007/07/sitemapextension/
– voiD, see http://semanticweb.org/wiki/VoiD
Trust (SPOT09 at ESWC09 for example)
Multimedia/Fragments, see
http://www.interlinkingmultimedia.info/
Foundational issues in TAG/AWWSW
Transforming the read-only Web of Data into a read/write
Web of Data, see for example
http://esw.w3.org/topic/PushBackDataToLegacySources
14
15. What is the Web of Data? - URIs
Digital Enterprise Research Institute www.deri.ie
Architecture of the World Wide Web, vol. 1
http://www.w3.org/TR/webarch/
“To benefit from and increase the value of the World Wide
Web, agents should provide URIs as identifiers for
resources”
URIs are used to identifying anything that can be
represented on the Web: pages but also people,
cities, interests …
But people are not documents !
15
16. What is the Web of Data? - URIs
Digital Enterprise Research Institute www.deri.ie
A Uniform Resource Identifier (URI) is a compact
sequence of characters that identifies an abstract
or physical resource as of RFC3986
Syntax
URI = scheme quot;:quot; hier-part [ quot;?quot; query ] [ quot;#quot; fragment ]
Example
foo://example.com:8042/over/there?name=ferret#nose
_/ _________________/_________/ __________/ __/
| | | | |
scheme authority path query fragment
16
17. What is the Web of Data? - URIs
Digital Enterprise Research Institute www.deri.ie
Don’t confuse scheme with protocol
Scheme: defines URI layout and (certain) semantics; go and
register with IANA using RFC4395
Protocol: defines communication means between
endpoints (such as HTTP, FTP, etc.)
URI resolution (as of RFC3986)
STEP OUTPUT BUFFER INPUT BUFFER
1: /a/b/c/./../../g
2E: /a /b/c/./../../g
2E: /a/b /c/./../../g
2E: /a/b/c /./../../g
2B: /a/b/c /../../g
2C: /a/b /../g
2C: /a /g
2E: /a/g
17
18. What is the Web of Data? - URIs
Digital Enterprise Research Institute www.deri.ie
URIrefs, URI references
An RDF URI reference is a Unicode string does not contain
any control characters (#x00 - #x1F, #x7F-#x9F) and would
produce a valid URI character sequence representing an
absolute URI when subjected to an UTF-8 encoding along
with %-escaping non-US-ASCII octets.
QNames, Qualified Names (see XML Namespaces)
XML’s way to allow namespaced elements/attributes as of
QName = Prefix ‘:‘ LocalPart
CURIEs, Compact URIs
Generic, abbreviated syntax for expressing URIs, currently
in SPARQL, RDFa, and XHTML2 deployed
18
19. What is the Web of Data? - HTTP
Digital Enterprise Research Institute www.deri.ie
The Hypertext Transfer Protocol (HTTP) is an
application-level protocol for distributed,
collaborative, hypermedia information systems. It is
a generic, stateless, protocol which can be used
for many tasks beyond its use for hypertext, such
as name servers and distributed object
management systems, through extension of its
request methods, error codes and headers. A
feature of HTTP is the typing and negotiation of
data representation, allowing systems to be built
independently of the data being transferred.
[RFC2616]
19
20. What is the Web of Data? - HTTP
Digital Enterprise Research Institute www.deri.ie
HTTP messages consist of requests from client to
server and responses from server to client
Set of methods is predefined (such as GET, POST,
etc.), but can be expanded
Set of status codes is defined
Informational 1xx, provisional response, (100 Continue)
Successful 2xx, request successfully received, understood, and
accepted (201 Created)
Redirection 3xx, further action needs to be taken by user agent
to fulfill the request (301 Moved Permanently)
Client Error 4xx, client erred (405 Method Not Allowed)
Server Error 5xx, server encountered an unexpected condition
(501 Not Implemented)
20
21. What is the Web of Data? - HTTP
Digital Enterprise Research Institute www.deri.ie
GET /html/rfc2616 HTTP/1.1
REQUEST
Host: tools.ietf.org
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml
+xml,application/xml;q=0.9,*/*;q=0.8
RESPONSE
HTTP/1.x 200 OK
Date: Thu, 05 Mar 2009 08:17:33 GMT
Server: Apache/2.2.11
Content-Location: rfc2616.html
Last-Modified: Tue, 20 Jan 2009 09:16:04 GMT
Content-Type: text/html; charset=UTF-8
21
22. What is the Web of Data? - HTTP
Digital Enterprise Research Institute www.deri.ie
Content Negotiation (CN, conneg) is the process of
selecting the best representation for a given
response when there are multiple representations
available
Three types of CN: server-driven, agent-driven CN,
transparent CN
Example
curl -I -H quot;Accept: application/rdf+xmlquot; http://dbpedia.org/resource/Galway
HTTP/1.1 303 See Other
Content-Type: application/rdf+xml
Location: http://dbpedia.org/data/Galway.rdf
22
23. What is the Web of Data? - HTTP
Digital Enterprise Research Institute www.deri.ie
Caching (see Cache–Control header field) is
essential for scalability
HTTPbis, IETF WG chaired by Mark Nottingham,
mainly about: patches, clarifications, deprecate
non-used features, documentation of security
properties
23
24. What is the Web of Data? - HTTP
Digital Enterprise Research Institute www.deri.ie
Representational State Transfer
resource the intended conceptual target of a hypertext
reference
resource identifier URL, URN
representation HTML document, JPEG image
representation media type, last-modified time
metadata
resource source link, alternates, vary
metadata
control data if-modified-since, cache-control
24
25. What is the Web of Data? - RDF
Digital Enterprise Research Institute www.deri.ie
As of RDF abstract syntax, a data model: a directed,
labeled graph based on URIs
RDF is not XML !
RDF/XML is only one of the multiple way to serialize RDF
data (N3, RDFa …)
Triple: (subject predicate object)
subject … URIref or bNode
predicate … URIref
object … URIref or bNode or literal
<http://sw-app.org/#i> <http://xmlns.com/foaf/0.1/knows>
<http://apassant.net/alex>.
25
26. What is the Web of Data? - RDF
Digital Enterprise Research Institute www.deri.ie
26
27. What is the Web of Data? - Ontologies
Digital Enterprise Research Institute www.deri.ie
Ontologies provide common semantics for the Web
of Data
“An ontology is a specification of a conceptualization.”
Main languages are RDFS and OWL
This tutorial will mainly focus on RDFS
OWL allows advanced axioms (contraints, unions …)
Classes and properties
:Person a rdfs:Class
:father a rdfs:Property
:father rdfs:domain :Person
:father rdfs:range :Person
27 of XYZ
28. What is the Web of Data? - Ontologies
Digital Enterprise Research Institute www.deri.ie
Hierarchies in ontologies
Are needed to define narrower / broader concepts
:LivingThing > :Person
Can be applied to both classes and properties
:Person rdfs:subClassOf :LivingThing
:father rdfs:subPropertyOf :familyRelation
Inference engines can take advantage of it to create
new facts
Can be used when querying information
Retrieve all :LivingThing instances with a :familyRelation
– Will get :Person and :father
28 of XYZ
29. What is the Web of Data? – Open World
Digital Enterprise Research Institute www.deri.ie
The Open World Assumption
Might be complex to understand when coming from a
RDBMS or OOP background
If a fact is not there, it does not means it is false
Bob’s father is Paul. Is Jim Paul’s father ?
– Cannot be answered unless there are some cardinality
constraints in the ontology (in OWL), e.g. a Person has only 1
father.
Is John a speaker in this tutorial ?
– Cannot be answered
Bob’s daughters are Alice and June. Has Bob 3 daughters ?
– Cannot be answered
29 of XYZ
30. What is the Web of Data? – Open World
Digital Enterprise Research Institute www.deri.ie
Domain and range of properties are descriptive, not
prescriptive
:father rdfs:domain :Person
Does not mean that only pre-defined instances of :Person
can be linked to other via a :father relationship, but that
each instance linked to another via :father becomes
instantaneously a foaf:Person
– Based on RDF semantics (Rule rdfs2)
– http://www.w3.org/TR/rdf-mt/
Once again, constraints are needed to check integrity of a
model and a knowledge base
– E.g. to check that inferred statements are not contradictory
with OWL axioms such as owl:disjoinwWith
30 of XYZ
31. What is the Web of Data? - Overview
Digital Enterprise Research Institute www.deri.ie
Web's Standard Retrieval Algorithm as of [SDD]:
1. parse URI and find HTTP protocol
2. look up DNS name to determine the
associated IP address
3. open a TCP stream to port 80 at the IP
address determined above
4. format an HTTP GET request for resource
and sends that to the server
5. read response from the server
6. from the status code (200) determine that a
representation of the resource is available
7. inspect the returned Content-Type
8. pass the entity-body to its HTML rendering
engine
31
33. What is the Web of Data? - Overview
Digital Enterprise Research Institute www.deri.ie
33
34. What is the Web of Data? - Overview
Digital Enterprise Research Institute www.deri.ie
34
35. Applications for the Web of Data
Digital Enterprise Research Institute www.deri.ie
Towards a reference architecture for Semantic Web applications.
Heitmann et al. (WebSci09 – http://journal.webscience.org/199/)
35 of XYZ
36. Linking Open Data Project
Digital Enterprise Research Institute www.deri.ie
Community project with W3C support started in
early 2007 [LOD]
Idea: take existing (open) data sets and make
them available on the Web in RDF
Interlink them with other data sets
Kudos to Tom Heath and Richard Cyganiak;
the material in this section is heavily based on
their work.
36
37. Linking Open Data Project
Digital Enterprise Research Institute www.deri.ie
May 2007
37
38. Linking Open Data Project
Digital Enterprise Research Institute www.deri.ie
Feb 2009
38
39. Linking Open Data Project
Digital Enterprise Research Institute www.deri.ie
DBpedia
39
40. Linking Open Data Project
Digital Enterprise Research Institute www.deri.ie
Geonames
40
41. Tools and Applications
Digital Enterprise Research Institute www.deri.ie
Linking Open Data homepage [LOD] has
Browsing with Tabulator, VisiNav, DBpedia Mobile, iLOD,
etc.
Searching with Sindice, SWSE, Falcons, etc.
Mashups, e.g. Revyu, BBC Music, DERI Pipes
See further
http://esw.w3.org/topic/SweoIG/TaskForces/
CommunityProjects/LinkingOpenData/Applications
41
44. Outline
Digital Enterprise Research Institute www.deri.ie
Content
Motivation
What is the Web of Data?
Creating Structured Data
Discovery, Accessing & Querying
Mash-ups & Advanced Topics
44 of XYZ
45. Creating Structured Data
Digital Enterprise Research Institute www.deri.ie
Overview of different methods:
Create RDF/XML manually (using your favourite text-editor
or Web-based interfaces)
Create XHTML+RDFa documents and use GRDDL
transformation
Use exporters / wrappers for existing service
Use applications that natively expose RDF data
Provide mappings from RDBMS to RDF data
Hands-on !
We will go through several of them to create interlinked
RDF data from various sources of structured data
45 of XYZ
46. Getting a FOAF profile
Digital Enterprise Research Institute www.deri.ie
Or how to give yourself a URI
FOAF is the main vocabulary to describe people,
their interests, their social networks
http://foaf-project.org
http://xmlns.com/foaf/0.1
Create your FOAF file
http://www.ldodds.com/foaf/foaf-a-matic (requires
hosting - provided during the tutorial)
http://foafbuilder.qdos.com/builder/ (requires OpenID)
46 of XYZ
47. Extend your FOAF profile
Digital Enterprise Research Institute www.deri.ie
The foaf:knows property aims to represent social
connections between people
:alex foaf:knows :michael
Going further with the relationship vocabulary
http://vocab.org/relationship/: colleagueOf, hasMet …
Add some people from the workshop, validate, and
upload to the workshop repository
http://www.w3.org/RDF/Validator/
http://helloopenworld.net/www2009/data
You finally got a URI !
– http://helloopenworld.net/www2009/data/apassant.rdf#me
47 of XYZ
48. Defining personal interests
Digital Enterprise Research Institute www.deri.ie
Instead of modeling interests as plain-text strings,
use URIs to describe them !
Allows interlinking of various resources for advanced
query purposes: “find all people that like movies directed
by Tarantino”
And link them to you using foaf:topic_interest
:me foaf:topic_interest :movie
But … where to get these URIs ?
The Linking Open Data cloud !
– Provide URIs for million of concepts, esp. thanks to DBpedia
Sindice can be used to find URIs for a given concept
– http://sindice.com
48 of XYZ
51. Extending a vocabulary
Digital Enterprise Research Institute www.deri.ie
The semantics of foaf:topic_interest can be too
weak
How to explicitly create a relationship between someone
and his favorite(s) movie(s) and not any kind of interest ?
Extending FOAF by creating your own property
And declare it as a subproperty of foaf:topic_interest
Vocabularies hosting with OpenVocab
Collaborative ontology editing
http://open.vocab.org
http://open.vocab.org/forms/newprop
51 of XYZ
52. RDFa and GRDDL
Digital Enterprise Research Institute www.deri.ie
GRDDL is a mechanism to transform any kind of
XML to RDF
XHTML+RDFa is an XML application, hence GRDDL
can be used to glean the RDF graph from it
INRIA/Fabien Gandon provided such an
transformation based on XSLT, now available at
http://www.w3.org/2008/07/rdfa-xslt
52 of XYZ
53. RDFa and GRDDL
Digital Enterprise Research Institute www.deri.ie
The GRDDL Primer at
http://www.w3.org/TR/grddl-primer/#scheduling
shows the overall processing of XHTML+RDFa:
53 of XYZ
54. RDFa and GRDDL
Digital Enterprise Research Institute www.deri.ie
http://sdow2009.semanticweb.org
54 of XYZ
55. RDFa and GRDDL
Digital Enterprise Research Institute www.deri.ie
http://sdow2009.semanticweb.org
Browse source to check RDFa annotations
55 of XYZ
56. RDFa and GRDDL
Digital Enterprise Research Institute www.deri.ie
http://sdow2009.semanticweb.org
Header contains prefixes and links to the GRDDL
transformation
56 of XYZ
57. RDFa and GRDDL
Digital Enterprise Research Institute www.deri.ie
http://sdow2009.semanticweb.org
Webpage can be translated to native RDF/XML using an
RDFa distiller - http://www.w3.org/2007/08/pyRdfa/
57 of XYZ
58. Wrappers for existing sources
Digital Enterprise Research Institute www.deri.ie
Creating and maintaining a FOAF file by hand can
be a time-consuming task
How can we automatically get RDF data from existing
sources ?
What about Web 2.0 services in which we already
give lots of personal information ?
Most of them provide APIs to get structured information
(JSON, XML …) about the user profiles, content, etc.
API to RDF wrappers can easily be implemented
58 of XYZ
59. Wrappers for Web 2.0 services
Digital Enterprise Research Institute www.deri.ie
Facebook wrapper
Generates a FOAF file from your Facebook profile
http://www.dcs.shef.ac.uk/~mrowe/foafgenerator.html
Flickr wrapper
Generates FOAF + SIOC + links to geographical information
(using geonames.org)
http://apassant.net/home/2007/12/flickrdf
OpenLink URIBurner
Translates many structured sources into RDF
E.g. Twitter:
– http://linkeddata.uriburner.com/about/rdf/http://
twitter.com/terraces
59 of XYZ
60. Interlinking identities
Digital Enterprise Research Institute www.deri.ie
The previous exporters create different URIs
A need to unify your online identity on the Web of Data
owl:sameAs and rdfs:seeAlso
http://www4.wiwiss.fu-berlin.de/bizer/pub/
LinkedDataTutorial/
owl:sameAs: Used to identify two resources with different
URIs as being the same resource
rdfs:seeAlso: “More information about this resource can be
found here”
owl:InverseFunctionalProperty
foaf:mbox, foaf:openid, etc. can be used to identify
uniqueness for a foaf:Person
60 of XYZ
62. Native export of RDF data
Digital Enterprise Research Institute www.deri.ie
CMS can expose RDF data natively using dedicated
plug-ins
SIOC Export for Drupal: http://drupal.org/project/SIOC
Provide RDF export of each blog post
– http://apassant.net/blog/2009/03/07/call-suggested-
features-sparql-working-group
– http://apassant.net/sioc/node/235
Using RDF autodiscovery feature in the HTML header
– So that RDF can be discovered when browsing HTML
– Semantic Radar: http://sioc-project.org/firefox
RDFa to be included in Drupal7 code !
– http://groups.drupal.org/node/16597
– 100.000’s of RDFa-powered websites
62 of XYZ
63. Overview: SIOC for vBulletin
Digital Enterprise Research Institute www.deri.ie
63 of XYZ
64. Translation services
Digital Enterprise Research Institute www.deri.ie
What about data already structured but not in RDF ?
JSON, RSS2.0, bibtex, etc …
Translation services can be used
Triplr:
– http://triplr.org
Babel
– http://simile.mit.edu/babel/
Bibtex (from Bibsonomy) to RDF
http://www.bibsonomy.org/bibtex/
286dc964427792faedb4df90056a6fe98/sirakov
http://simile.mit.edu/babel/translator?
reader=bibtex&writer=rdf-xml&mimetype=default
64 of XYZ
65. Relational to RDF Mapping
Digital Enterprise Research Institute www.deri.ie
Relational data (RDB) is structured data and can be
mapped to RDF straight-forward
Main issues:
Closed-world vs. open-world modeling
Assigning URIs for entities (records)
Mapping language expressivity
For a state-of-the-art see
http://www.w3.org/2005/Incubator/rdb2rdf/
RDB2RDF_SurveyReport.pdf
65 of XYZ
66. Relational to RDF Mapping
Digital Enterprise Research Institute www.deri.ie
Standardization
W3C RDB2RDF Incubator Group 2008/2009
Upcoming W3C RDB2RDF Working Group
Current solutions (see state-of-the-art)
D2RQ
– http://www4.wiwiss.fu-berlin.de/bizer/d2rq/
– DBLP in RDF: http://dblp.l3s.de/d2r/
OpenLink’s Virtuoso
– http://www.openlinksw.com/virtuoso/
Triplify
– http://triplify.org
66 of XYZ
67. Outline
Digital Enterprise Research Institute www.deri.ie
Content
Motivation
What is the Web of Data?
Creating Structured Data
Discovery, Accessing & Querying
Mash-ups & Advanced Topics
67 of XYZ
68. Discovery, Accessing & Querying
Digital Enterprise Research Institute www.deri.ie
Discovery is the process of starting with a URI and
learn more about the resources that can be
accessed or described through it
In order to access and query data on the Web, one
needs to know WHERE and HOW
WHERE: indexer, search engines, pings
HOW: FYN, sitemaps, voiD (next slide)
68 of XYZ
69. Discovering RDF data
Digital Enterprise Research Institute www.deri.ie
Simple case: Follow-Your-Nose by dereferencing
URIs (and hence stepwise browsing the RDF graph)
Indexer or crawler may utilize the semantic
sitemaps extension
http://sw.deri.org/2007/07/sitemapextension/
Applications using linked data should use voiD, the
vocabulary of interlinked datasets
http://semanticweb.org/wiki/VoiD
Allows to learn what a dataset is about
Provides quantitative data on interlinking (statistics)
Enables to deliver licensing, provenance and access
information
69 of XYZ
70. Discovering RDF data
Digital Enterprise Research Institute www.deri.ie
Ping The Semantic Web
http://pingthesemanticweb.com
A repository of RDF data, provides XML feeds of
newly created information
Can be used to build your application without
having to crawl the Web for relevant data
A food-chain for applications on the Web of Data
– http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-
WS//Vol-248/paper11.pdf
E.g. doap:store
– http://doapstore.org
70 of XYZ
72. Storing and querying RDF data
Digital Enterprise Research Institute www.deri.ie
Distributed querying
Important to keep intact the decentralized architecture of
the WWW
Still experimental, can be quite slow
voiD can be used to identify relevant sources to be queried
Storing data locally and querying
Better performances in terms of querying
But need to deal with data replication
PTSW can be used to find which data to store
72 of XYZ
73. Setup a SPARQL endpoint
Digital Enterprise Research Institute www.deri.ie
Lots of triple-store available on the market
Virtuoso, Sesame, Joseki …
Based on various back-ups (MySQL, dedicated FS …)
We will focus on xAMP solutions with ARC2
Lightweight RDF framework for PHP
http://arc.semsol.org
RDF Store based on MySQL
Only a few lines of code to set-up a repository
– http://helloopenworld.net/www2009/store1/index.phps
Using SPARQL+ to LOAD / UPDATE / DELETE RDF data
– SPARQL being read-only
73 of XYZ
74. Loading RDF data
Digital Enterprise Research Institute www.deri.ie
SPARQL is a read-only language
SPARUL and SPARQL+ allow to add / modify / delete
RDF data
LOAD <URI> [INTO <URI>]
Will load the RDF data from <URI> into the store before
going into SPARQL querying
LOAD your FOAF files in the RDF store
http://helloopenworld.net/www2009/store1/
E.g. LOAD <http://helloopenworld.net/www2009/data/
apassant.rdf>
– NB: To be done in POST mode
74 of XYZ
75. SPARQL
Digital Enterprise Research Institute www.deri.ie
SPARQL Protocol and RDF Query Language
“The SQL of the Semantic Web”
Both a protocol and a query language
– RDF data can be queried via REST
Four different query forms
SELECT, CONSTRUCT, ASK, DESCRIBE
We will mainly focus on the first one
SPARQL is based on a graph-matching approach
Retrieve statements that match some patterns in one (or
more) RDF graph(s)
75 of XYZ
76. SPARQL SELECT
Digital Enterprise Research Institute www.deri.ie
SELECT all people and their name
http://helloopenworld.net/www2009/files/select1.sparql
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?person ?name
WHERE {
?person a foaf:Person ;
foaf:name ?name .
}
76 of XYZ
77. SPARQL CONSTRUCT
Digital Enterprise Research Institute www.deri.ie
Contruct an RDF graph from other ones
Can be seen as the XSLT of the Semantic Web
http://helloopenworld.net/www2009/files/
construct1.sparql
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX www2009: <http://ex.org/www2009/>
CONSTRUCT { ?person a www2009:attendee .}
WHERE { ?person a foaf:Person . }
77 of XYZ
78. SPARQL DESCRIBE
Digital Enterprise Research Institute www.deri.ie
Get information about a given resource
DESCRIBE is implementation specific
http://helloopenworld.net/www2009/files/desc1.sparql
DESCRIBE <
http://helloopenworld.net/www2009/data/
apassant.rdf#me>
78 of XYZ
79. SPARQL ASK
Digital Enterprise Research Institute www.deri.ie
Check if a particular pattern matches the RDF graph
Is Alex a foaf:Person ?
http://helloopenworld.net/www2009/files/ask1.sparql
PREFIX foaf: http://xmlns.com/foaf/0.1/
ASK { <http://helloopenworld.net/www2009/data/
apassant.rdf#me> a foaf:Person . }
79 of XYZ
80. SPARQL Protocol
Digital Enterprise Research Institute www.deri.ie
REST-compliant protocol for SPARQL queries
http://helloopenworld.net/www2009/store1/?
query=PREFIX+foaf%3A+%3Chttp%3A%2F%2Fxmlns.com
%2Ffoaf%2F0.1%2F%3E%0D%0ASELECT+%3Fperson+
%3Fname%0D%0AWHERE+{%0D%0A+%3Fperson+a+foaf
%3APerson+%3B%0D%0A+++foaf%3Aname+%3Fname+.%0D
%0A}%0D%0A&output=htmltab
Easy for remote SPARQL querying
SPARCool
Easy SPARQL querying via simple URLs
http://sparcool.net
80 of XYZ
81. Lightweight inference
Digital Enterprise Research Institute www.deri.ie
ARC2 does not provide RDFS inference engine
But triggers can be used to write one
http://apassant.net/blog/2008/10/01/lightweight-
subpropertyof-subclassof-inference-arc2
Rule rdfs9: inference on subproperties
http://www.w3.org/TR/rdf-mt/#RDFSRules
Can be done with SPARQL CONSTRUCT and ARC2 triggers
http://helloopenworld.net/www2009/store2/index.phps
http://helloopenworld.net/www2009/files/
ARC2_SubPropertyInferenceTrigger.phps
81 of XYZ
82. Lightweight inference
Digital Enterprise Research Institute www.deri.ie
LOAD your profile in the inference-enabled store
http://helloopenworld.net/www2009/store2
Try the following query in both stores
Only the second one deals with subProperty inference
http://helloopenworld.net/www2009/files/select2.sparql
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?person
WHERE {
<YOUR_URI> foaf:knows ?person .
}
82 of XYZ
83. Complex triggers
Digital Enterprise Research Institute www.deri.ie
LOAD the RDF file corresponding to each user
interest
Must be done to avoid issues of distributed SPARQL
querying
Trigger designed using SPARQL SELECT + SPARUL
LOAD
For each loaded file, check if there are any
foaf:topic_interest and load them into the store
http://helloopenworld.net/www2009/files/
ARC2_InterestLoadTrigger.phps
http://helloopenworld.net/www2009/store3
83 of XYZ
84. SPARQL SELECT w/ Triggers
Digital Enterprise Research Institute www.deri.ie
Advanced querying capabilities
http://helloopenworld.net/www2009/files/select3.sparql
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT ?person
WHERE {
?person foaf:topic_interest [
dbo:director <http://dbpedia.org/resource/
Quentin_Tarantino> . ]
}
84 of XYZ
85. Outline
Digital Enterprise Research Institute www.deri.ie
Content
Motivation
What is the Web of Data?
Creating Structured Data
Discovery, Accessing & Querying
Mash-ups & Advanced Topics
85 of XYZ
86. Mash-ups & Advanced Topics
Digital Enterprise Research Institute www.deri.ie
Applying and extending what we have learned
Displaying and rendering the Web of Data
End-user Interaction, UI
Read/write Web of Data
86 of XYZ
87. Exhibit faceted browsing
Digital Enterprise Research Institute www.deri.ie
Exhibit
JavaScript library for faceted browsing
http://www.simile-widgets.org/exhibit/
Can be used directly on the top of a SPARQL
endpoint
Thanks to SPARQL CONSTRUCT and the Babel translation
service
http://helloopenworld.net/www2009/files/
construct2.sparql
http://helloopenworld.net/www2009/exhibit
http://microplanet.sioc-project.org/
– With geolocation services
87 of XYZ
88. Ubiquity command
Digital Enterprise Research Institute www.deri.ie
Ubiquity
Mozilla Firefox command line for the Web
http://ubiquity.mozilla.com/
Find people that like a given topic when browsing
Wikipedia
(1) Query Dbpedia to find the related URI
(2) Query the RDF Store to identify related people
Total: 2 SPARQL queries !
http://helloopenworld.net/www2009/ubiquity
http://en.wikipedia.org/wiki/Reservoir_Dogs
88 of XYZ
90. Mash-ups & Advanced Topics
Digital Enterprise Research Institute www.deri.ie
Enabling the read/write Web of Data with
pushback/RDForms
http://esw.w3.org/topic/
PushBackDataToLegacySources
Using linked data, SPARQL CONSTRUCT for
mapping and a fixed-schema vocabulary called
RDForms http://rdfs.org/ns/rdforms
90 of XYZ
91. Mash-ups & Advanced Topics
Digital Enterprise Research Institute www.deri.ie
91 of XYZ
92. Mash-ups & Advanced Topics
Digital Enterprise Research Institute www.deri.ie
View demos at
http://ld2sd.deri.org/pushback/
Check out code at
http://code.google.com/p/pushback/
Join and contribute!
92 of XYZ
93. Outline
Digital Enterprise Research Institute www.deri.ie
Content
Motivation
What is the Web of Data?
Creating Structured Data
Discovery, Accessing & Querying
Mash-ups & Advanced Topics
93 of XYZ
94. Conclusion
Digital Enterprise Research Institute www.deri.ie
Web of Data is a reality
Tons of tools and technologies exist to
Create and describe data on the Web
Store and access data on the Web
Discover and query data on the Web
Challenges
Technical issues such as scalability and usability
Social issues (trust, privacy, etc.)
Economic issues (building a critical mass)
– For example Obama administration using SIOC and linked
data is fairly motivating
94 of XYZ
95. Events
Digital Enterprise Research Institute www.deri.ie
LDOW2009
http://events.linkeddata.org/ldow2009/
Today, will continue this afternoon
Gathering tonight with the LOD community !
ESWC and ISWC
Major venues for research on the Semantic Web
Triplification challenge
http://triplify.org/Challenge/2009
Deadline 30 May
95 of XYZ
96. Feedback
Digital Enterprise Research Institute www.deri.ie
Did you learn something during the tutorial ?
Do you think you can now explain the Web of Data
and build applications ?
Which topics that you expected were not covered ?
Feel free to discuss or contact us
alexandre.passant@deri.org
michael.hausenblas@deri.org
#swig on irc.freenode.net
96 of XYZ