The Lonesome LOD Cloud

Ruben Verborgh
Ruben VerborghPostdoctoral Researcher in Semantic Hypermedia at Ghent University – imec, Belgium
The Lonesome LOD Cloud
Ruben Verborgh
The Web for humans offers
an HTTP interface to HTML documents.
client dataHTTP
HTML
The Web for applications offers
an HTTP interface to JSON documents.
client dataHTTP
JSON
The Web for intelligent agents offers
an HTTP interface to RDF documents.
client dataHTTP
RDF
The Web for intelligent agents offers
a SPARQL interface to an RDF database.
client dataHTTP
RDF
SPARQL
The good news about SPARQL
they’re fast.
they’re great for analysis.
they’re efficient.
endpoints:
The bad news about SPARQL
they don’t work on the Web.
endpoints:
We cannot wait any longer for

public SPARQL endpoints to work.
The LOD cloud is there—
we should query it now.
Stop building intelligent servers,
start building intelligent clients.
But how will we analyze those?
Linked Data Fragments
Client-side querying
Analyzing client queries
The Lonesome LOD Cloud
Linked Data Fragments
Client-side querying
Analyzing client queries
The Lonesome LOD Cloud
Currently, there are three ways

to provide access to a Linked Data dataset.
SPARQL endpoint
data dump
Linked Data documents
Those three ways have one thing in common:
they offer fragments of a dataset.
SPARQL endpoint
data dump
Linked Data documents
Linked Data Fragments look

at all ways at the same time.
specific queries

high server effort

low availability
generic requests

high client effort

high availability
LD

document
data

dump
SPARQL

result
Each type of Linked Data Fragment

is defined by three characteristics.
selector
metadata
controls
What data does it contain?
What do we know about it?
What can we do next?
Each type of Linked Data Fragment

is defined by three characteristics.
selector
metadata
controls
a specific entity
creator, maintainer, …
links to other LD documents
Linked Data Document
Each type of Linked Data Fragment

is defined by three characteristics.
selector
metadata
controls
a SPARQL query
(none)
(none)
SPARQL CONSTRUCT result
Each type of Linked Data Fragment

is defined by three characteristics.
selector
metadata
controls
everything
(none)
data dump
number of triples, file size
Any API that provides triples

publishes Linked Data Fragments.
specific queries

high server effort

low availability
generic requests

high client effort

high availability
LD

document
data

dump
SPARQL

result
Can we define APIs that efficiently allow

SPARQL querying with high availability?
specific queries

high server effort

low availability
generic requests

high client effort

high availability
LD

document
data

dump
SPARQL

result
basic

LDFs
A basic Linked Data Fragments API

offers triple-pattern-based access.
selector
metadata
controls
a triple pattern
total number of matches
access to all basic LDFs
basic Linked Data Fragment
data (first 100)
controls (other basic LDFs)
metadata (total count)
Triple-pattern-based access to Linked Data

doesn’t endanger a server’s availability.
Easy to generate
Efficiently cacheable through HTTP
Low message entropy
compressed triple format HDT
The higher the message entropy,
the more interesting analysis becomes.
high message entropylow message entropy
LD

document
data

dump
SPARQL

result
basic

LDFs
interesting for USEWOD?boring for USEWOD?
Linked Data Fragments
Client-side querying
Analyzing client queries
The Lonesome LOD Cloud
SPARQL Server
Client
Client
Client
Client
Client
Client
Client
(a) sparql endpoints perform all processing on the server, leading to fast
query execution with low data bandwidth, and a rapidly overloaded server.
The current server-does-all model

leads inevitably to low availability.
LDF Server
Client
ClientClient
Client
Client
Client
Client Client
Client
(b) ldf servers only support simple requests and can thus handle far higher
loads. Clients perform the querying, so they need more (cacheable) data.
Instead of asking one complex question,

ask several simpler questions.
SELECT ?person ?city WHERE {
!
!
}
How can we answer this query

using basic Linked Data Fragments?
?person a dbpedia-owl:Artist.
?person dbpedia-owl:birthPlace ?city.
?city foaf:name "York"@en.
Split the query based on

the available fragment types.
?person a dbpedia-owl:Artist.
?person dbpedia-owl:birthPlace ?city.
?city foaf:name "York"@en.
?person a dbpedia-owl:Artist.
?person dbpedia-owl:birthPlace ?city.
?city foaf:name "York"@en.
dbpedia:York foaf:name "York"@en.
dbpedia:York,_Ontario foaf:name "York"@en.

…
dbpedia:Ganesh_Ghosh …:birthPlace dbpedia:Bengal_Presidency.
dbpedia:Jacques_L'enfant …:birthPlace dbpedia:Beauce.

…
dbpedia:Aamir_Zaki a dbpedia-owl:Artist.
dbpedia:Ahmad_Morid a dbpedia-owl:Artist.

…
Get the first page

of the corresponding fragments.
?person a dbpedia-owl:Artist.
?person dbpedia-owl:birthPlace ?city.
?city foaf:name "York"@en.
dbpedia:York foaf:name "York"@en.
dbpedia:York,_Ontario foaf:name "York"@en.

…
dbpedia:Ganesh_Ghosh …:birthPlace dbpedia:Bengal_Presidency.
dbpedia:Jacques_L'enfant …:birthPlace dbpedia:Beauce.

…
dbpedia:Aamir_Zaki a dbpedia-owl:Artist.
dbpedia:Ahmad_Morid a dbpedia-owl:Artist.

…
Read the count metadata

of each fragment page.
±61,000
±470,000
12
?person a dbpedia-owl:Artist
?person dbpedia-owl:birthPlace
?city foaf:name "York"@en.
dbpedia:York foaf:name "York"@en.
dbpedia:York,_Ontario foaf:name "York"@en.

…
dbpedia:Ganesh_Ghosh …:birthPlace dbpedia:Bengal_Presidency.
dbpedia:Jacques_L'enfant …:birthPlace dbpedia:Beauce.
…
dbpedia:Aamir_Zaki
dbpedia:Ahmad_Morid a dbpedia-owl:Artist.
…
Take the smallest fragment,
start with its first match.
±61,
±470,
12
SELECT ?person WHERE {
!
!
}
How can we answer this query

using basic Linked Data Fragments?
?person a dbpedia-owl:Artist.
?person dbpedia-owl:birthPlace dbpedia:York.
dbpedia:York foaf:name "York"@en.
?person a dbpedia-owl:Artist.
?person dbpedia-owl:birthPlace dbpedia:York.
Split the query based on

the available fragment types.
?person a dbpedia-owl:Artist.
?person dbpedia-owl:birthPlace dbpedia:York.
dbpedia:John_Flaxman dbpo:birthPlace dbpedia:York.
dbpedia:Joseph_Hansom dbpo:birthPlace dbpedia:York.

…
dbpedia:Aamir_Zaki a dbpedia-owl:Artist.
dbpedia:Ahmad_Morid a dbpedia-owl:Artist.

…
Get the first page

of the corresponding fragments.
?person a dbpedia-owl:Artist.
?person dbpedia-owl:birthPlace dbpedia:York.
dbpedia:John_Flaxman dbpo:birthPlace dbpedia:York.
dbpedia:Joseph_Hansom dbpo:birthPlace dbpedia:York.

…
dbpedia:Aamir_Zaki a dbpedia-owl:Artist.
dbpedia:Ahmad_Morid a dbpedia-owl:Artist.

…
Read the count metadata

of each fragment page.
±61,000
75
?person a dbpedia-owl:Artist
?person dbpedia-owl:birthPlace dbpedia:York.
dbpedia:John_Flaxman dbpo:birthPlace dbpedia:York.
dbpedia:Joseph_Hansom dbpo:birthPlace dbpedia:York.

…
dbpedia:Aamir_Zaki
dbpedia:Ahmad_Morid a dbpedia-owl:Artist.
…
±61,
75
Take the smallest fragment,
start with its first match.
ASK {
!
!
}
How can we answer this query

using basic Linked Data Fragments?
dbpedia:John_Flaxman a dbpedia-owl:Artist.
dbpedia:John_Flaxman :birthPlace dbpedia:York.
dbpedia:York foaf:name "York"@en.
dbpedia:John_Flaxman a dbpedia-owl:Artist.
Split the query based on

the available fragment types.
dbpedia:John_Flaxman a dbpedia-owl:Artist.
Check if the fragment

has matches.
HEAD /dbpedia?s=John_Flaxman&p=…
HTTP/1.1 200 OK
Output the mappings

for each successful match.
?person = dbpedia:John_Flaxman

?city = dbpedia:York
is a result of the query.
?person dbpo:birthPlace dbpedia:York.
dbpedia:John_Flaxman dbpo:birthPlace dbpedia:York.
dbpedia:Joseph_Hansom dbpo:birthPlace dbpedia:York.

…
?city foaf:name "York"@en.
dbpedia:York foaf:name “York”@en.
dbpedia:York,_Ontario foaf:name “York”@en.

…
Recursively repeat the process

for the remaining mappings.
All client and server software

is available as open source.
linkeddatafragments.org
data.linkeddatafragments.org
client.linkeddatafragments.org
Linked Data Fragments
Client-side querying
Analyzing client queries
The Lonesome LOD Cloud
How can we analyze queries

from intelligent clients?
Client queries are different
Look at the logs
Treat machine clients as humans
How can we analyze queries

from intelligent clients?
Client queries are different
Look at the logs
Treat machine clients as humans
Despite being on the Web, we use
public SPARQL endpoints like databases.
Ask a complex question.
Wait.
Process the answer.
When was the last time

you used the Web like that?
Ask a complex question.
Wait.
Process the answer.
On the Web, there are no final answers.

We ask questions and iteratively improve.
Ask a simple questions.
Process answers as they arrive.
Create new questions.
Show a sorted list of names of Greek artists,

linked to their DBpedia page.
…
καλλιτέχνες endpoint

approach
fragment

approach
καλλιτέχνες καλλιτέχνες
SPARQL

endpoint
endpoint

approach
Show a sorted list of names of Greek artists,

linked to their DBpedia page.
endpoint

approach
Show a sorted list of names of Greek artists,

linked to their DBpedia page.
SELECT DISTINCT(?person) MIN(?name)
WHERE {
?person a dbpedia-owl:Artist;
foaf:name ?name;
dbpedia-owl:birthPlace ?city.
?city dbpedia-owl:country dbpedia:Greece.
}
ORDER BY ?name
endpoint

approach
Show a sorted list of names of Greek artists,

linked to their DBpedia page.
SELECT DISTINCT(?person) MIN(?name)
WHERE {
?person a dbpedia-owl:Artist;
foaf:name ?name;
dbpedia-owl:birthPlace ?city.
?city dbpedia-owl:country dbpedia:Greece.
}
ORDER BY ?name
endpoint

approach
Show a sorted list of names of Greek artists,

linked to their DBpedia page.
DISTINCT
MIN
SORT BY
keep all results in memory
keep all results in memory, blocking
keep all results in memory, blocking
Consequences:
Doesn’t matter; we’re waiting anyway.
fragment

approach
Show a sorted list of names of Greek artists,

linked to their DBpedia page.
SELECT ?person ?name

WHERE {
?person a dbpedia-owl:Artist;
foaf:name ?name;
dbpedia-owl:birthPlace ?city.
?city dbpedia-owl:country dbpedia:Greece
}
No blocking operators; streaming is important.
καλλιτέχνες καλλιτέχνες
fragment

approach
Show a sorted list of names of Greek artists,

linked to their DBpedia page.
καλλιτέχνες
Making the LOD cloud less lonesome

starts with embracing its open nature.
How meaningful is a sort anyway?
How meaningful is a single answer?
Build applications that react to data.
How can we analyze queries

from intelligent clients?
Client queries are different
Look at the logs
Treat machine clients as humans
Let’s closely inspect the server logs

of the “Artists from York” query.
SPARQL:
http://dbpedia.org/sparql?query=SELECT+%3Fp+
%3Fc+WHERE+%7B%0D%0A++++%3Fp+a+
%3Chttp%3A%2F%2Fdbpedia.org%2Fontology
SELECT ?person ?city WHERE {
!
!
}
?person a dbpedia-owl:Artist.
?person dbpedia-owl:birthPlace ?city.
?city foaf:name "York"@en.
Let’s closely inspect the server logs

of the “Artists from York” query.
basic Linked Data Fragments:
/dbpedia
/dbpedia?predicate=http%3A%2F%2Fxmlns.com%2Ffoa
/dbpedia?predicate=http%3A%2F%2Fwww.w3.org%2F1
/dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo
/dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo
/dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo
/dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo
/dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo
/dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo
/dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo
/dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo
Let’s closely inspect the server logs

of the “Artists from York” query.
basic Linked Data Fragments:
?c foaf:name "York"@en.
?p rdf:type dbpedia-owl:Artist.
?p dbpedia-owl:birthPlace ?c.
?p dbpedia-owl:birthPlace dbpedia:York_(explorer).
?p dbpedia-owl:birthPlace dbpedia:York_railway_station.
?p dbpedia-owl:birthPlace dbpedia:28220_York.
?p dbpedia-owl:birthPlace dbpedia:York_(provincial_elect
?p dbpedia-owl:birthPlace dbpedia:York,_New_York.
dbpedia:Cornelius_R._Parsons rdf:type dbpedia-owl:Artist
dbpedia:John_R._McPherson rdf:type dbpedia-owl:Artist.
Access logs resulting from basic LDF clients

are hard to interpret.
Parallel requests, unclear dependencies
Full query hard to reconstruct
Was it SPARQL in the first place?
What would we do

if the users were humans?
Create a user profile
Use cookies
Check the Referer header
The Referer header tells us

the path the client has followed.
Interesting, still underused idea
Augmenting the Web of Data using Referers

by Hannes Mühleisen & Anja Jentzsch
It explains part of the “why”
Allows to reconstruct dependencies
Reconstruct dependencies

from Referer metadata.
dbpedia:Cornelius_R._Parsons

rdf:type dbpedia-owl:Artist.
dbpedia:John_R._McPherson

?c foaf:name "York"@en.
?p rdf:type dbpedia-owl:Artist.
?p dbpedia-owl:birthPlace ?c.
?p dbpedia-owl:birt
?p dbpedia-owl:birt
?p dbpedia-owl:birt
?p dbpedia-owl:birt
?p dbpedia-owl:birt
These dependencies can help us

cache and prefetch.
After retrieving ?s <p> <o> patterns,

clients often ask for <s> rdfs:label ?l .
Example observation:
Example action:
Always add labels to concepts

in all responses.
cfr. Caching and Prefetching Strategies for SPARQL queries

by Johannes Lorey and Felix Naumann
However, the open-world assumption

can cause cardinality trouble.
SELECT ?person ?label WHERE {
?person a dbpedia-owl:Artist;
rdfs:label ?label.
}
dbpedia:Yannis_Markopoulos a dbpedia-owl:Artist;
rdfs:label "Yannis Markopoulos"@en.
dbpedia:Yanni a dbpedia-owl:Artist;
rdfs:label “Yanni"@en.
…
Are these all labels?

Should I ask for more?
fragment “?person a dbpedia-owl:Artist”
The intent of this query

is probably different from its semantics.
SELECT ?person ?label WHERE {
?person a dbpedia-owl:Artist;
rdfs:label ?label.
}
With SPARQL endpoints, this doesn’t matter.

Clients don’t have to work more.
To optimize client usage patterns,

this difference is really important.
Referers only show part of the story.

Can we know more?
GET /dbpedia?o=dbpedia%3AGreece HTTP/1.1
User-Agent: curl/7.35.0
Host: data.linkeddatafragments.org
Accept: text/turtle
Referer: http://data.linkeddatafragments.org/dbpedia
X-Executed-Query: SELECT ?person ?label WHERE { ?person a dbpe
Inform the server what you’re doing.
Then the server can help you better in the future.
How can we analyze queries

from intelligent clients?
Client queries are different
Look at the logs
Treat machine clients as humans
My reflex when building machine clients

is to wonder: what would a human do?
I don’t expect any server

to solve my queries;

I collect small pieces of information

to solve queries myself.
If you as a human use a website

and it doesn’t work the way you want,
what would you do?
As a human, I would leave feedback.

I would comment, like or upvote/downvote.
“I tried to find artists from Greece.

Finding out Greek citizens was easy,

but the artist checks went quite slow.

The total query took me 4 minutes,

whereas I would prefer 1 minute.”
★★★☆☆
Feedback is key

to improving a service.
Why don’t we let machines

give feedback about their experience?
[ a f:ExperienceFeedback;
f:author _:agent;
f:subject _:query;
f:actualSituation [
f:duration "3m";
f:bandwidth "500KB"
];
f:desiredSituation [
f:duration "1m"
] ].
If clients are more intelligent than servers,

we have to analyze usage differently.
Enable clients to act smart
Creatively reuse human techniques
Learn from optimizations
feedback
Linked Data Fragments
Client-side querying
Analyzing client queries
The Lonesome LOD Cloud
Machine clients sending feedback?
What you say is total science fiction!
What’s next, machine clients

that poke you on Facebook?
“
What I consider science fiction:
a public endpoint on the Web

that answers any question.
99.9% of time, a basic LDF client

solves this query in 3 seconds:
Which public SPARQL endpoints

could guarantee you that?
SELECT ?person ?city WHERE {
?person a dbpedia-owl:Artist.
?person dbpedia-owl:birthPlace ?city.
?city foaf:name “York"@en.
}
You cannot solve all queries

with basic Linked Data Fragments!
SELECT ?x ?l WHERE {
?x rdfs:label ?l.
FILTER REGEX(?l, "^A")
}
“
The Semantic Web tried

to solve too much too fast.
The result is

a very lonesome LOD Cloud.
You can query anything,
but it never works.
Start with enabling tasks

humans could easily do.
SELECT ?x ?l WHERE {
?x rdfs:label ?l.
FILTER REGEX(?l, "^A")
}
Start with enabling tasks

humans could easily do.
SELECT ?person ?city WHERE {
?person a dbpedia-owl:Artist.
?person dbpedia-owl:birthPlace ?city.
?city foaf:name "York"@en.
}
Start with enabling tasks

humans could easily do.
“I tried to find artists from Greece.

Finding out Greek citizens was easy,

but the artist checks went quite slow.

The total query took me 4 minutes,

whereas I would prefer 1 minute.”
★★★☆☆
Start with enabling tasks

humans could easily do.
After that,

we’ll talk about the rest.
The LOD usage community

can help create intelligent clients.
Put the intelligent servers aside,

enable clients to be intelligent.
Look at usage from the perspective

of intelligent clients.
The LOD Cloud is lonesome

because we gave

human and machine clients

different interfaces.
Let’s make the simple things work.

Let’s get the data used.
The Lonesome LOD Cloud
@RubenVerborgh
1 of 88

Recommended

Linked Data Fragments by
Linked Data FragmentsLinked Data Fragments
Linked Data FragmentsRuben Verborgh
7.2K views37 slides
Sustainable queryable access to Linked Data by
Sustainable queryable access to Linked DataSustainable queryable access to Linked Data
Sustainable queryable access to Linked DataRuben Verborgh
2.2K views46 slides
The Future is Federated by
The Future is FederatedThe Future is Federated
The Future is FederatedRuben Verborgh
2K views65 slides
Querying datasets on the Web with high availability by
Querying datasets on the Web with high availabilityQuerying datasets on the Web with high availability
Querying datasets on the Web with high availabilityRuben Verborgh
3.4K views46 slides
Querying federations 
of Triple Pattern Fragments by
Querying federations 
of Triple Pattern FragmentsQuerying federations 
of Triple Pattern Fragments
Querying federations 
of Triple Pattern FragmentsRuben Verborgh
1.2K views35 slides
DBpedia's Triple Pattern Fragments by
DBpedia's Triple Pattern FragmentsDBpedia's Triple Pattern Fragments
DBpedia's Triple Pattern FragmentsRuben Verborgh
2.7K views33 slides

More Related Content

What's hot

Initial Usage Analysis of DBpedia's Triple Pattern Fragments by
Initial Usage Analysis of DBpedia's Triple Pattern FragmentsInitial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern FragmentsRuben Verborgh
2.3K views36 slides
Querying data on the Web – client or server? by
Querying data on the Web – client or server?Querying data on the Web – client or server?
Querying data on the Web – client or server?Ruben Verborgh
1.8K views66 slides
RDFa Tutorial by
RDFa TutorialRDFa Tutorial
RDFa TutorialIvan Herman
5.5K views87 slides
Web data from R by
Web data from RWeb data from R
Web data from Rschamber
17.9K views28 slides
Linking media, data, and services by
Linking media, data, and servicesLinking media, data, and services
Linking media, data, and servicesRuben Verborgh
2K views62 slides
Reasoned SPARQL by
Reasoned SPARQLReasoned SPARQL
Reasoned SPARQLRuben Verborgh
2.1K views18 slides

What's hot(20)

Initial Usage Analysis of DBpedia's Triple Pattern Fragments by Ruben Verborgh
Initial Usage Analysis of DBpedia's Triple Pattern FragmentsInitial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern Fragments
Ruben Verborgh2.3K views
Querying data on the Web – client or server? by Ruben Verborgh
Querying data on the Web – client or server?Querying data on the Web – client or server?
Querying data on the Web – client or server?
Ruben Verborgh1.8K views
RDFa Tutorial by Ivan Herman
RDFa TutorialRDFa Tutorial
RDFa Tutorial
Ivan Herman5.5K views
Web data from R by schamber
Web data from RWeb data from R
Web data from R
schamber17.9K views
Linking media, data, and services by Ruben Verborgh
Linking media, data, and servicesLinking media, data, and services
Linking media, data, and services
Ruben Verborgh2K views
A Semantic Data Model for Web Applications by Armin Haller
A Semantic Data Model for Web ApplicationsA Semantic Data Model for Web Applications
A Semantic Data Model for Web Applications
Armin Haller2.9K views
Open Standards for the Semantic Web: XML / RDF(S) / OWL / SOAP by Pieter De Leenheer
Open Standards for the Semantic Web: XML / RDF(S) / OWL / SOAPOpen Standards for the Semantic Web: XML / RDF(S) / OWL / SOAP
Open Standards for the Semantic Web: XML / RDF(S) / OWL / SOAP
Pieter De Leenheer5.2K views
Consuming Linked Data 4/5 Semtech2011 by Juan Sequeda
Consuming Linked Data 4/5 Semtech2011Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011
Juan Sequeda2.3K views
Semantic Technologies: Representing Semantic Data by Matthew Rowe
Semantic Technologies: Representing Semantic DataSemantic Technologies: Representing Semantic Data
Semantic Technologies: Representing Semantic Data
Matthew Rowe7K views
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul by Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
Shamod Lacoul6K views
RDFa: introduction, comparison with microdata and microformats and how to use it by Jose Luis Lopez Pino
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
Text Analytics Online Knowledge Base / Database by Naveen Kumar
Text Analytics Online Knowledge Base / DatabaseText Analytics Online Knowledge Base / Database
Text Analytics Online Knowledge Base / Database
Naveen Kumar292 views
Introduction to Linked Data 1/5 by Juan Sequeda
Introduction to Linked Data 1/5Introduction to Linked Data 1/5
Introduction to Linked Data 1/5
Juan Sequeda1.9K views
On the Persistence of Persistent Identifiers of the Scholarly Web by Martin Klein
On the Persistence of Persistent Identifiers of the Scholarly WebOn the Persistence of Persistent Identifiers of the Scholarly Web
On the Persistence of Persistent Identifiers of the Scholarly Web
Martin Klein572 views
SUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)data by Diego Valerio Camarda
SUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)dataSUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)data
SUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)data
OrientDB: Unlock the Value of Document Data Relationships by Fabrizio Fortino
OrientDB: Unlock the Value of Document Data RelationshipsOrientDB: Unlock the Value of Document Data Relationships
OrientDB: Unlock the Value of Document Data Relationships
Fabrizio Fortino2.1K views
JSON-LD update DC 2017 by Gregg Kellogg
JSON-LD update DC 2017JSON-LD update DC 2017
JSON-LD update DC 2017
Gregg Kellogg1.6K views

Viewers also liked

Potential and Impact of Open Data in Europe by
Potential and Impact of Open Data in EuropePotential and Impact of Open Data in Europe
Potential and Impact of Open Data in EuropeePSI Platform
3K views67 slides
Semantic Web Services: State of the Art by
Semantic Web Services: State of the ArtSemantic Web Services: State of the Art
Semantic Web Services: State of the ArtMarkus Lanthaler
2.8K views30 slides
RESTdesc – Efficient runtime service discovery and consumption by
RESTdesc – Efficient runtime service discovery and consumptionRESTdesc – Efficient runtime service discovery and consumption
RESTdesc – Efficient runtime service discovery and consumptionRuben Verborgh
1.3K views34 slides
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra... by
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...Markus Lanthaler
3.9K views29 slides
Adrs Presentation March 2008 by
Adrs Presentation March 2008Adrs Presentation March 2008
Adrs Presentation March 2008guestabd20
621 views35 slides
A Semantic Description Language for RESTful Data Services to Combat Semaphobia by
A Semantic Description Language for RESTful Data Services to Combat SemaphobiaA Semantic Description Language for RESTful Data Services to Combat Semaphobia
A Semantic Description Language for RESTful Data Services to Combat SemaphobiaMarkus Lanthaler
3.8K views31 slides

Viewers also liked(20)

Potential and Impact of Open Data in Europe by ePSI Platform
Potential and Impact of Open Data in EuropePotential and Impact of Open Data in Europe
Potential and Impact of Open Data in Europe
ePSI Platform3K views
Semantic Web Services: State of the Art by Markus Lanthaler
Semantic Web Services: State of the ArtSemantic Web Services: State of the Art
Semantic Web Services: State of the Art
Markus Lanthaler2.8K views
RESTdesc – Efficient runtime service discovery and consumption by Ruben Verborgh
RESTdesc – Efficient runtime service discovery and consumptionRESTdesc – Efficient runtime service discovery and consumption
RESTdesc – Efficient runtime service discovery and consumption
Ruben Verborgh1.3K views
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra... by Markus Lanthaler
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Markus Lanthaler3.9K views
Adrs Presentation March 2008 by guestabd20
Adrs Presentation March 2008Adrs Presentation March 2008
Adrs Presentation March 2008
guestabd20621 views
A Semantic Description Language for RESTful Data Services to Combat Semaphobia by Markus Lanthaler
A Semantic Description Language for RESTful Data Services to Combat SemaphobiaA Semantic Description Language for RESTful Data Services to Combat Semaphobia
A Semantic Description Language for RESTful Data Services to Combat Semaphobia
Markus Lanthaler3.8K views
Hypermedia Cannot be the Engine by Ruben Verborgh
Hypermedia Cannot be the EngineHypermedia Cannot be the Engine
Hypermedia Cannot be the Engine
Ruben Verborgh4.4K views
SAPS - Semantic AtomPub-based Services by Markus Lanthaler
SAPS - Semantic AtomPub-based ServicesSAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based Services
Markus Lanthaler2.9K views
The web – A hypermedia story by Ruben Verborgh
The web – A hypermedia storyThe web – A hypermedia story
The web – A hypermedia story
Ruben Verborgh2.9K views
A Deep Dive into JSON-LD and Hydra by Markus Lanthaler
A Deep Dive into JSON-LD and HydraA Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and Hydra
Markus Lanthaler9.8K views
Web Standards adoption in the AR market by Rob Manson
Web Standards adoption in the AR marketWeb Standards adoption in the AR market
Web Standards adoption in the AR market
Rob Manson6.6K views
LODeX: Schema Summarization and automatic SPARQL query generation for Linked ... by Fabio Benedetti
LODeX: Schema Summarization and automatic SPARQL query generation for Linked ...LODeX: Schema Summarization and automatic SPARQL query generation for Linked ...
LODeX: Schema Summarization and automatic SPARQL query generation for Linked ...
Fabio Benedetti1.1K views
Linked Data Generation Process by LD4SC
Linked Data Generation ProcessLinked Data Generation Process
Linked Data Generation Process
LD4SC1.7K views
What is Hydra? by Findwise
What is Hydra?What is Hydra?
What is Hydra?
Findwise2.7K views
Lisp Macros in 20 Minutes (Featuring Clojure) by Phil Calçado
Lisp Macros in 20 Minutes (Featuring Clojure)Lisp Macros in 20 Minutes (Featuring Clojure)
Lisp Macros in 20 Minutes (Featuring Clojure)
Phil Calçado7.8K views
A Web of Things to Reduce Energy Wastage by Markus Lanthaler
A Web of Things to Reduce Energy WastageA Web of Things to Reduce Energy Wastage
A Web of Things to Reduce Energy Wastage
Markus Lanthaler2.9K views
HTTP and Your Angry Dog by Ross Tuck
HTTP and Your Angry DogHTTP and Your Angry Dog
HTTP and Your Angry Dog
Ross Tuck10.3K views

Similar to The Lonesome LOD Cloud

Querying the Web of Data by
Querying the Web of DataQuerying the Web of Data
Querying the Web of DataRinke Hoekstra
959 views50 slides
State of the Semantic Web by
State of the Semantic WebState of the Semantic Web
State of the Semantic WebIvan Herman
923 views55 slides
Semantic Pipes and Semantic Mashups by
Semantic Pipes and Semantic MashupsSemantic Pipes and Semantic Mashups
Semantic Pipes and Semantic Mashupsgiurca
1.8K views15 slides
Linked Open Data by
Linked Open DataLinked Open Data
Linked Open DataLaura Hollink
254 views144 slides
CSHALS 2010 W3C Semanic Web Tutorial by
CSHALS 2010 W3C Semanic Web TutorialCSHALS 2010 W3C Semanic Web Tutorial
CSHALS 2010 W3C Semanic Web TutorialLeeFeigenbaum
2.5K views95 slides
Graph Analysis over JSON, Larus by
Graph Analysis over JSON, LarusGraph Analysis over JSON, Larus
Graph Analysis over JSON, LarusNeo4j
487 views28 slides

Similar to The Lonesome LOD Cloud(20)

State of the Semantic Web by Ivan Herman
State of the Semantic WebState of the Semantic Web
State of the Semantic Web
Ivan Herman923 views
Semantic Pipes and Semantic Mashups by giurca
Semantic Pipes and Semantic MashupsSemantic Pipes and Semantic Mashups
Semantic Pipes and Semantic Mashups
giurca1.8K views
CSHALS 2010 W3C Semanic Web Tutorial by LeeFeigenbaum
CSHALS 2010 W3C Semanic Web TutorialCSHALS 2010 W3C Semanic Web Tutorial
CSHALS 2010 W3C Semanic Web Tutorial
LeeFeigenbaum2.5K views
Graph Analysis over JSON, Larus by Neo4j
Graph Analysis over JSON, LarusGraph Analysis over JSON, Larus
Graph Analysis over JSON, Larus
Neo4j487 views
A hands on overview of the semantic web by Marakana Inc.
A hands on overview of the semantic webA hands on overview of the semantic web
A hands on overview of the semantic web
Marakana Inc.1.2K views
SPARQL in the Semantic Web by Jan Beeck
SPARQL in the Semantic WebSPARQL in the Semantic Web
SPARQL in the Semantic Web
Jan Beeck790 views
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4j by Connected Data World
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4jExplicit Semantics in Graph DBs Driving Digital Transformation With Neo4j
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4j
Consuming linked data by machines by Patrick Sinclair
Consuming linked data by machinesConsuming linked data by machines
Consuming linked data by machines
Patrick Sinclair1.7K views
Linked Data Tutorial by Sören Auer
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
Sören Auer9.2K views
Do it on your own - From 3 to 5 Star Linked Open Data with RMLio by Open Knowledge Belgium
Do it on your own - From 3 to 5 Star Linked Open Data with RMLioDo it on your own - From 3 to 5 Star Linked Open Data with RMLio
Do it on your own - From 3 to 5 Star Linked Open Data with RMLio
Semantic Web and Web 3.0 - Web Technologies (1019888BNR) by Beat Signer
Semantic Web and Web 3.0 - Web Technologies (1019888BNR)Semantic Web and Web 3.0 - Web Technologies (1019888BNR)
Semantic Web and Web 3.0 - Web Technologies (1019888BNR)
Beat Signer2.4K views
Lifting the Lid on Linked Data by Jane Stevenson
Lifting the Lid on Linked DataLifting the Lid on Linked Data
Lifting the Lid on Linked Data
Jane Stevenson4.3K views
SemanticWeb Nuts 'n Bolts by Rinke Hoekstra
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n Bolts
Rinke Hoekstra2.1K views

Recently uploaded

TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc
176 views29 slides
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
171 views28 slides
Future of Indian ConsumerTech by
Future of Indian ConsumerTechFuture of Indian ConsumerTech
Future of Indian ConsumerTechKapil Khandelwal (KK)
36 views68 slides
Business Analyst Series 2023 - Week 4 Session 7 by
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7DianaGray10
146 views31 slides
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...ShapeBlue
178 views15 slides
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueShapeBlue
137 views13 slides

Recently uploaded(20)

TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc176 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue171 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10146 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue178 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue137 views
LLMs in Production: Tooling, Process, and Team Structure by Aggregage
LLMs in Production: Tooling, Process, and Team StructureLLMs in Production: Tooling, Process, and Team Structure
LLMs in Production: Tooling, Process, and Team Structure
Aggregage57 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays36 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue199 views
"Node.js Development in 2024: trends and tools", Nikita Galkin by Fwdays
"Node.js Development in 2024: trends and tools", Nikita Galkin "Node.js Development in 2024: trends and tools", Nikita Galkin
"Node.js Development in 2024: trends and tools", Nikita Galkin
Fwdays33 views
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash162 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue129 views
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 by BookNet Canada
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
BookNet Canada44 views
"Package management in monorepos", Zoltan Kochan by Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays34 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue120 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue162 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue183 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue152 views

The Lonesome LOD Cloud

  • 1. The Lonesome LOD Cloud Ruben Verborgh
  • 2. The Web for humans offers an HTTP interface to HTML documents. client dataHTTP HTML
  • 3. The Web for applications offers an HTTP interface to JSON documents. client dataHTTP JSON
  • 4. The Web for intelligent agents offers an HTTP interface to RDF documents. client dataHTTP RDF
  • 5. The Web for intelligent agents offers a SPARQL interface to an RDF database. client dataHTTP RDF SPARQL
  • 6. The good news about SPARQL they’re fast. they’re great for analysis. they’re efficient. endpoints:
  • 7. The bad news about SPARQL they don’t work on the Web. endpoints:
  • 8. We cannot wait any longer for
 public SPARQL endpoints to work. The LOD cloud is there— we should query it now.
  • 9. Stop building intelligent servers, start building intelligent clients. But how will we analyze those?
  • 10. Linked Data Fragments Client-side querying Analyzing client queries The Lonesome LOD Cloud
  • 11. Linked Data Fragments Client-side querying Analyzing client queries The Lonesome LOD Cloud
  • 12. Currently, there are three ways
 to provide access to a Linked Data dataset. SPARQL endpoint data dump Linked Data documents
  • 13. Those three ways have one thing in common: they offer fragments of a dataset. SPARQL endpoint data dump Linked Data documents
  • 14. Linked Data Fragments look
 at all ways at the same time. specific queries
 high server effort
 low availability generic requests
 high client effort
 high availability LD
 document data
 dump SPARQL
 result
  • 15. Each type of Linked Data Fragment
 is defined by three characteristics. selector metadata controls What data does it contain? What do we know about it? What can we do next?
  • 16. Each type of Linked Data Fragment
 is defined by three characteristics. selector metadata controls a specific entity creator, maintainer, … links to other LD documents Linked Data Document
  • 17. Each type of Linked Data Fragment
 is defined by three characteristics. selector metadata controls a SPARQL query (none) (none) SPARQL CONSTRUCT result
  • 18. Each type of Linked Data Fragment
 is defined by three characteristics. selector metadata controls everything (none) data dump number of triples, file size
  • 19. Any API that provides triples
 publishes Linked Data Fragments. specific queries
 high server effort
 low availability generic requests
 high client effort
 high availability LD
 document data
 dump SPARQL
 result
  • 20. Can we define APIs that efficiently allow
 SPARQL querying with high availability? specific queries
 high server effort
 low availability generic requests
 high client effort
 high availability LD
 document data
 dump SPARQL
 result basic
 LDFs
  • 21. A basic Linked Data Fragments API
 offers triple-pattern-based access. selector metadata controls a triple pattern total number of matches access to all basic LDFs basic Linked Data Fragment
  • 22. data (first 100) controls (other basic LDFs) metadata (total count)
  • 23. Triple-pattern-based access to Linked Data
 doesn’t endanger a server’s availability. Easy to generate Efficiently cacheable through HTTP Low message entropy compressed triple format HDT
  • 24. The higher the message entropy, the more interesting analysis becomes. high message entropylow message entropy LD
 document data
 dump SPARQL
 result basic
 LDFs interesting for USEWOD?boring for USEWOD?
  • 25. Linked Data Fragments Client-side querying Analyzing client queries The Lonesome LOD Cloud
  • 26. SPARQL Server Client Client Client Client Client Client Client (a) sparql endpoints perform all processing on the server, leading to fast query execution with low data bandwidth, and a rapidly overloaded server. The current server-does-all model
 leads inevitably to low availability.
  • 27. LDF Server Client ClientClient Client Client Client Client Client Client (b) ldf servers only support simple requests and can thus handle far higher loads. Clients perform the querying, so they need more (cacheable) data. Instead of asking one complex question,
 ask several simpler questions.
  • 28. SELECT ?person ?city WHERE { ! ! } How can we answer this query
 using basic Linked Data Fragments? ?person a dbpedia-owl:Artist. ?person dbpedia-owl:birthPlace ?city. ?city foaf:name "York"@en.
  • 29. Split the query based on
 the available fragment types. ?person a dbpedia-owl:Artist. ?person dbpedia-owl:birthPlace ?city. ?city foaf:name "York"@en.
  • 30. ?person a dbpedia-owl:Artist. ?person dbpedia-owl:birthPlace ?city. ?city foaf:name "York"@en. dbpedia:York foaf:name "York"@en. dbpedia:York,_Ontario foaf:name "York"@en.
 … dbpedia:Ganesh_Ghosh …:birthPlace dbpedia:Bengal_Presidency. dbpedia:Jacques_L'enfant …:birthPlace dbpedia:Beauce.
 … dbpedia:Aamir_Zaki a dbpedia-owl:Artist. dbpedia:Ahmad_Morid a dbpedia-owl:Artist.
 … Get the first page
 of the corresponding fragments.
  • 31. ?person a dbpedia-owl:Artist. ?person dbpedia-owl:birthPlace ?city. ?city foaf:name "York"@en. dbpedia:York foaf:name "York"@en. dbpedia:York,_Ontario foaf:name "York"@en.
 … dbpedia:Ganesh_Ghosh …:birthPlace dbpedia:Bengal_Presidency. dbpedia:Jacques_L'enfant …:birthPlace dbpedia:Beauce.
 … dbpedia:Aamir_Zaki a dbpedia-owl:Artist. dbpedia:Ahmad_Morid a dbpedia-owl:Artist.
 … Read the count metadata
 of each fragment page. ±61,000 ±470,000 12
  • 32. ?person a dbpedia-owl:Artist ?person dbpedia-owl:birthPlace ?city foaf:name "York"@en. dbpedia:York foaf:name "York"@en. dbpedia:York,_Ontario foaf:name "York"@en.
 … dbpedia:Ganesh_Ghosh …:birthPlace dbpedia:Bengal_Presidency. dbpedia:Jacques_L'enfant …:birthPlace dbpedia:Beauce. … dbpedia:Aamir_Zaki dbpedia:Ahmad_Morid a dbpedia-owl:Artist. … Take the smallest fragment, start with its first match. ±61, ±470, 12
  • 33. SELECT ?person WHERE { ! ! } How can we answer this query
 using basic Linked Data Fragments? ?person a dbpedia-owl:Artist. ?person dbpedia-owl:birthPlace dbpedia:York. dbpedia:York foaf:name "York"@en.
  • 34. ?person a dbpedia-owl:Artist. ?person dbpedia-owl:birthPlace dbpedia:York. Split the query based on
 the available fragment types.
  • 35. ?person a dbpedia-owl:Artist. ?person dbpedia-owl:birthPlace dbpedia:York. dbpedia:John_Flaxman dbpo:birthPlace dbpedia:York. dbpedia:Joseph_Hansom dbpo:birthPlace dbpedia:York.
 … dbpedia:Aamir_Zaki a dbpedia-owl:Artist. dbpedia:Ahmad_Morid a dbpedia-owl:Artist.
 … Get the first page
 of the corresponding fragments.
  • 36. ?person a dbpedia-owl:Artist. ?person dbpedia-owl:birthPlace dbpedia:York. dbpedia:John_Flaxman dbpo:birthPlace dbpedia:York. dbpedia:Joseph_Hansom dbpo:birthPlace dbpedia:York.
 … dbpedia:Aamir_Zaki a dbpedia-owl:Artist. dbpedia:Ahmad_Morid a dbpedia-owl:Artist.
 … Read the count metadata
 of each fragment page. ±61,000 75
  • 37. ?person a dbpedia-owl:Artist ?person dbpedia-owl:birthPlace dbpedia:York. dbpedia:John_Flaxman dbpo:birthPlace dbpedia:York. dbpedia:Joseph_Hansom dbpo:birthPlace dbpedia:York.
 … dbpedia:Aamir_Zaki dbpedia:Ahmad_Morid a dbpedia-owl:Artist. … ±61, 75 Take the smallest fragment, start with its first match.
  • 38. ASK { ! ! } How can we answer this query
 using basic Linked Data Fragments? dbpedia:John_Flaxman a dbpedia-owl:Artist. dbpedia:John_Flaxman :birthPlace dbpedia:York. dbpedia:York foaf:name "York"@en.
  • 39. dbpedia:John_Flaxman a dbpedia-owl:Artist. Split the query based on
 the available fragment types.
  • 40. dbpedia:John_Flaxman a dbpedia-owl:Artist. Check if the fragment
 has matches. HEAD /dbpedia?s=John_Flaxman&p=… HTTP/1.1 200 OK
  • 41. Output the mappings
 for each successful match. ?person = dbpedia:John_Flaxman
 ?city = dbpedia:York is a result of the query.
  • 42. ?person dbpo:birthPlace dbpedia:York. dbpedia:John_Flaxman dbpo:birthPlace dbpedia:York. dbpedia:Joseph_Hansom dbpo:birthPlace dbpedia:York.
 … ?city foaf:name "York"@en. dbpedia:York foaf:name “York”@en. dbpedia:York,_Ontario foaf:name “York”@en.
 … Recursively repeat the process
 for the remaining mappings.
  • 43. All client and server software
 is available as open source. linkeddatafragments.org data.linkeddatafragments.org client.linkeddatafragments.org
  • 44. Linked Data Fragments Client-side querying Analyzing client queries The Lonesome LOD Cloud
  • 45. How can we analyze queries
 from intelligent clients? Client queries are different Look at the logs Treat machine clients as humans
  • 46. How can we analyze queries
 from intelligent clients? Client queries are different Look at the logs Treat machine clients as humans
  • 47. Despite being on the Web, we use public SPARQL endpoints like databases. Ask a complex question. Wait. Process the answer.
  • 48. When was the last time
 you used the Web like that? Ask a complex question. Wait. Process the answer.
  • 49. On the Web, there are no final answers.
 We ask questions and iteratively improve. Ask a simple questions. Process answers as they arrive. Create new questions.
  • 50. Show a sorted list of names of Greek artists,
 linked to their DBpedia page. … καλλιτέχνες endpoint
 approach fragment
 approach
  • 51. καλλιτέχνες καλλιτέχνες SPARQL
 endpoint endpoint
 approach Show a sorted list of names of Greek artists,
 linked to their DBpedia page.
  • 52. endpoint
 approach Show a sorted list of names of Greek artists,
 linked to their DBpedia page. SELECT DISTINCT(?person) MIN(?name) WHERE { ?person a dbpedia-owl:Artist; foaf:name ?name; dbpedia-owl:birthPlace ?city. ?city dbpedia-owl:country dbpedia:Greece. } ORDER BY ?name
  • 53. endpoint
 approach Show a sorted list of names of Greek artists,
 linked to their DBpedia page. SELECT DISTINCT(?person) MIN(?name) WHERE { ?person a dbpedia-owl:Artist; foaf:name ?name; dbpedia-owl:birthPlace ?city. ?city dbpedia-owl:country dbpedia:Greece. } ORDER BY ?name
  • 54. endpoint
 approach Show a sorted list of names of Greek artists,
 linked to their DBpedia page. DISTINCT MIN SORT BY keep all results in memory keep all results in memory, blocking keep all results in memory, blocking Consequences: Doesn’t matter; we’re waiting anyway.
  • 55. fragment
 approach Show a sorted list of names of Greek artists,
 linked to their DBpedia page. SELECT ?person ?name
 WHERE { ?person a dbpedia-owl:Artist; foaf:name ?name; dbpedia-owl:birthPlace ?city. ?city dbpedia-owl:country dbpedia:Greece } No blocking operators; streaming is important.
  • 56. καλλιτέχνες καλλιτέχνες fragment
 approach Show a sorted list of names of Greek artists,
 linked to their DBpedia page. καλλιτέχνες
  • 57. Making the LOD cloud less lonesome
 starts with embracing its open nature. How meaningful is a sort anyway? How meaningful is a single answer? Build applications that react to data.
  • 58. How can we analyze queries
 from intelligent clients? Client queries are different Look at the logs Treat machine clients as humans
  • 59. Let’s closely inspect the server logs
 of the “Artists from York” query. SPARQL: http://dbpedia.org/sparql?query=SELECT+%3Fp+ %3Fc+WHERE+%7B%0D%0A++++%3Fp+a+ %3Chttp%3A%2F%2Fdbpedia.org%2Fontology SELECT ?person ?city WHERE { ! ! } ?person a dbpedia-owl:Artist. ?person dbpedia-owl:birthPlace ?city. ?city foaf:name "York"@en.
  • 60. Let’s closely inspect the server logs
 of the “Artists from York” query. basic Linked Data Fragments: /dbpedia /dbpedia?predicate=http%3A%2F%2Fxmlns.com%2Ffoa /dbpedia?predicate=http%3A%2F%2Fwww.w3.org%2F1 /dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo /dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo /dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo /dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo /dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo /dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo /dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo /dbpedia?predicate=http%3A%2F%2Fdbpedia.org%2Fo
  • 61. Let’s closely inspect the server logs
 of the “Artists from York” query. basic Linked Data Fragments: ?c foaf:name "York"@en. ?p rdf:type dbpedia-owl:Artist. ?p dbpedia-owl:birthPlace ?c. ?p dbpedia-owl:birthPlace dbpedia:York_(explorer). ?p dbpedia-owl:birthPlace dbpedia:York_railway_station. ?p dbpedia-owl:birthPlace dbpedia:28220_York. ?p dbpedia-owl:birthPlace dbpedia:York_(provincial_elect ?p dbpedia-owl:birthPlace dbpedia:York,_New_York. dbpedia:Cornelius_R._Parsons rdf:type dbpedia-owl:Artist dbpedia:John_R._McPherson rdf:type dbpedia-owl:Artist.
  • 62. Access logs resulting from basic LDF clients
 are hard to interpret. Parallel requests, unclear dependencies Full query hard to reconstruct Was it SPARQL in the first place?
  • 63. What would we do
 if the users were humans? Create a user profile Use cookies Check the Referer header
  • 64. The Referer header tells us
 the path the client has followed. Interesting, still underused idea Augmenting the Web of Data using Referers
 by Hannes Mühleisen & Anja Jentzsch It explains part of the “why” Allows to reconstruct dependencies
  • 65. Reconstruct dependencies
 from Referer metadata. dbpedia:Cornelius_R._Parsons
 rdf:type dbpedia-owl:Artist. dbpedia:John_R._McPherson
 ?c foaf:name "York"@en. ?p rdf:type dbpedia-owl:Artist. ?p dbpedia-owl:birthPlace ?c. ?p dbpedia-owl:birt ?p dbpedia-owl:birt ?p dbpedia-owl:birt ?p dbpedia-owl:birt ?p dbpedia-owl:birt
  • 66. These dependencies can help us
 cache and prefetch. After retrieving ?s <p> <o> patterns,
 clients often ask for <s> rdfs:label ?l . Example observation: Example action: Always add labels to concepts
 in all responses. cfr. Caching and Prefetching Strategies for SPARQL queries
 by Johannes Lorey and Felix Naumann
  • 67. However, the open-world assumption
 can cause cardinality trouble. SELECT ?person ?label WHERE { ?person a dbpedia-owl:Artist; rdfs:label ?label. } dbpedia:Yannis_Markopoulos a dbpedia-owl:Artist; rdfs:label "Yannis Markopoulos"@en. dbpedia:Yanni a dbpedia-owl:Artist; rdfs:label “Yanni"@en. … Are these all labels?
 Should I ask for more? fragment “?person a dbpedia-owl:Artist”
  • 68. The intent of this query
 is probably different from its semantics. SELECT ?person ?label WHERE { ?person a dbpedia-owl:Artist; rdfs:label ?label. } With SPARQL endpoints, this doesn’t matter.
 Clients don’t have to work more. To optimize client usage patterns,
 this difference is really important.
  • 69. Referers only show part of the story.
 Can we know more? GET /dbpedia?o=dbpedia%3AGreece HTTP/1.1 User-Agent: curl/7.35.0 Host: data.linkeddatafragments.org Accept: text/turtle Referer: http://data.linkeddatafragments.org/dbpedia X-Executed-Query: SELECT ?person ?label WHERE { ?person a dbpe Inform the server what you’re doing. Then the server can help you better in the future.
  • 70. How can we analyze queries
 from intelligent clients? Client queries are different Look at the logs Treat machine clients as humans
  • 71. My reflex when building machine clients
 is to wonder: what would a human do? I don’t expect any server
 to solve my queries;
 I collect small pieces of information
 to solve queries myself.
  • 72. If you as a human use a website
 and it doesn’t work the way you want, what would you do?
  • 73. As a human, I would leave feedback.
 I would comment, like or upvote/downvote. “I tried to find artists from Greece.
 Finding out Greek citizens was easy,
 but the artist checks went quite slow.
 The total query took me 4 minutes,
 whereas I would prefer 1 minute.” ★★★☆☆ Feedback is key
 to improving a service.
  • 74. Why don’t we let machines
 give feedback about their experience? [ a f:ExperienceFeedback; f:author _:agent; f:subject _:query; f:actualSituation [ f:duration "3m"; f:bandwidth "500KB" ]; f:desiredSituation [ f:duration "1m" ] ].
  • 75. If clients are more intelligent than servers,
 we have to analyze usage differently. Enable clients to act smart Creatively reuse human techniques Learn from optimizations feedback
  • 76. Linked Data Fragments Client-side querying Analyzing client queries The Lonesome LOD Cloud
  • 77. Machine clients sending feedback? What you say is total science fiction! What’s next, machine clients
 that poke you on Facebook? “
  • 78. What I consider science fiction: a public endpoint on the Web
 that answers any question.
  • 79. 99.9% of time, a basic LDF client
 solves this query in 3 seconds: Which public SPARQL endpoints
 could guarantee you that? SELECT ?person ?city WHERE { ?person a dbpedia-owl:Artist. ?person dbpedia-owl:birthPlace ?city. ?city foaf:name “York"@en. }
  • 80. You cannot solve all queries
 with basic Linked Data Fragments! SELECT ?x ?l WHERE { ?x rdfs:label ?l. FILTER REGEX(?l, "^A") } “
  • 81. The Semantic Web tried
 to solve too much too fast. The result is
 a very lonesome LOD Cloud. You can query anything, but it never works.
  • 82. Start with enabling tasks
 humans could easily do. SELECT ?x ?l WHERE { ?x rdfs:label ?l. FILTER REGEX(?l, "^A") }
  • 83. Start with enabling tasks
 humans could easily do. SELECT ?person ?city WHERE { ?person a dbpedia-owl:Artist. ?person dbpedia-owl:birthPlace ?city. ?city foaf:name "York"@en. }
  • 84. Start with enabling tasks
 humans could easily do. “I tried to find artists from Greece.
 Finding out Greek citizens was easy,
 but the artist checks went quite slow.
 The total query took me 4 minutes,
 whereas I would prefer 1 minute.” ★★★☆☆
  • 85. Start with enabling tasks
 humans could easily do. After that,
 we’ll talk about the rest.
  • 86. The LOD usage community
 can help create intelligent clients. Put the intelligent servers aside,
 enable clients to be intelligent. Look at usage from the perspective
 of intelligent clients.
  • 87. The LOD Cloud is lonesome
 because we gave
 human and machine clients
 different interfaces. Let’s make the simple things work.
 Let’s get the data used.
  • 88. The Lonesome LOD Cloud @RubenVerborgh