SlideShare a Scribd company logo
1 of 88
The Lonesome LOD Cloud
Ruben Verborgh
The Web for humans oļ¬€ers
an HTTP interface to HTML documents.
client dataHTTP
HTML
The Web for applications oļ¬€ers
an HTTP interface to JSON documents.
client dataHTTP
JSON
The Web for intelligent agents oļ¬€ers
an HTTP interface to RDF documents.
client dataHTTP
RDF
The Web for intelligent agents oļ¬€ers
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 eļ¬ƒcient.
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 speciļ¬c 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, ļ¬le 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 deļ¬ne APIs that eļ¬ƒciently 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
Eļ¬ƒciently 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 diļ¬€erent
Look at the logs
Treat machine clients as humans
How can we analyze queriesā€Ø
from intelligent clients?
Client queries are diļ¬€erent
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 ļ¬nal 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 diļ¬€erent
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 ļ¬rst place?
What would we doā€Ø
if the users were humans?
Create a user proļ¬le
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 diļ¬€erence 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 diļ¬€erent
Look at the logs
Treat machine clients as humans
My reļ¬‚ex 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 ļ¬nd 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 diļ¬€erently.
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 ļ¬ction!
Whatā€™s next, machine clientsā€Ø
that poke you on Facebook?
ā€œ
What I consider science ļ¬ction:
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 ļ¬nd 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ā€Ø
diļ¬€erent interfaces.
Letā€™s make the simple things work.ā€Ø
Letā€™s get the data used.
The Lonesome LOD Cloud
@RubenVerborgh

More Related Content

What's hot

Web data from R
Web data from RWeb data from R
Web data from R
schamber
Ā 
Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011
Juan Sequeda
Ā 
Semantic Technologies: Representing Semantic Data
Semantic Technologies: Representing Semantic DataSemantic Technologies: Representing Semantic Data
Semantic Technologies: Representing Semantic Data
Matthew Rowe
Ā 
Bigdive 2014 - RDF, principles and case studies
Bigdive 2014 - RDF, principles and case studiesBigdive 2014 - RDF, principles and case studies
Bigdive 2014 - RDF, principles and case studies
Diego Valerio Camarda
Ā 
Introduction to Linked Data 1/5
Introduction to Linked Data 1/5Introduction to Linked Data 1/5
Introduction to Linked Data 1/5
Juan Sequeda
Ā 

What's hot (20)

Initial Usage Analysis of DBpedia's Triple Pattern Fragments
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
Ā 
Querying data on the Web ā€“ client or server?
Querying data on the Web ā€“ client or server?Querying data on the Web ā€“ client or server?
Querying data on the Web ā€“ client or server?
Ā 
RDFa Tutorial
RDFa TutorialRDFa Tutorial
RDFa Tutorial
Ā 
Web data from R
Web data from RWeb data from R
Web data from R
Ā 
Linking media, data, and services
Linking media, data, and servicesLinking media, data, and services
Linking media, data, and services
Ā 
Reasoned SPARQL
Reasoned SPARQLReasoned SPARQL
Reasoned SPARQL
Ā 
A Semantic Data Model for Web Applications
A Semantic Data Model for Web ApplicationsA Semantic Data Model for Web Applications
A Semantic Data Model for Web Applications
Ā 
Open Standards for the Semantic Web: XML / RDF(S) / OWL / SOAP
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
Ā 
Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011
Ā 
Semantic Technologies: Representing Semantic Data
Semantic Technologies: Representing Semantic DataSemantic Technologies: Representing Semantic Data
Semantic Technologies: Representing Semantic Data
Ā 
"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
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
Ā 
RDFa: introduction, comparison with microdata and microformats and how to use it
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
Text Analytics Online Knowledge Base / DatabaseText Analytics Online Knowledge Base / Database
Text Analytics Online Knowledge Base / Database
Ā 
Tabular Data on the Web
Tabular Data on the WebTabular Data on the Web
Tabular Data on the Web
Ā 
Bigdive 2014 - RDF, principles and case studies
Bigdive 2014 - RDF, principles and case studiesBigdive 2014 - RDF, principles and case studies
Bigdive 2014 - RDF, principles and case studies
Ā 
Introduction to Linked Data 1/5
Introduction to Linked Data 1/5Introduction to Linked Data 1/5
Introduction to Linked Data 1/5
Ā 
On the Persistence of Persistent Identifiers of the Scholarly Web
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
Ā 
SUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)data
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
OrientDB: Unlock the Value of Document Data RelationshipsOrientDB: Unlock the Value of Document Data Relationships
OrientDB: Unlock the Value of Document Data Relationships
Ā 
JSON-LD update DC 2017
JSON-LD update DC 2017JSON-LD update DC 2017
JSON-LD update DC 2017
Ā 

Viewers also liked

RESTdesc ā€“ Efficient runtime service discovery and consumption
RESTdesc ā€“ Efficient runtime service discovery and consumptionRESTdesc ā€“ Efficient runtime service discovery and consumption
RESTdesc ā€“ Efficient runtime service discovery and consumption
Ruben Verborgh
Ā 
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...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Markus Lanthaler
Ā 
Distributed Affordance
Distributed AffordanceDistributed Affordance
Distributed Affordance
Ruben Verborgh
Ā 

Viewers also liked (20)

Potential and Impact of Open Data in Europe
Potential and Impact of Open Data in EuropePotential and Impact of Open Data in Europe
Potential and Impact of Open Data in Europe
Ā 
Semantic Web Services: State of the Art
Semantic Web Services: State of the ArtSemantic Web Services: State of the Art
Semantic Web Services: State of the Art
Ā 
RESTdesc ā€“ Efficient runtime service discovery and consumption
RESTdesc ā€“ Efficient runtime service discovery and consumptionRESTdesc ā€“ Efficient runtime service discovery and consumption
RESTdesc ā€“ Efficient runtime service discovery and consumption
Ā 
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...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Ā 
Adrs Presentation March 2008
Adrs Presentation March 2008Adrs Presentation March 2008
Adrs Presentation March 2008
Ā 
A Semantic Description Language for RESTful Data Services to Combat Semaphobia
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
Ā 
Hypermedia Cannot be the Engine
Hypermedia Cannot be the EngineHypermedia Cannot be the Engine
Hypermedia Cannot be the Engine
Ā 
F-interop Meetup
F-interop MeetupF-interop Meetup
F-interop Meetup
Ā 
SAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based ServicesSAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based Services
Ā 
The web ā€“ A hypermedia story
The web ā€“ A hypermedia storyThe web ā€“ A hypermedia story
The web ā€“ A hypermedia story
Ā 
End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012
Ā 
A Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and HydraA Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and Hydra
Ā 
Web Standards adoption in the AR market
Web Standards adoption in the AR marketWeb Standards adoption in the AR market
Web Standards adoption in the AR market
Ā 
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 ...
LODeX: Schema Summarization and automatic SPARQL query generation for Linked ...
Ā 
Linked Data Generation Process
Linked Data Generation ProcessLinked Data Generation Process
Linked Data Generation Process
Ā 
Distributed Affordance
Distributed AffordanceDistributed Affordance
Distributed Affordance
Ā 
What is Hydra?
What is Hydra?What is Hydra?
What is Hydra?
Ā 
Lisp Macros in 20 Minutes (Featuring Clojure)
Lisp Macros in 20 Minutes (Featuring Clojure)Lisp Macros in 20 Minutes (Featuring Clojure)
Lisp Macros in 20 Minutes (Featuring Clojure)
Ā 
A Web of Things to Reduce Energy Wastage
A Web of Things to Reduce Energy WastageA Web of Things to Reduce Energy Wastage
A Web of Things to Reduce Energy Wastage
Ā 
HTTP and Your Angry Dog
HTTP and Your Angry DogHTTP and Your Angry Dog
HTTP and Your Angry Dog
Ā 

Similar to The Lonesome LOD Cloud

Semantic Pipes and Semantic Mashups
Semantic Pipes and Semantic MashupsSemantic Pipes and Semantic Mashups
Semantic Pipes and Semantic Mashups
giurca
Ā 
A hands on overview of the semantic web
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.
Ā 
SPARQL in the Semantic Web
SPARQL in the Semantic WebSPARQL in the Semantic Web
SPARQL in the Semantic Web
Jan Beeck
Ā 
Consuming linked data by machines
Consuming linked data by machinesConsuming linked data by machines
Consuming linked data by machines
Patrick Sinclair
Ā 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQL
Lino Valdivia
Ā 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n Bolts
Rinke Hoekstra
Ā 

Similar to The Lonesome LOD Cloud (20)

Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of Data
Ā 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic Web
Ā 
Semantic Pipes and Semantic Mashups
Semantic Pipes and Semantic MashupsSemantic Pipes and Semantic Mashups
Semantic Pipes and Semantic Mashups
Ā 
Linked Open Data
Linked Open DataLinked Open Data
Linked Open Data
Ā 
CSHALS 2010 W3C Semanic Web Tutorial
CSHALS 2010 W3C Semanic Web TutorialCSHALS 2010 W3C Semanic Web Tutorial
CSHALS 2010 W3C Semanic Web Tutorial
Ā 
Graph Analysis over JSON, Larus
Graph Analysis over JSON, LarusGraph Analysis over JSON, Larus
Graph Analysis over JSON, Larus
Ā 
A hands on overview of the semantic web
A hands on overview of the semantic webA hands on overview of the semantic web
A hands on overview of the semantic web
Ā 
Linked data and voyager
Linked data and voyagerLinked data and voyager
Linked data and voyager
Ā 
SPARQL in the Semantic Web
SPARQL in the Semantic WebSPARQL in the Semantic Web
SPARQL in the Semantic Web
Ā 
Explicit Semantics in Graph DBs Driving Digital Transformation With Neo4j
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
Consuming linked data by machinesConsuming linked data by machines
Consuming linked data by machines
Ā 
A Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsA Little SPARQL in your Analytics
A Little SPARQL in your Analytics
Ā 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQL
Ā 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
Ā 
HyperGraphQL
HyperGraphQLHyperGraphQL
HyperGraphQL
Ā 
Do 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 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)
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)
Ā 
Efficient RDF Interchange (ERI) Format for RDF Data Streams
Efficient RDF Interchange (ERI) Format for RDF Data StreamsEfficient RDF Interchange (ERI) Format for RDF Data Streams
Efficient RDF Interchange (ERI) Format for RDF Data Streams
Ā 
Lifting the Lid on Linked Data
Lifting the Lid on Linked DataLifting the Lid on Linked Data
Lifting the Lid on Linked Data
Ā 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n Bolts
Ā 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(ā˜Žļø+971_581248768%)**%*]'#abortion pills for sale in dubai@
Ā 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
Ā 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
Ā 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Ā 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
Ā 

Recently uploaded (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
Ā 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Ā 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Ā 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
Ā 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Ā 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Ā 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
Ā 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
Ā 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Ā 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Ā 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Ā 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
Ā 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Ā 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Ā 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Ā 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
Ā 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Ā 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Ā 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
Ā 

The Lonesome LOD Cloud

  • 1. The Lonesome LOD Cloud Ruben Verborgh
  • 2. The Web for humans oļ¬€ers an HTTP interface to HTML documents. client dataHTTP HTML
  • 3. The Web for applications oļ¬€ers an HTTP interface to JSON documents. client dataHTTP JSON
  • 4. The Web for intelligent agents oļ¬€ers an HTTP interface to RDF documents. client dataHTTP RDF
  • 5. The Web for intelligent agents oļ¬€ers 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 eļ¬ƒcient. 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 speciļ¬c 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, ļ¬le 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 deļ¬ne APIs that eļ¬ƒciently 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 Eļ¬ƒciently 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 diļ¬€erent Look at the logs Treat machine clients as humans
  • 46. How can we analyze queriesā€Ø from intelligent clients? Client queries are diļ¬€erent 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 ļ¬nal 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
  • 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 diļ¬€erent 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 ļ¬rst place?
  • 63. What would we doā€Ø if the users were humans? Create a user proļ¬le 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 diļ¬€erence 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 diļ¬€erent Look at the logs Treat machine clients as humans
  • 71. My reļ¬‚ex 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 ļ¬nd 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 diļ¬€erently. 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 ļ¬ction! Whatā€™s next, machine clientsā€Ø that poke you on Facebook? ā€œ
  • 78. What I consider science ļ¬ction: 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 ļ¬nd 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ā€Ø diļ¬€erent interfaces. Letā€™s make the simple things work.ā€Ø Letā€™s get the data used.
  • 88. The Lonesome LOD Cloud @RubenVerborgh