Is this really a line?
Linked Data Fragments World
SPARQL endpoints
Data �dumps
Triple patterns
Bindings-restricted
triple patterns
Linked-data�documents
Basic graph�patterns
...
Specific requests�Low server availability�High server effort
Generic requests�High server availability�High client effort
Is this really a line?
“Give me all the subjects and objects �of triples whose predicate is rdf:type”
SPARQL endpoints
Data �dumps
Triple patterns
Bind-restricted
triple patterns
Linked-data�documents
Basic graph�patterns
...
Is this really a line?
“Give me all persons reachable from Peter �following two foaf:knows links”
SPARQL endpoints
Data �dumps
Triple patterns
Linked-data�documents
A more fundamental �understanding of LDF interfaces
Can we analyze an interface before �actually implementing it?
What is the best way to use an interface �given a specific budget?
Server
Client
A Formal Framework to �Compare Linked Data Fragments
Olaf Hartig Ian Letter Jorge Pérez
Main contributions
Formal machine model for LDF settings�based on Turing Machines
Complete expressiveness lattice�considering several combinations of interfaces
Fine grained complexity analysis�classical complexity, # requests, data transferred
Linked Data Fragment Machine�(LDFM)
LDFM
G
answer
Client Oracle
Server Oracle
Turing Machine
query
...
(response containers)
(regular tapes)
response1
response2
responseK
...
server request
output expression
(LC LS)-LDFM
Client Oracle
Server Oracle
Turing Machine
...
(response containers)
(regular tapes)
...
server request
output expression
LC
LS
({⨝},TPF)-LDFM
G
answer
Client Oracle
Server Oracle
Turing Machine
(?X,a,?Y) AND (?X,b,?Y)
...
{⨝}
TPF
r1 = { u1, u2, … }
r2 = { v1, v2, … }
(?X,a,?Y)
r1 ⨝ r2
(?X,b,?Y)
(Ø,brTPF)-LDFM
G
answer
Client Oracle
Server Oracle
Turing Machine
(?X,a,?Y) AND (?X,b,?Y)
...
Ø
brTPF
r1 = { u1, u2,…, uK }
r2 = { v1, v2, … }
(?X,a,?Y)
r2
(?X,b,?Y), u1,u2,...,uK
What are the queries computed by�(LC LS) LDFMs?
(LC LS) ≡ (RC RS)
(LC LS) ≺ (RC RS)
Expressiveness Lattice
Client Languages
��
�
�
response combinations
Server Languages���
�
LDF interfaces
TPF
brTPF�BGP�SPARQL
subsets of�{ ∪, ⨝, ⟕, π }
(Ø,BGP) ≡ ({⨝},TPF)
({⨝},TPF)
({∪},TPF)
({∪,⨝,⟕,π},TPF)
(Ø, TPF)
({∪,⨝,⟕,π}, brTPF)
({∪,⨝,⟕,π}, brTPF) ≡ ({∪,⨝}, brTPF)
({∪,⨝,⟕,π}, brTPF) ≡ ({∪,⨝}, brTPF)�({∪,⨝,⟕,π}, SPARQL)
({∪}, brTPF)
({⨝}, brTPF)
(Ø, brTPF)
({∪,⨝,⟕,π}, brTPF) ≡ ({∪,⨝}, brTPF)�({∪,⨝,⟕,π}, SPARQL)
(Ø,BGP) ≡ ({⨝},TPF)
({∪}, brTPF)
({∪},TPF)
({∪,⨝,⟕,π},TPF)
({⨝}, brTPF)
(Ø, brTPF)
(Ø, TPF)
Fine-Grained Complexity Analysis
# requests�comm. bandwidth
G
Client Oracle
Server Oracle
Turing Machine
query
...
response1
response2
responseK
...
server request
output expression
answer
in terms of�|resp1| + |resp2| + … + |respK|
(LC LS) ≺T (RC RS)
in terms of K
(LC LS) ≺R (RC RS)
({∪,⨝,⟕,π}, brTPF)
({∪,⨝}, brTPF)
({∪,⨝,⟕,π}, brTPF)
({∪,⨝}, brTPF)
(Ø,BGP)
({⨝},TPF)
(Ø,BGP)
({⨝},TPF)
R
T
R
T
A theory for comparing different
access protocols for SemWeb data
More fundamental understanding of �combinations of LDF interfaces
Machine model + first results on expressiveness and complexity
A theory for comparing different
access protocols for SemWeb data
Include new LDF interfaces�and client languages��Improve the machine model �and consider new metrics��Formal study of SemWeb query planning
A Formal Framework to �Compare Linked Data Fragments
Olaf Hartig Ian Letter Jorge Pérez
@olafhartig
@perez
Chilean Center�for Semantic Web�Research
Linköping University�