Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
! !
!"#$%&'()*+&"*,"-*./*0#+#
!"#$%&'()'#)*+,-)./012)3$45$6
1"$#$2*2"*3"4.
56!5*7"$8"4"9
!""#$%%&'()*+*,-%-./%
:#+;#*<.="
...
! !
AB$*CB+.$'#4*C.2#9
! 7589:"(9;)0/;//<01;1/
! +$==99)>%9'?;)00;1/<0.;//
! @"94#&$A4;)BAC)#&D9
! 7(&:94;)E&(()F9)'G'&('F...
! !
C&"*D4#(
! 5(+$.2B%+'.(
! !+$B%+B$"2*0#+#*.(*+&"*,"-
! EB"$9'()*F'(8"2*AG"(*0#+#
! EB"$9'()*+&"*,"-*./*0#+#
! EB"$9*?(...
! !
5(+$.2B%+'.(
! 5(GB+H)H9C6$%:42)I$54
! 0"='$"2*AB+GB+H
I$5"D9A#)-'A?&AJ
! !
5(+$.2B%+'.(
! 5(GB+H)H9C6$%:42)#89)E$%(:K4)I'#'
! C$B"*0"='$"2*AB+GB+H
B::%944)L49%K4)M99:4
! !
?="$I=*J""2=
M99:AK#)F9)N('&A)&A=$%D'#&$A)A99:4
! !
?="$I=*J""2=
M99:AK#)F9)J9A"&A9)O&A=$%D'#&$AP)A99:4
! !
AB$*K.%B=H*5(/.$L#+'.(*J""2=
! !
AB$*K.%B=H*5(/.$L#+'.(*J""2=
! !
0#+#M0$'@"(*>(=N"$=
! !
0#+#M0$'@"(*>(=N"$=
! !
0#+#M0$'@"(*>(=N"$=
! !
0#+#M0$'@"(*>(=N"$=
! !
0#+#M0$'@"(*>(=N"$=
! !
0#+#M0$'@"(*>(=N"$=
! !
0#+#M0$'@"(*>(=N"$=
! !
0#+#M0$'@"(*>(=N"$=
#22$"=='()*.+&"$*5(+"(+=
! !
0#+#M0$'@"(*>(=N"$=
#22$"=='()*.+&"$*5(+"(+=
! !
C&"*,"-*#=*#*0#+#-#="H*
O(+'+'"=
! !
C&"*,"-*#=*#*0#+#-#="H*
O(+'+'"=
! !
C&"*,"-*#=*#*0#+#-#="H
>++$'-B+"=PQ"4#+'.(=&'G=
Q$F)!&#(9
R$5'#&$A
7#'%#&AJ)I'#9
7'('%C
9#5S
M96
49'%58
5'N'F&(&#&94
! !
C&"*D4#(
! 5(+$.2B%+'.(
! !+$B%+B$"2*0#+#*.(*+&"*,"-
! EB"$9'()*F'(8"2*AG"(*0#+#
! EB"$9'()*+&"*,"-*./*0#+#
! EB"$9*?(...
Searching the Web of Data
Outline I
1 Structured data on the Web
Semantic markup
Semantic Web and Linked Open Data
Data ma...
Searching the Web of Data
Structured data on the Web
Structured data on the Web
Semantic Markup (metadata, tags) embedded ...
Searching the Web of Data
Structured data on the Web
Semantic markup
Semantic markup
If the search engine gets some help i...
Searching the Web of Data
Structured data on the Web
Semantic markup
Microformats
Efforts started in 2003
Fixed formats for...
Searching the Web of Data
Structured data on the Web
Semantic markup
hCard example
<div>
<img src="www.example.com/bobsmit...
Searching the Web of Data
Structured data on the Web
Semantic markup
RDFa
Proposed in 2004, W3C recommendation
Can be used...
Searching the Web of Data
Structured data on the Web
Semantic markup
RDFa example
<div>
My name is Bob Smith but people ca...
Searching the Web of Data
Structured data on the Web
Semantic markup
Facebook’s Open Graph Protocol
Introduction of “like”...
Searching the Web of Data
Structured data on the Web
Semantic markup
Microdata
Proposed in 2009 as part of HTML5
Alternati...
Searching the Web of Data
Structured data on the Web
Semantic markup
Microdata
<div>
My name is Bob Smith but people call ...
Searching the Web of Data
Structured data on the Web
Semantic markup
schema.org
“Standardized” vocabulary 2011, supported ...
Searching the Web of Data
Structured data on the Web
Semantic markup
Embedded data in HTML
RDFa and Microdata usage grows,...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
Google Knowledge Graph
Currently1, ...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
Google Knowledge Graph
Katja Hose S...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
Google Knowledge Graph
Katja Hose S...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
1 Structured data on the Web
Semant...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
Semantic Web
http://www.slideshare.net/lod2project/the-semantic-data-web-sren-auer-university-of-leipzig
Katja Hose Searching the Web o...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
Semantic Web
Web 1.0 (standard Web)...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
http://www.slideshare.net/cloudofda...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
Standards
Sharing structured data a...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
Linked Open Data: design issues
Des...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
Growth: Semantic Web and Linked Ope...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
Growth: Semantic Web and Linked Ope...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
Growth: Semantic Web and Linked Ope...
Searching the Web of Data
Structured data on the Web
Semantic Web and Linked Open Data
Growth: Semantic Web and Linked Ope...
Searching the Web of Data
Structured data on the Web
Data management
1 Structured data on the Web
Semantic markup
Semantic...
Searching the Web of Data
Structured data on the Web
Data management
Knowledge bases
Large collections of semantic data
YA...
Searching the Web of Data
Structured data on the Web
Data management
RDF
Each resource (entity) is identified by a globally...
Searching the Web of Data
Structured data on the Web
Data management
RDF
Each resource (entity) is identified by a globally...
Searching the Web of Data
Structured data on the Web
Data management
RDF
Triples connect to graphs
dbpedia-owl:country
dbp...
Searching the Web of Data
Structured data on the Web
Data management
RDF
Triples connect to graphs. . . and possibly other...
Searching the Web of Data
Structured data on the Web
Data management
Schema
The schema (vocabulary, ontology) can be expre...
Searching the Web of Data
Structured data on the Web
Data management
Managing large amounts of RDF data
Relational RDF dat...
Searching the Web of Data
Structured data on the Web
Data management
A single relational table
Example triples
(dbpedia:Aa...
Searching the Web of Data
Structured data on the Web
Data management
A single relational table
Example triples
(dbpedia:Aa...
Searching the Web of Data
Structured data on the Web
Data management
Property tables
Example triples
(dbpedia:Aalborg, dbp...
Searching the Web of Data
Structured data on the Web
Data management
Property tables
Example triples
(dbpedia:Aalborg, dbp...
Searching the Web of Data
Structured data on the Web
Data management
Property tables
city
subject country isPartOf populat...
Searching the Web of Data
Structured data on the Web
Data management
Binary tables
Example triples
(dbpedia:Aalborg, dbped...
Searching the Web of Data
Structured data on the Web
Data management
Binary tables
dbpedia-owl:country
subject object
dbpe...
Searching the Web of Data
Structured data on the Web
Data management
Native triple stores
RDF-3X [7]
Dictionary encoding t...
Searching the Web of Data
Structured data on the Web
Data management
Column stores
SW-Store [1]
Binary tables in combinati...
Searching the Web of Data
Structured data on the Web
Data management
More alternatives
Store RDF data in a matrix with bit...
Searching the Web of Data
Querying Linked Open Data
1 Structured data on the Web
Semantic markup
Semantic Web and Linked O...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Who is Carlo Pedersoli?
Katja Hose Search...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Who is Carlo Pedersoli?
Katja Hose Search...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Who is Carlo Pedersoli?
Katja Hose Search...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Who is Carlo Pedersoli?
Katja Hose Search...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Who is Carlo Pedersoli?
Katja Hose Search...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Who is Carlo Pedersoli?
Katja Hose Search...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Who is Carlo Pedersoli?
Katja Hose Search...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Who is Carlo Pedersoli?
Katja Hose Search...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Who is Carlo Pedersoli?
Katja Hose Search...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Who is Carlo Pedersoli?
Katja Hose Search...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Who is Carlo Pedersoli?
Katja Hose Search...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Who is Carlo Pedersoli?
Katja Hose Search...
Searching the Web of Data
Querying Linked Open Data
Browser-based link traversal
Browser-based link traversal
Browser-base...
Searching the Web of Data
Querying Linked Open Data
Keyword search for Linked Data
1 Structured data on the Web
Semantic m...
Searching the Web of Data
Querying Linked Open Data
Keyword search for Linked Data
Keyword search for Linked Data
Given a ...
Searching the Web of Data
Querying Linked Open Data
Keyword search for Linked Data
Falcons
Focus: entities
Crawling
Follow...
Searching the Web of Data
Querying Linked Open Data
Keyword search for Linked Data
Falcons
Query processing
Keywords
Filte...
Searching the Web of Data
Querying Linked Open Data
Keyword search for Linked Data
Falcons
http://ws.nju.edu.cn/falcons/ob...
Searching the Web of Data
Querying Linked Open Data
Keyword search for Linked Data
Falcons
http://ws.nju.edu.cn/falcons/ob...
Searching the Web of Data
Querying Linked Open Data
Keyword search for Linked Data
Falcons
http://ws.nju.edu.cn/falcons/ob...
Searching the Web of Data
Querying Linked Open Data
Keyword search for Linked Data
Sindice
Original focus: documents and s...
Searching the Web of Data
Querying Linked Open Data
Keyword search for Linked Data
Sindice
http://sindice.com
Katja Hose S...
Searching the Web of Data
Querying Linked Open Data
Keyword search for Linked Data
Sindice
http://sindice.com
Katja Hose S...
Searching the Web of Data
Querying Linked Open Data
Keyword search for Linked Data
Indexing
Indexes on virtual documents
C...
Searching the Web of Data
Querying Linked Open Data
Structured queries
1 Structured data on the Web
Semantic markup
Semant...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Structured queries
What are the movies that both Ca...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Structured queries
Structured query language
SPARQL...
Searching the Web of Data
Querying Linked Open Data
Structured queries
SPARQL
Example query
PREFIX dbpedia: http://dbpedia...
Searching the Web of Data
Querying Linked Open Data
Structured queries
SPARQL
Example query
PREFIX dbpedia: http://dbpedia...
Searching the Web of Data
Querying Linked Open Data
Structured queries
SPARQL
Example query
PREFIX dbpedia: http://dbpedia...
Searching the Web of Data
Querying Linked Open Data
Structured queries
SPARQL
Query
dbpedia-owl:country
dbpedia:Denmark
db...
Searching the Web of Data
Querying Linked Open Data
Structured queries
SPARQL
Query
dbpedia-owl:country
dbpedia:Denmark
db...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Query processing strategies
Query processing strate...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Query processing strategies
Query processing strate...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Materialized query processing
Characteristics
Centr...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Materialized query processing
Characteristics
Centr...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Materialized query processing
Characteristics
Centr...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Clustered RDF management
Data graph
Katja Hose Sear...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Clustered RDF management
Graph partitioning
Katja H...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Clustered RDF management
Assigning triples to parti...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Clustered RDF management
2-hop guarantee
Katja Hose...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Clustered RDF management
Query execution is more effi...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Clustered RDF management
Query execution is more effi...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Clustered RDF management
Find football players play...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Clustered RDF management
Find football players play...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Clustered RDF management
Find football players play...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Clustered RDF management
Find football players play...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Clustered RDF management
If the query is too “big”,...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Clustered RDF management
If the query is too “big”,...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Query processing strategies
Query processing strate...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Query processing strategies
Query processing strate...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Federated query processing
Federated SPARQL query p...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection
Goal
Identify sources that might c...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection
Goal
Identify sources that might c...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Naive federated query processing
Scenario
SPARQL en...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Naive federated query processing
Scenario
SPARQL en...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Naive federated query processing
Scenario
SPARQL en...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Naive federated query processing
Example query
SELE...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Naive federated query processing
Example query
SELE...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Naive federated query processing
Example query
SELE...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Naive federated query processing
Example query
SELE...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection
Goal
Identify sources that might c...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection with SPARQL ASK
Does not require s...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection with SPARQL ASK
Does not require s...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection with SPARQL ASK
Does not require s...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection
Goal
Identify sources that might c...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection with VoID statistics
Example DBped...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection with VoID statistics
Example DBped...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection with VoID statistics
Example DBped...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection with VoID statistics
Example DBped...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection with VoID statistics
Example DBped...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Source selection
Goal
Identify sources that might c...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Histogram-based indexing
Index complete triples
Ind...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Histogram-based indexing
Histograms
Transform tripl...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Histogram-based indexing
Histograms
Transform tripl...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Histogram-based indexing
Histograms
Transform tripl...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Histogram-based indexing
Histograms
Transform tripl...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Histogram-based indexing
Histograms
Transform tripl...
Searching the Web of Data
Querying Linked Open Data
Structured queries
Histogram-based indexing
Join cardinality estimatio...
Searching the Web of Data
Querying Linked Open Data
Summary: querying Linked Open Data
Querying Linked Open Data (LOD)
Bro...
Searching the Web of Data
Querying Linked Open Data
References I
[1] Daniel J. Abadi, Adam Marcus, Samuel Madden, and Kate...
Searching the Web of Data
Querying Linked Open Data
References II
[7] Thomas Neumann and Gerhard Weikum. RDF-3X: a RISC-st...
! !
C*D4#(
! 5(+$.2B%+'.(
! !+$B%+B$2*0#+#*.(*+*,-
! EB$9'()*F'(82*AG(*0#+#
! EB$9'()*+*,-*./*0#+#
! EB$9*?(2$=+#(2'()
! A...
! !
++$'-B+M7#=2*O(+'+9*!#$%
! !
1$#GM7#=2*O(+'+9*!#$%
! !
1$#GM7#=2*O(+'+9*!#$%
TBUV.)%$649%;)O!#$%$'()*#+,%-+.+%$.+)/+0%01.#*2%
/+%3),/%$+*/1.4%#*%5#3#$*%6)33+4%!
#$$%'!('!%)*...
! !
1$#G*EB$9*D$.%=='()
! 7D'%#)A:9WAJ)$=)
#%N(94
! Q$A)V%:9%)
VN#DX'#$A;)
'(()N9$N(9)G4S)'(()
M$F9()N%X9)6AA9%4
-IY1Z)[M9...
! !
! !
1$#G*EB$9*Q4#R#+'.(
! D$.-4LH)7#%5#%9:)I'#')$=#9A)A5$DN(9#9
! !.4B+'.(H)+'%9=()@9%C)-9('W'#$A
9SJS)
F$%A,A)_)5#X9AV=2)...
! !
02BG4'%#+'.(
! !
02BG4'%#+'.(
! !
02BG4'%#+'.(
'($J)[,Q+B,)R`I)E$%?48$N)./00];
9W#%'5#)N%$:5#)'##%F#94)#$)DN%$G9)
N%$:5#):9:N(5'#$A
! !
02BG4'%#+'.(
! !
02BG4'%#+'.(
! F5J0*
S7TL*+*#4U*65:3*VWXVY
! B#$D'#5'((C)5%9'#9)A96)(A?4
68(9)'55$A#AJ)=$%
:9N9A:9A594
! 3'N-9:59F'49:...
! !
02BG4'%#+'.(
:9)39($)a)E9?D)[./0/]S)LA#'AJ(AJ)#89)+%$44RAJ'()
RA?)7#%5#%9)$=)E?N9:'S)B+R)./0/
':)9A##C)(A?4)
(9':)#$)A...
! !
02BG4'%#+'.(*OR#LG4H
FR@.U.$)
:9)39($)a)E9?D)[,7E+).//]
R'AJ'J94
75%N#4
+$A#%94
+8'%'5#9%4
E$%:4
E$%:)79A494
*#5S
`F)A...
! !
02BG4'%#+'.(
I'(#$A2)3?')
a)('A5$)
[+,H3)./00];
-'A?AJ)
A99:4)#$)#'?9)
A#$)'55$A#)
5$%9=9%9A59c
:9:N(5'#$A)
%94(#4
! !
JR+H*Q#(8'()
! !
5JOZ*O(+'+9*C$#%8
! 1.#4H)JG9A)')(4#)b9%C2)=A:)'A:)%'A?)%9(9G'A#)
9A##94)=%$D)'A)Z3R)5$((95#$A)[E?N9:']
! OR#LG4H)O!#$...
! !
CQO6*O(+'+9*C$#%8
! -'A?AJ)9A##94)=$A:)A)')G4#'(+R+*5$((95#$A)
[+(9E9F]
! .//d)#'4?;)=A:)%9('#9:)9A##94
!#$%!'#$%
!()*...
! !
D$./'4M7#=2*Q#(8'()
0SL49)A'D9:)9A##C):9#95#$A)#$$(4)#$)
=A:)A'D9:)(+'+'=*'(*2.%BL(+*
%.44%+'.(
.SY$%)9'58)9A##C2)49)#...
! !
CR+*Q=B4+M7#=2*Q#(8'()
0SY%4#)=A:)%9(9G'A#):$5D9A#4
.S*W#%'5#)9A##94)=%$D)#8949):$5D9A#4
1SL49)G'%$4)4$%#4)$=)%'A?AJ)#...
! !
C#R.(.L'%*K'4+$'()
! Y(#9%)9A##94)F'49:)$A)#89%)
$A#$($J5'()#CN9)[9SJS)%#-$(2)
$#8'(,9'+,$(2)$%)D$%9)4N95=5;)
6-62)6$:...
! !
3OJCH*3B4+'4'()B#4*C#R.(.L9*
S/$.L*,.$2J+*[*VW*,'8'G2'#=Y
2*34.*]*,'8BLU*65:3*VWXWU
++GHPP+'(9U%%PBN(#G'
! !
Q#(8'()*!B-)$#G=*
))))))))9=$%9; YA:)9A##94
))))))))M$6; YA:)68$(9)4FJ%'N842)9SJS)D'#58AJ
))))))))))))))))) ?9C6$%:4
*...
! !
Q#(8'()*!B-)$#G=*
! MBUB)
[H'4A95)9#)'(S).//])
7#'#4#5'()('AJ'J9)
D$:9()=$%)%'A?AJ)
9A##C%9('#$A48N)
4FJ%'N84
!89C)'((...
! !
Q#(8'()*!B-)$#G=
!B-)$#G=*=.B42*-*2(=*#(2*'(/.$L#+'@
C9G'%#4*GG$.#%H*
=A:)7#9A9%)!%994
OR#LG4H
BAJ9(')39%?9(
B%A$(:)75...
! !
EB=+'.(=^
! !
C*D4#(
! 5(+$.2B%+'.(
! !+$B%+B$2*0#+#*.(*+*,-
! EB$9'()*F'(82*AG(*0#+#
! EB$9'()*+*,-*./*0#+#
! EB$9*?(2$=+#(2'()
! A...
! !
J#L2*O(+'+9*Q%.)('+'.(
3.$*+#(*L.$*+#(*_W`*./*
,-*=#$%*()'(*aB$'=*
#'L*#+*(+'+'=
SD.B(2*+*#4U*,,,*VWXWY
U)U*
G.G4b*
G4...
! !
J#L2*O(+'+9*Q%.)('+'.(
U$$J(9)f9#J94#)
./0.)!$N)!%9A:AJ)
79'%5894
[5%9:#;)
-$F9%#)M9D'C9%]
! !
J#L2*O(+'+9*Q%.)('+'.(
! !
J#L2*O(+'+9*Q%.)('+'.(
Q=#$%*6#44()H
.N*+.*L#=B$*B=$*
=#+'=/#%+'.(^*
A/+(*#GG#$(+49*(.*/2-#%8*
#4+.B)*B=$*'=*#GG'$U
! !
J#L2*O(+'+9*0'=#L-')B#+'.(
! !
J#L2*O(+'+9*0'=#L-')B#+'.(
! !
F'=+*EB$9*0+%+'.(
XV`*./*#44*aB$'=*S3'8#*+*#4UY
! !
F'=+*EB$9*0+%+'.(
! !
F'=+*EB$9*0+%+'.(
! !
F'=+*EB$9*0+%+'.(
U$$J(9)'4)$=)./01/1
! !
F'=+*EB$9*0+%+'.(
! K'(M)$#'(2b*N'+*#++$'-B+=H
O,A#9((95#'()N%$N9%#C)('6C9%4)A)
^'($)B(#$P
! Q#(8'()PAG'('.(*3'('()H
O...
! !
F'=+*EB$9*(=N$=
! !$A$A2)I9D'%#A)a)+:%g3'%$W)
[7,U,-)./0.];
! Y%4#)=A:)%9(9G'A#)9A##94)A)4ANN9#4)
=$A:)A)%9J('%)AG9%#9...
! !
++$'-B+*EB$'=
! +%%9A#(C)'%$A:)hi)$=)E9F)@9%94
9SJS)OXN)5$:9)6'#9%G((9)D'A9P)
[^9#9%)3?']
! !
++$'-B+*EB$'=
! OD9J)%C'A)%$D'A59P
D'#5894):==9%9A#)'##%F#94)[=9(:4]
5'4#; D9J)%C'A
J9A%9; %$D'A59
! M'jG9)4$(#$A;)+$D...
! !
++$'-B+*EB$'=*N'+*73VcK
! Y$%)9'58)#9%D2)'JJ%9J'#9)'5%$44):==9%9A#)=9(:4S
! !89A)'JJ%9J'#9)'5%$44)#89)#9%D4S
! B(4$;)L...
! !
++$'-B+*EB$'=*N'+*DQ3!
! ,:9';)Y9(:4N95=5)69J8#4)48$(:)'(4$):9N9A:)$A)
4N95=5)b9%C)6$%:l
7$%59;)HD2)Z9)a)+%$=#)[.//d]
! !
++$'-B+*EB$'=*.@$*CR+
*7!*-)['4#)9#)'(S)7,U,-).//k];)E8(9)A:9WAJ)')
:$5D9A#)5$((95#$A2)'::)'%#=5'()49D'A#5)6$%:4)#$)
A...
! !
++$'-B+*EB$'=*.@$*CR+
`'?'K4)@I*Z;),A:9W)D9'AAJ):45$G9%9:)A)#9W#S
79A#9A59)=$A:)'4)')%94N$A49)#$)b9%C)
O!#$%'()%$'*#$+...
! !
++$'-B+*EB$'=*.@$*CR+
Q=#$%*6#44()=H
! E8'#)=$%D4)$=)#9W#)'A'(C44)'%9)45'('F(9)
9A$J8)=$%)A#9J%'#$A)A#$)'A)AG9%#9:)
A:...
! !
!L#(+'%*(=N$=*
/.$*$-'+$#$9*EB$'=
! JC65Q*X6F56:*C#=8H)UG9A)')b9%C2)%9#%A)')48$%#)
4DD'%C)$=)%9(9G'A#)69F)N'J94S
! OR#...
! !
EB=+'.(*(=N$'()*
.@$*F'(82*0#+#
T'8C')9#)'(S)*3MR^)./00
! !
EB=+'.(*(=N$'()*
.@$*F'(82*0#+#
T'8C')9#)'(S)*3MR^)./00
! !
EB=+'.(*(=N$'()*
.@$*F'(82*0#+#
T'8C')9#)'(S)*3MR^)./00
! !
EB=+'.(*(=N$'()*
.@$*F'(82*0#+#
T'8C')9#)'(S)*3MR^)./00
! !
EB=+'.(*(=N$'()*
.@$*F'(82*0#+#
T'8C')9#)'(S)*3MR^)./00
! !
EB=+'.(*(=N$'()*
.@$*F'(82*0#+#
^C#8')FC)LAJ9%)'A:)+D'A$)[./00]
! !
EB=+'.(*(=N$'()*.@$*0#+#
! !
EB=+'.(*(=N$'()*.@$*0#+#
0h)D(($A)(A94)$=)
3'#89D'#5')5$:9
)[./00]
! !
EB=+'.(*(=N$'()*.@$*0#+#
0h)D(($A)(A94)$=)
3'#89D'#5')5$:9
)[./00]
! !
EB=+'.(*(=N$'()H*,#+=.(
,3K4)E'#4$A;)F9'#)8D'A)Q9$N'%:Cl)58'DN$A4
! !
EB=+'.(*(=N$'()H*,#+=.(
! Y%4#)E'#4$A)G9%4$A;)#6$)8$%4)N9%)b94#$A
! Q9$N'%:Cl)G9%4$A;)D'44G9(C)N'%'((9()
[./)5$%942)0n...
! !
EB=+'.(*(=N$'()H*,#+=.(
! Y%4#)7#9N;)@94#$A)+('44=5'#$A
! I9=A#$A)b94#$A4
! 3'#8)b94#$A4
! ^XX(9)b94#$A4
! E8'#)?A:)$=...
! !
EB=+'.(*(=N$'()H*,#+=.(
! I99N)N'%4AJ2)#9W#)5('44=5'#$A)A)$%:9%)#$)
:95$DN$49)b94#$A4)A#$)N'%#4
! !
EB=+'.(*(=N$'()H*,#+=.(
! !%C)#$)($$?)N)[N'%#4)$=)'A469%4])A)?A$6(9:J9)
F'494)'A:):'#'F'494;
IN9:'2)TBUV2)D'AC)$#89%4
...
! !
EB=+'.(*(=N$'()H*,#+=.(
! ^$44F(C)#8$4'A:4)$=)%#(2'2#+*#(=N$=
! -9#%9G9)9G:9A59)=$%)9'58)5'A::'#9)
'A:)$#(8*#(=N$=
! R...
! !
EB=+'.(*(=N$'()H*,#+=.(
! (=N$*L$)'()*
[OBF%'8'D)RA5$(AP)G4S)
O`$A94#)BF9P];)
9449A#'((C)5$%9=9%9A59)'A'(C44
! YA'().@...
! !
C*D4#(
! 5(+$.2B%+'.(
! !+$B%+B$2*0#+#*.(*+*,-
! EB$9'()*F'(82*AG(*0#+#
! EB$9'()*+*,-*./*0#+#
! EB$9*?(2$=+#(2'()
! A...
! !
D$=.(#4*=='=+#(%
! !G%*Q%.)('+'.(H)
,A5%9D9A#'()DN%$G9D9A#42)
#'4?4N95=5)
('AJ'J9)D$:9(AJ
! Y(()':$)49A#)
#$)49%G9%4
!...
! !
D$=.(#4*=='=+#(%
! 6.(+R+MN#$(==)[($5'#$A2)
4589:(92)9#5S]
OBAC)J$$:)F%J9%)o$A#4)'%$A:)89%9mP
!
Y%$D)A:G:'()
b94#$A4)#...
! !
D$=.(#4*=='=+#(%
7$%59;)8##N;cc48##8'#4%4'C4S#DF(%S5$DcN$4#c00d000/0k
5(/.$L#+'.(*5(+)$#+'.(H
L49)A=$%D'#$A)=%$D)
69F)...
! !
D$=.(#4*=='=+#(%
7$%59;)8##N;cc4%b94#$A4S5$Dc,pA99:p'p:%A?pb0d.
5(+(+
0+%+'.(H
Y%$D)@94#$A4)
#$)!'4?4
! !
D$=.(#4*=='=+#(%
7$%59;)8##N;cc666SN5D'JS5$Dc'%#5(9.c/2.0k2.1dq1q2//S'4Nr=F:s3LN*B8!3$H
5(+(+
0+%+'.(H
Y%$D)@94#$A4)
#...
! !
D$=.(#4*=='=+#(%
! M'A59K4)MA')'A:)7-,K4)
R$(')=$%)+4#$D9%)79%G59
! t+'A),)49#)N)')%9J('%)
D$A#8(C)N'CD9A#)$=)DC)
D$%#...
! !
D$=.(#4*=='=+#(%
$#9J$)49%G59)49:)FC)LA(9G9%2)+$5')+$(')9#5S
! !
J.+*dB=+*D.(=
! OE8'#u4)$A)!7)'#)d)
NSDS)#$AJ8#mP
! OYA:)5$D9:94)6#8)
9A)7#((9%P
! O^('C)4$D9)
-':$89':P)[D45]
! O+'((...
! !
J.+*dB=+*D.(=
! 7%)9C94)=%99)D$:9)A)
4$D9)U3)5'%4
! 35%$4$=#)!9((D9;)49:)
A)5'%4)[Y$%:2)H']2)!e4)
[G')HA95#]2)'A:)
5$D...
! !
J.+*dB=+*D.(=
! VA#89=(C),A=$%D'#$A
[9SJS):%95#$A42)
69'#89%)%9N$%#42)
D944'J94]
! e$59)A#9%='59
U$$J(9K4)^%$o95#)U('44
! !
6.(%4B='.(
! !+$B%+B$2*0#+#*.(*+*,-H*
D'%?N2)RA?9:)I'#'2)HA$6(9:J9)
U%'N82)9#5S
! EB$9'()*+*,-*./*0#+#H*
?9C6$%:)49'%5...
! !
3.$*5(/.$L#+'.(
1$#$2*2*34.
++GHPP4R@.U.$)P)2LP*
:#+;#*.=
++GHPPNNNU8#+;#M.=U2P
EB=+'.(=^
Searching the Web of Data (Tutorial)
Upcoming SlideShare
Loading in …5
×

Searching the Web of Data (Tutorial)

1,326 views

Published on

These are slides of a tutorial at ECIR by Gerard de Melo and Katja Hose.

Search is currently undergoing a major paradigm shift away from the traditional document-centric “10 blue links” towards more explicit and actionable information. Recent advances in this area are Google’s Knowledge Graph, Virtual Personal Assistants such as Siri and Google Now, as well as the now ubiquitous entity-oriented vertical search results for places, products, etc. Apart from novel query understanding methods, these developments are largely driven by structured data that is blended into the Web Search experience. We discuss efficient indexing and query processing techniques to work with large amounts of structured data. Finally, we present query interpretation and understanding methods to map user queries to these structured data sources.

Published in: Technology
  • Be the first to comment

Searching the Web of Data (Tutorial)

  1. 1. ! ! !"#$%&'()*+&"*,"-*./*0#+# !"#$%&'()'#)*+,-)./012)3$45$6 1"$#$2*2"*3"4. 56!5*7"$8"4"9 !""#$%%&'()*+*,-%-./% :#+;#*<.=" >#4-.$)*?('@"$='+9 !""#$%%000+12"324!*5'+.'%
  2. 2. ! ! AB$*CB+.$'#4*C.2#9 ! 7589:"(9;)0/;//<01;1/ ! +$==99)>%9'?;)00;1/<0.;// ! @"94#&$A4;)BAC)#&D9 ! 7(&:94;)E&(()F9)'G'&('F(9)$A(&A9
  3. 3. ! ! C&"*D4#( ! 5(+$.2B%+'.( ! !+$B%+B$"2*0#+#*.(*+&"*,"- ! EB"$9'()*F'(8"2*AG"(*0#+# ! EB"$9'()*+&"*,"-*./*0#+# ! EB"$9*?(2"$=+#(2'() ! AB+4..8*#(2*6.(%4B='.(
  4. 4. ! ! 5(+$.2B%+'.( ! 5(GB+H)H9C6$%:42)I$54 ! 0"='$"2*AB+GB+H I$5"D9A#)-'A?&AJ
  5. 5. ! ! 5(+$.2B%+'.( ! 5(GB+H)H9C6$%:42)#89)E$%(:K4)I'#' ! C$B"*0"='$"2*AB+GB+H B::%944)L49%K4)M99:4
  6. 6. ! ! ?="$I=*J""2= M99:AK#)F9)N('&A)&A=$%D'#&$A)A99:4
  7. 7. ! ! ?="$I=*J""2= M99:AK#)F9)J9A"&A9)O&A=$%D'#&$AP)A99:4
  8. 8. ! ! AB$*K.%B=H*5(/.$L#+'.(*J""2=
  9. 9. ! ! AB$*K.%B=H*5(/.$L#+'.(*J""2=
  10. 10. ! ! 0#+#M0$'@"(*>(=N"$=
  11. 11. ! ! 0#+#M0$'@"(*>(=N"$=
  12. 12. ! ! 0#+#M0$'@"(*>(=N"$=
  13. 13. ! ! 0#+#M0$'@"(*>(=N"$=
  14. 14. ! ! 0#+#M0$'@"(*>(=N"$=
  15. 15. ! ! 0#+#M0$'@"(*>(=N"$=
  16. 16. ! ! 0#+#M0$'@"(*>(=N"$=
  17. 17. ! ! 0#+#M0$'@"(*>(=N"$= #22$"=='()*.+&"$*5(+"(+=
  18. 18. ! ! 0#+#M0$'@"(*>(=N"$= #22$"=='()*.+&"$*5(+"(+=
  19. 19. ! ! C&"*,"-*#=*#*0#+#-#="H* O(+'+'"=
  20. 20. ! ! C&"*,"-*#=*#*0#+#-#="H* O(+'+'"=
  21. 21. ! ! C&"*,"-*#=*#*0#+#-#="H >++$'-B+"=PQ"4#+'.(=&'G= Q$F)!&#(9 R$5'#&$A 7#'%#&AJ)I'#9 7'('%C 9#5S M96 49'%58 5'N'F&(&#&94
  22. 22. ! ! C&"*D4#( ! 5(+$.2B%+'.( ! !+$B%+B$"2*0#+#*.(*+&"*,"- ! EB"$9'()*F'(8"2*AG"(*0#+# ! EB"$9'()*+&"*,"-*./*0#+# ! EB"$9*?(2"$=+#(2'() ! AB+4..8*#(2*6.(%4B='.(
  23. 23. Searching the Web of Data Outline I 1 Structured data on the Web Semantic markup Semantic Web and Linked Open Data Data management 2 Querying Linked Open Data Browser-based link traversal Keyword search for Linked Data Structured queries Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 2 / 73
  24. 24. Searching the Web of Data Structured data on the Web Structured data on the Web Semantic Markup (metadata, tags) embedded in HTML Microformats, hCard, hCalendar, RDFa Knowledge bases Large collections of RDF data Linked (Open) Data References between collections of RDF data Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 3 / 73
  25. 25. Searching the Web of Data Structured data on the Web Semantic markup Semantic markup If the search engine gets some help in better “understanding” the content of a web page, rich snippets highlighting and displaying certain information can be created. http://support.google.com/webmasters/bin/answer.py?hl=en&answer=99170 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 4 / 73
  26. 26. Searching the Web of Data Structured data on the Web Semantic markup Microformats Efforts started in 2003 Fixed formats for specific type of information hCard: people, companies, organizations, and places hCalendar: calendaring and events hReview: reviews of products, companies, events . . . Cannot represent arbitrary data Indexed by Google and Yahoo since 2009 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 5 / 73
  27. 27. Searching the Web of Data Structured data on the Web Semantic markup hCard example <div> <img src="www.example.com/bobsmith.jpg" /> <strong>Bob Smith</strong> Senior editor at ACME Reviews 200 Main St Desertville, AZ 12345 </div> <div class="vcard"> <img class="photo" src="www.example.com/bobsmith.jpg" /> <strong class="fn">Bob Smith</strong> <span class="title">Senior editor</span> at <span class="org">ACME Reviews</span> <span class="adr"> <span class="street-address">200 Main St</span> <span class="locality">Desertville</span>, <span class="region">AZ</span> <span class="postal-code">12345</span> </span> </div> http://support.google.com/webmasters/bin/answer.py?hl=en&answer=146897 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 6 / 73
  28. 28. Searching the Web of Data Structured data on the Web Semantic markup RDFa Proposed in 2004, W3C recommendation Can be used together with any vocabulary (no restriction on schema) Can assign URIs as global primary keys to entities Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 7 / 73
  29. 29. Searching the Web of Data Structured data on the Web Semantic markup RDFa example <div> My name is Bob Smith but people call me Smithy. Here is my home page: <a href="http://www.example.com">www.example.com</a>. I live in Albuquerque, NM and work as an engineer at ACME Corp. </div> <div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Person"> My name is <span property="v:name">Bob Smith</span>, but people call me <span property="v:nickname">Smithy</span>. Here is my homepage: <a href="http://www.example.com" rel="v:url">www.example.com</a>. I live in Albuquerque, NM and work as an <span property="v:title">engineer</span> at <span property="v:affiliation">ACME Corp</span>. </div> http://support.google.com/webmasters/bin/answer.py?hl=en&answer=146898 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 8 / 73
  30. 30. Searching the Web of Data Structured data on the Web Semantic markup Facebook’s Open Graph Protocol Introduction of “like” buttons in 2010 Allows site owners to determine how entities are displayed in Facebook Relies on RDFa for encoding data in HTML pages http://developers.facebook.com/docs/opengraphprotocol/ Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 9 / 73
  31. 31. Searching the Web of Data Structured data on the Web Semantic markup Microdata Proposed in 2009 as part of HTML5 Alternative technique for embedding structured data Tries to be simpler than RDFa Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 10 / 73
  32. 32. Searching the Web of Data Structured data on the Web Semantic markup Microdata <div> My name is Bob Smith but people call me Smithy. Here is my home page: <a href="http://www.example.com">www.example.com</a> I live in Albuquerque, NM and work as an engineer at ACME Corp. </div> <div itemscope itemtype="http://data-vocabulary.org/Person"> My name is <span itemprop="name">Bob Smith</span> but people call me <span itemprop="nickname">Smithy</span>. Here is my homepage: <a href="http://www.example.com" itemprop="url">www.example.com</a> I live in Albuquerque, NM and work as an <span itemprop="title">engineer</span> at <span itemprop="affiliation">ACME Corp</span>. </div> http://support.google.com/webmasters/bin/answer.py?hl=en&answer=176035 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 11 / 73
  33. 33. Searching the Web of Data Structured data on the Web Semantic markup schema.org “Standardized” vocabulary 2011, supported by Bing, Google, Yahoo and Yandex Ask site owners to embed data to enrich search results 200+ types: event, organization, person, place, product, review,. . . Encoding: basically microdata (RDFa) Main usage: highlighting and enriching data snippets in search results http://support.google.com/webmasters/bin/answer.py?hl=en&answer=99170 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 12 / 73
  34. 34. Searching the Web of Data Structured data on the Web Semantic markup Embedded data in HTML RDFa and Microdata usage grows, microformats are still present A rather small set of vocabularies is used The content and the vocabularies are very focused towards the major consumers Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 13 / 73
  35. 35. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data Google Knowledge Graph Currently1, more than 500 million entities, such as celebrities, cities, movies,. . . Consists of commercial third-party data and Web data Enriching search results with summaries Is increasingly being used by Google to answer queries 1 Google Official Blog http://googleblog.blogspot.co.uk/2012/05/ introducing-knowledge-graph-things-not.html Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 14 / 73
  36. 36. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data Google Knowledge Graph Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 15 / 73
  37. 37. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data Google Knowledge Graph Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 15 / 73
  38. 38. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data 1 Structured data on the Web Semantic markup Semantic Web and Linked Open Data Data management 2 Querying Linked Open Data Browser-based link traversal Keyword search for Linked Data Structured queries Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 16 / 73
  39. 39. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data Semantic Web
  40. 40. http://www.slideshare.net/lod2project/the-semantic-data-web-sren-auer-university-of-leipzig Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 17 / 73
  41. 41. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data Semantic Web Web 1.0 (standard Web) Web 2.0 (data generated by users) Web 3.0 (Semantic Web) Machine-readable data URIs for documents and concepts (entities) “Web of data” Web server Web 1.0: Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 18 / 73
  42. 42. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data http://www.slideshare.net/cloudofdata/ toward-the-data-cloud Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 19 / 73
  43. 43. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data Standards Sharing structured data across the Web relies on standards Standard graph-based data model RDF Different syntaxes and formats RDF/XML, RDFa Powerful, logic-based schema languages and reasoning OWL Query languages and protocols HTTP, SPARQL Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 20 / 73
  44. 44. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data Linked Open Data: design issues Design issues (rules) 1 Use URIs as names for things 2 Use HTTP URIs so that people can look up those names 3 When someone looks up a URI, provide useful information, using the standards (RDF, SPARQL) 4 Include links to URIs in other datasets Goal: linking URIs in different data sets describing the same real world entity Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 21 / 73
  45. 45. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data Growth: Semantic Web and Linked Open Data May 2007 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 22 / 73
  46. 46. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data Growth: Semantic Web and Linked Open Data March 2008 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 22 / 73
  47. 47. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data Growth: Semantic Web and Linked Open Data July 2009 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 22 / 73
  48. 48. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data Growth: Semantic Web and Linked Open Data September 2011 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 22 / 73
  49. 49. Searching the Web of Data Structured data on the Web Data management 1 Structured data on the Web Semantic markup Semantic Web and Linked Open Data Data management 2 Querying Linked Open Data Browser-based link traversal Keyword search for Linked Data Structured queries Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 23 / 73
  50. 50. Searching the Web of Data Structured data on the Web Data management Knowledge bases Large collections of semantic data YAGO [9], Freebase [10], DBpedia [2],. . . Mostly result of information extraction Data format in general RDF Often participate as sources in the Linked Open Data cloud Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 24 / 73
  51. 51. Searching the Web of Data Structured data on the Web Data management RDF Each resource (entity) is identified by a globally unique URI Data is stored in the form of facts Triple: (subject, property, object) Subject: URI Predicate/Property: URI Object: URI or literal (strings, integers, booleans, etc.) http://dbpedia.org/resource/Aalborg http://dbpedia.org/ontology/country http://dbpedia.org/resource/Denmark Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 25 / 73
  52. 52. Searching the Web of Data Structured data on the Web Data management RDF Each resource (entity) is identified by a globally unique URI Data is stored in the form of facts Triple: (subject, property, object) Subject: URI Predicate/Property: URI Object: URI or literal (strings, integers, booleans, etc.) Using prefixes dbpedia:Aalborg dbpedia-owl:country dbpedia:Denmark (dbpedia:Aalborg, dbpedia-owl:country, dbpedia:Denmark) Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 25 / 73
  53. 53. Searching the Web of Data Structured data on the Web Data management RDF Triples connect to graphs dbpedia-owl:country dbpedia:Aalborg dbpedia-owl:country dbpedia:Denmark dbpedia-owl:isPartOf dbpedia:North_Denmark_Region 123432 dbpedia:populationTotal Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 26 / 73
  54. 54. Searching the Web of Data Structured data on the Web Data management RDF Triples connect to graphs. . . and possibly other sources dbpedia-owl:country dbpedia:Aalborg dbpedia-owl:country dbpedia:Denmark dbpedia-owl:isPartOf dbpedia:North_Denmark_Region 123432 dbpedia:populationTotal yago:Denmark geonames:2624886 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 26 / 73
  55. 55. Searching the Web of Data Structured data on the Web Data management Schema The schema (vocabulary, ontology) can be expressed in OWL Definition of classes, properties, restrictions,. . . Allows for validation and reasoning Schema information is also represented as RDF triples Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 27 / 73
  56. 56. Searching the Web of Data Structured data on the Web Data management Managing large amounts of RDF data Relational RDF data management A single relational table Three columns (subject, property, object) Property tables n-ary table columns for the same subject Binary tables One two-column table for each property Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 28 / 73
  57. 57. Searching the Web of Data Structured data on the Web Data management A single relational table Example triples (dbpedia:Aalborg, dbpedia-owl:country, dbpedia:Denmark) (dbpedia:Aalborg, dbpedia-owl:isPartOf dbpedia:North Denmark Region) (dbpedia:North Denmark Region, dbpedia-owl:country, dbpedia:Denmark) (dbpedia:Aalborg, dbpedia-owl:populationTotal, 123432) subject property object dbpedia:Aalborg dbpedia-owl:country dbpedia:Denmark dbpedia:Aalborg dbpedia-owl:isPartOf dbpedia:North Denmark Region dbpedia:North Denmark Region dbpedia-owl:country dbpedia:Denmark dbpedia:Aalborg dbpedia-owl:populationTotal 123432 Works with standard relational DBMS and SQL Problems: self joins, query optimization Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 29 / 73
  58. 58. Searching the Web of Data Structured data on the Web Data management A single relational table Example triples (dbpedia:Aalborg, dbpedia-owl:country, dbpedia:Denmark) (dbpedia:Aalborg, dbpedia-owl:isPartOf dbpedia:North Denmark Region) (dbpedia:North Denmark Region, dbpedia-owl:country, dbpedia:Denmark) (dbpedia:Aalborg, dbpedia-owl:populationTotal, 123432) subject property object dbpedia:Aalborg dbpedia-owl:country dbpedia:Denmark dbpedia:Aalborg dbpedia-owl:isPartOf dbpedia:North Denmark Region dbpedia:North Denmark Region dbpedia-owl:country dbpedia:Denmark dbpedia:Aalborg dbpedia-owl:populationTotal 123432 Works with standard relational DBMS and SQL Problems: self joins, query optimization Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 29 / 73
  59. 59. Searching the Web of Data Structured data on the Web Data management Property tables Example triples (dbpedia:Aalborg, dbpedia-owl:country, dbpedia:Denmark) (dbpedia:Aalborg, dbpedia-owl:isPartOf dbpedia:North Denmark Region) (dbpedia:North Denmark Region, dbpedia-owl:country, dbpedia:Denmark) (dbpedia:Aalborg, dbpedia-owl:populationTotal, 123432) city subject country isPartOf populationTotal dbpedia:Aalborg dbpedia:Denmark dbpedia:North Denmark Region 123432 region subject country dbpedia:North Denmark Region dbpedia:Denmark Grouping information about entities with similar properties n-ary tables for the same subject Difficult to create a proper layout Null values Problems with multi-valued attributes Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 30 / 73
  60. 60. Searching the Web of Data Structured data on the Web Data management Property tables Example triples (dbpedia:Aalborg, dbpedia-owl:country, dbpedia:Denmark) (dbpedia:Aalborg, dbpedia-owl:isPartOf dbpedia:North Denmark Region) (dbpedia:North Denmark Region, dbpedia-owl:country, dbpedia:Denmark) (dbpedia:Aalborg, dbpedia-owl:populationTotal, 123432) city subject country isPartOf populationTotal dbpedia:Aalborg dbpedia:Denmark dbpedia:North Denmark Region 123432 dbpedia:Kassel dbpedia:Germany 195530 region subject country dbpedia:North Denmark Region dbpedia:Denmark Grouping information about entities with similar properties n-ary tables for the same subject Difficult to create a proper layout Null values Problems with multi-valued attributesKatja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 30 / 73
  61. 61. Searching the Web of Data Structured data on the Web Data management Property tables city subject country isPartOf populationTotal dbpedia:Aalborg dbpedia:Denmark dbpedia:North Denmark Region 123432 dbpedia:Kassel dbpedia:Germany 195530 region subject country dbpedia:North Denmark Region dbpedia:Denmark Grouping information about entities with similar properties n-ary tables for the same subject Difficult to create a proper layout Null values Problems with multi-valued attributes Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 30 / 73
  62. 62. Searching the Web of Data Structured data on the Web Data management Binary tables Example triples (dbpedia:Aalborg, dbpedia-owl:country, dbpedia:Denmark) (dbpedia:Aalborg, dbpedia-owl:isPartOf dbpedia:North Denmark Region) (dbpedia:North Denmark Region, dbpedia-owl:country, dbpedia:Denmark) (dbpedia:Aalborg, dbpedia-owl:populationTotal, 123432) dbpedia-owl:country subject object dbpedia:Aalborg dbpedia:Denmark dbpedia:North Denmark Region dbpedia:Denmark dbpedia-owl:isPartOf subject object dbpedia:Aalborg dbpedia:North Denmark Region dbpedia-owl:populationTotal subject object dbpedia:Aalborg 123432 Create a seperate table for each property Can become inefficient for queries involving many common properties Becomes inefficient if there are too many different properties Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 31 / 73
  63. 63. Searching the Web of Data Structured data on the Web Data management Binary tables dbpedia-owl:country subject object dbpedia:Aalborg dbpedia:Denmark dbpedia:North Denmark Region dbpedia:Denmark dbpedia-owl:isPartOf subject object dbpedia:Aalborg dbpedia:North Denmark Region dbpedia-owl:populationTotal subject object dbpedia:Aalborg 123432 Create a seperate table for each property Can become inefficient for queries involving many common properties Becomes inefficient if there are too many different properties Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 31 / 73
  64. 64. Searching the Web of Data Structured data on the Web Data management Native triple stores RDF-3X [7] Dictionary encoding to reduce storage space Extensive use of B+-tree indexes (SPO, OPS, PSO, SOP, OSP, POS) Aggregated indexes: S, P, O, SP, SO, PO, PS, OP, OS Triples are materialized in the indexes Histograms provide the query optimizer with further statistcis Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 32 / 73
  65. 65. Searching the Web of Data Structured data on the Web Data management Column stores SW-Store [1] Binary tables in combination with a column-oriented DBMS (C-store) Sorted tables Supports multi-valued attribues (listed in a successive row) Increased costs for updates and tuple reconstruction Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 33 / 73
  66. 66. Searching the Web of Data Structured data on the Web Data management More alternatives Store RDF data in a matrix with bit-vector compression Store RDF as XML and use XML technology Graph databases . . . Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 34 / 73
  67. 67. Searching the Web of Data Querying Linked Open Data 1 Structured data on the Web Semantic markup Semantic Web and Linked Open Data Data management 2 Querying Linked Open Data Browser-based link traversal Keyword search for Linked Data Structured queries Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 35 / 73
  68. 68. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Who is Carlo Pedersoli? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 36 / 73
  69. 69. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Who is Carlo Pedersoli? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 37 / 73
  70. 70. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Who is Carlo Pedersoli? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 37 / 73
  71. 71. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Who is Carlo Pedersoli? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 37 / 73
  72. 72. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Who is Carlo Pedersoli? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 37 / 73
  73. 73. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Who is Carlo Pedersoli? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 37 / 73
  74. 74. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Who is Carlo Pedersoli? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 37 / 73
  75. 75. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Who is Carlo Pedersoli? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 37 / 73
  76. 76. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Who is Carlo Pedersoli? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 37 / 73
  77. 77. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Who is Carlo Pedersoli? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 37 / 73
  78. 78. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Who is Carlo Pedersoli? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 37 / 73
  79. 79. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Who is Carlo Pedersoli? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 37 / 73
  80. 80. Searching the Web of Data Querying Linked Open Data Browser-based link traversal Browser-based link traversal Browser-based link traversal is the most “natural” way of looking up information using Linked Data Might be very tedious and frustrating Takes much time But you will discover much information that you never intended to search for Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 38 / 73
  81. 81. Searching the Web of Data Querying Linked Open Data Keyword search for Linked Data 1 Structured data on the Web Semantic markup Semantic Web and Linked Open Data Data management 2 Querying Linked Open Data Browser-based link traversal Keyword search for Linked Data Structured queries Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 39 / 73
  82. 82. Searching the Web of Data Querying Linked Open Data Keyword search for Linked Data Keyword search for Linked Data Given a set of keywords, find all relevant information. Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 40 / 73
  83. 83. Searching the Web of Data Querying Linked Open Data Keyword search for Linked Data Falcons Focus: entities Crawling Follow links contained in RDF documents Construct virtual documents for entities Literals Human-readable names and descriptions (rdfs:label, rdfs:comment) Create indexes Terms in virtual documents Entity classes Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 41 / 73
  84. 84. Searching the Web of Data Querying Linked Open Data Keyword search for Linked Data Falcons Query processing Keywords Filtering based on classes/types Output: entities with snippets Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 42 / 73
  85. 85. Searching the Web of Data Querying Linked Open Data Keyword search for Linked Data Falcons http://ws.nju.edu.cn/falcons/objectsearch/index.jsp Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 43 / 73
  86. 86. Searching the Web of Data Querying Linked Open Data Keyword search for Linked Data Falcons http://ws.nju.edu.cn/falcons/objectsearch/index.jsp Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 43 / 73
  87. 87. Searching the Web of Data Querying Linked Open Data Keyword search for Linked Data Falcons http://ws.nju.edu.cn/falcons/objectsearch/index.jsp Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 43 / 73
  88. 88. Searching the Web of Data Querying Linked Open Data Keyword search for Linked Data Sindice Original focus: documents and sources Indexes URI (Unified Resource Identifier) IFP (Inverse Functional Properties) Literal Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 44 / 73
  89. 89. Searching the Web of Data Querying Linked Open Data Keyword search for Linked Data Sindice http://sindice.com Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 45 / 73
  90. 90. Searching the Web of Data Querying Linked Open Data Keyword search for Linked Data Sindice http://sindice.com Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 45 / 73
  91. 91. Searching the Web of Data Querying Linked Open Data Keyword search for Linked Data Indexing Indexes on virtual documents Creating virtual documents based on the data (entity, source,triple,. . . ) Create inverted indexes on URIs, properties, classes, literals,. . . or combinations Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 46 / 73
  92. 92. Searching the Web of Data Querying Linked Open Data Structured queries 1 Structured data on the Web Semantic markup Semantic Web and Linked Open Data Data management 2 Querying Linked Open Data Browser-based link traversal Keyword search for Linked Data Structured queries Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 47 / 73
  93. 93. Searching the Web of Data Querying Linked Open Data Structured queries Structured queries What are the movies that both Carlo Pedersoli (Bud Spencer) and Mario Girotti (Terence Hill) acted in? Or what are the movies that only one of them (without the other) acted in? Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 48 / 73
  94. 94. Searching the Web of Data Querying Linked Open Data Structured queries Structured queries Structured query language SPARQL Query processing strategies Materialized query processing Lookup-based query processing Federated query processing Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 49 / 73
  95. 95. Searching the Web of Data Querying Linked Open Data Structured queries SPARQL Example query PREFIX dbpedia: http://dbpedia.org/property/ PREFIX dbpedia-owl: http://dbpedia.org/ontology/ SELECT ?city, ?pop WHERE { ?city dbpedia-owl:country dbpedia:Denmark . ?city dbpedia:populationTotal ?pop . FILTER (?pop 100000) } SPARQL Similar to SQL Variables start with “?” Queries consist of triple patterns, e.g.: ?city dbpedia-owl:country dbpedia:Denmark Joins between triple patterns are expressed by common variables Filters express additional constraints Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 50 / 73
  96. 96. Searching the Web of Data Querying Linked Open Data Structured queries SPARQL Example query PREFIX dbpedia: http://dbpedia.org/property/ PREFIX dbpedia-owl: http://dbpedia.org/ontology/ SELECT ?city, ?pop WHERE { ?city dbpedia-owl:country dbpedia:Denmark . ?city dbpedia:populationTotal ?pop . FILTER (?pop 100000) } SPARQL Similar to SQL Variables start with “?” Queries consist of triple patterns, e.g.: ?city dbpedia-owl:country dbpedia:Denmark Joins between triple patterns are expressed by common variables Filters express additional constraints Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 50 / 73
  97. 97. Searching the Web of Data Querying Linked Open Data Structured queries SPARQL Example query PREFIX dbpedia: http://dbpedia.org/property/ PREFIX dbpedia-owl: http://dbpedia.org/ontology/ SELECT ?city, ?pop WHERE { ?city dbpedia-owl:country dbpedia:Denmark . ?city dbpedia:populationTotal ?pop . FILTER (?pop 100000) } SPARQL Similar to SQL Variables start with “?” Queries consist of triple patterns, e.g.: ?city dbpedia-owl:country dbpedia:Denmark Joins between triple patterns are expressed by common variables Filters express additional constraints Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 50 / 73
  98. 98. Searching the Web of Data Querying Linked Open Data Structured queries SPARQL Query dbpedia-owl:country dbpedia:Denmark dbpedia:populationTotal ?pop ?city Data dbpedia-owl:country dbpedia:Aalborg dbpedia-owl:country dbpedia:Denmark dbpedia-owl:isPartOf dbpedia:North_Denmark_Region 123432 dbpedia:populationTotal yago:Denmark geonames:2624886 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 51 / 73
  99. 99. Searching the Web of Data Querying Linked Open Data Structured queries SPARQL Query dbpedia-owl:country dbpedia:Denmark dbpedia:populationTotal ?pop ?city Data dbpedia-owl:country dbpedia:Aalborg dbpedia-owl:country dbpedia:Denmark dbpedia-owl:isPartOf dbpedia:North_Denmark_Region 123432 dbpedia:populationTotal yago:Denmark geonames:2624886 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 51 / 73
  100. 100. Searching the Web of Data Querying Linked Open Data Structured queries Query processing strategies Query processing strategies Materialized query processing Lookup-based query processing Federated query processing Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 52 / 73
  101. 101. Searching the Web of Data Querying Linked Open Data Structured queries Query processing strategies Query processing strategies Materialized query processing Lookup-based query processing Federated query processing Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 52 / 73
  102. 102. Searching the Web of Data Querying Linked Open Data Structured queries Materialized query processing Characteristics Centralized storage Crawl and download the data Evaluate queries locally As an alternative to evaluating queries on huge data sets on a single machine, we can make use of distributed architectures and parallel processing, e.g., MapReduce, NoSQL, P2P, Grid,. . . . Problem Hash partitioning is not optimal for complex queries Possible solution Clustered RDF management using graph partitioning [6] Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 53 / 73
  103. 103. Searching the Web of Data Querying Linked Open Data Structured queries Materialized query processing Characteristics Centralized storage Crawl and download the data Evaluate queries locally As an alternative to evaluating queries on huge data sets on a single machine, we can make use of distributed architectures and parallel processing, e.g., MapReduce, NoSQL, P2P, Grid,. . . . Problem Hash partitioning is not optimal for complex queries Possible solution Clustered RDF management using graph partitioning [6] Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 53 / 73
  104. 104. Searching the Web of Data Querying Linked Open Data Structured queries Materialized query processing Characteristics Centralized storage Crawl and download the data Evaluate queries locally As an alternative to evaluating queries on huge data sets on a single machine, we can make use of distributed architectures and parallel processing, e.g., MapReduce, NoSQL, P2P, Grid,. . . . Problem Hash partitioning is not optimal for complex queries Possible solution Clustered RDF management using graph partitioning [6] Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 53 / 73
  105. 105. Searching the Web of Data Querying Linked Open Data Structured queries Clustered RDF management Data graph Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 54 / 73
  106. 106. Searching the Web of Data Querying Linked Open Data Structured queries Clustered RDF management Graph partitioning Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 54 / 73
  107. 107. Searching the Web of Data Querying Linked Open Data Structured queries Clustered RDF management Assigning triples to partitions – 1-hop guarantee Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 54 / 73
  108. 108. Searching the Web of Data Querying Linked Open Data Structured queries Clustered RDF management 2-hop guarantee Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 54 / 73
  109. 109. Searching the Web of Data Querying Linked Open Data Structured queries Clustered RDF management Query execution is more efficient in RDF stores than in Hadoop [6] Goals Pushing as much of the processing as possible into RDF stores Minimizing the number of Hadoop jobs The larger the hop guarantee, the more work is done in RDF stores Query processing Choose center of the query graph Calculate distance from the center to the furthest edge If distance = n: query can be handled by nodes independently without communication If distance n: communication is needed, split up into smaller subqueries, Hadoop Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 55 / 73
  110. 110. Searching the Web of Data Querying Linked Open Data Structured queries Clustered RDF management Query execution is more efficient in RDF stores than in Hadoop [6] Goals Pushing as much of the processing as possible into RDF stores Minimizing the number of Hadoop jobs The larger the hop guarantee, the more work is done in RDF stores Query processing Choose center of the query graph Calculate distance from the center to the furthest edge If distance = n: query can be handled by nodes independently without communication If distance n: communication is needed, split up into smaller subqueries, Hadoop Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 55 / 73
  111. 111. Searching the Web of Data Querying Linked Open Data Structured queries Clustered RDF management Find football players playing for clubs in a region where they were born SELECT ?player ?club ?region WHERE { ?player rdf:type ex:footballer . ?player ex:playsFor ?club . ?player ex:bornIn ?region . ?club ex:region ?region . ?region ex:population ?pop . } ex:footballer ?pop ?club ?player ?region rdf:type ex:bornIn ex:population ex:playsFor ex:region Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 56 / 73
  112. 112. Searching the Web of Data Querying Linked Open Data Structured queries Clustered RDF management Find football players playing for clubs in a region where they were born SELECT ?player ?club ?region WHERE { ?player rdf:type ex:footballer . ?player ex:playsFor ?club . ?player ex:bornIn ?region . ?club ex:region ?region . ?region ex:population ?pop . } ex:footballer ?pop ?club ?player ?region rdf:type ex:bornIn ex:population ex:playsFor ex:region Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 56 / 73
  113. 113. Searching the Web of Data Querying Linked Open Data Structured queries Clustered RDF management Find football players playing for clubs in a region where they were born ex:footballer ?pop ?club ?player ?region rdf:type ex:bornIn ex:population ex:playsFor ex:region Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 57 / 73
  114. 114. Searching the Web of Data Querying Linked Open Data Structured queries Clustered RDF management Find football players playing for clubs in a region where they were born ex:footballer ?pop ?club ?player ?region rdf:type ex:bornIn ex:population ex:playsFor ex:region Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 57 / 73
  115. 115. Searching the Web of Data Querying Linked Open Data Structured queries Clustered RDF management If the query is too “big”, the query is decomposed into multiple smaller subqueries, and the results are combined using MapReduce. ex:cites ex:writtenBy ex:hasTitle ex:writtenBy ex:hasName ex:hasName isOwned isOwned ?name2?author2 ?title2 ?name1?author1 ?art2?art1 Workload-Aware Replication [5] Replicate additional queries at the boundaries Avoid MapReduce by using a designated coordinator node Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 58 / 73
  116. 116. Searching the Web of Data Querying Linked Open Data Structured queries Clustered RDF management If the query is too “big”, the query is decomposed into multiple smaller subqueries, and the results are combined using MapReduce. ex:cites ex:writtenBy ex:hasTitle ex:writtenBy ex:hasName ex:hasName isOwned isOwned ?name2?author2 ?title2 ?name1?author1 ?art2?art1 Workload-Aware Replication [5] Replicate additional queries at the boundaries Avoid MapReduce by using a designated coordinator node Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 58 / 73
  117. 117. Searching the Web of Data Querying Linked Open Data Structured queries Query processing strategies Query processing strategies Materialized query processing Lookup-based query processing No statistics or indexes Evaluate parts of the query locally Dereference URIs in intermediate solutions, download the data Use downloaded data to compute other parts of the query, dereference. . . Federated query processing Based on technologies originally developed for distributed database systems, P2P systems, and data integration Data is stored Evaluate parts of the query on remote sources Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 59 / 73
  118. 118. Searching the Web of Data Querying Linked Open Data Structured queries Query processing strategies Query processing strategies Materialized query processing Lookup-based query processing No statistics or indexes Evaluate parts of the query locally Dereference URIs in intermediate solutions, download the data Use downloaded data to compute other parts of the query, dereference. . . Federated query processing Based on technologies originally developed for distributed database systems, P2P systems, and data integration Data is stored Evaluate parts of the query on remote sources Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 59 / 73
  119. 119. Searching the Web of Data Querying Linked Open Data Structured queries Federated query processing Federated SPARQL query processing [8] SPARQL Request Query Result Parsing Source Selection Query Execution (Bound Joins) Global Optimizations (Groupings + Join Order) SPARQL Endpoint 1 . . . Subquery Generation: Evaluation at Relevant Endpoints Local Aggregation of Partial ResultsCache Per Triple Pattern SPARQL ASK queries SPARQL Endpoint 2 SPARQL Endpoint N Assumption The sources are capable (and willing) to evaluate SPARQL queries (SPARQL endpoints). Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 60 / 73
  120. 120. Searching the Web of Data Querying Linked Open Data Structured queries Source selection Goal Identify sources that might contribute to the query result Approaches Naive SPARQL ASK requests and caching Statistics and indexes Keyword indexes Predicate URIs, types of instances URI indexes Frequent paths Service-level descriptions VoiD statistics Histograms . . . Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 61 / 73
  121. 121. Searching the Web of Data Querying Linked Open Data Structured queries Source selection Goal Identify sources that might contribute to the query result Approaches Naive SPARQL ASK requests and caching Statistics and indexes Keyword indexes Predicate URIs, types of instances URI indexes Frequent paths Service-level descriptions VoiD statistics Histograms . . . Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 61 / 73
  122. 122. Searching the Web of Data Querying Linked Open Data Structured queries Naive federated query processing Scenario SPARQL endpoints No statistics/indexes Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 62 / 73
  123. 123. Searching the Web of Data Querying Linked Open Data Structured queries Naive federated query processing Scenario SPARQL endpoints No statistics/indexes Example query SELECT ?Country ?Capital ?CountryPop ?CapitalPop WHERE { ?Country ex:capital ?Capital . ?Country ex:population ?CountryPop . ?Capital ex:population ?CapitalPop . } Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 62 / 73
  124. 124. Searching the Web of Data Querying Linked Open Data Structured queries Naive federated query processing Scenario SPARQL endpoints No statistics/indexes Example query SELECT ?Country ?Capital ?CountryPop ?CapitalPop WHERE { ?Country ex:capital ?Capital . ?Country ex:population ?CountryPop . ?Capital ex:population ?CapitalPop . } Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 62 / 73
  125. 125. Searching the Web of Data Querying Linked Open Data Structured queries Naive federated query processing Example query SELECT ?Country ?Capital ?CountryPop ?CapitalPop WHERE { ?Country ex:capital ?Capital . ?Country ex:population ?CountryPop . ?Capital ex:population ?CapitalPop . } Send message with triple pattern to all 4 sources → 4 requests Receive 200 mappings for ?Country and ?Capital e.g., ?Country=ex:Germany, ?Capital=ex:Berlin Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 62 / 73
  126. 126. Searching the Web of Data Querying Linked Open Data Structured queries Naive federated query processing Example query SELECT ?Country ?Capital ?CountryPop ?CapitalPop WHERE { ?Country ex:capital ?Capital . ?Country ex:population ?CountryPop . ?Capital ex:population ?CapitalPop . } Use results to evaluate 2nd triple pattern (nested loop) 200 × 4 requests e.g., SELECT ?CountryPop WHERE {ex:Germany ex:population ?CountryPop .} 150 mappings Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 62 / 73
  127. 127. Searching the Web of Data Querying Linked Open Data Structured queries Naive federated query processing Example query SELECT ?Country ?Capital ?CountryPop ?CapitalPop WHERE { ?Country ex:capital ?Capital . ?Country ex:population ?CountryPop . ?Capital ex:population ?CapitalPop . } Use results to evaluate 3rd triple pattern (nested loop) 150 × 4 requests e.g., SELECT ?CapitalPop WHERE {ex:Berlin ex:population ?CapitalPop .} Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 62 / 73
  128. 128. Searching the Web of Data Querying Linked Open Data Structured queries Naive federated query processing Example query SELECT ?Country ?Capital ?CountryPop ?CapitalPop WHERE { ?Country ex:capital ?Capital . ?Country ex:population ?CountryPop . ?Capital ex:population ?CapitalPop . } In total: 4 + 200 × 4 + 150 × 4 = 1404 requests Many (unnecessary) requests sent to the sources! Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 62 / 73
  129. 129. Searching the Web of Data Querying Linked Open Data Structured queries Source selection Goal Identify sources that might contribute to the query result Approaches Naive SPARQL ASK requests and caching Statistics and indexes Keyword indexes Predicate URIs, types of instances URI indexes Frequent paths Service-level descriptions VoiD statistics Histograms . . . Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 63 / 73
  130. 130. Searching the Web of Data Querying Linked Open Data Structured queries Source selection with SPARQL ASK Does not require special cooperation from the sources Example query SELECT ?Country ?Capital ?CountryPop ?CapitalPop WHERE { ?Country ex:capital ?Capital . ?Country ex:population ?CountryPop . ?Capital ex:population ?CapitalPop . } Each source receives a message for each triple pattern Response: true/false ASK { ?Country ex:capital ?Capital . } Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 64 / 73
  131. 131. Searching the Web of Data Querying Linked Open Data Structured queries Source selection with SPARQL ASK Does not require special cooperation from the sources Example query SELECT ?Country ?Capital ?CountryPop ?CapitalPop WHERE { ?Country ex:capital ?Capital . ?Country ex:population ?CountryPop . ?Capital ex:population ?CapitalPop . } Each source receives a message for each triple pattern Response: true/false ASK { ?Country ex:capital ?Capital . } ASK { ?Country ex:population ?CountryPop . } Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 64 / 73
  132. 132. Searching the Web of Data Querying Linked Open Data Structured queries Source selection with SPARQL ASK Does not require special cooperation from the sources Example query SELECT ?Country ?Capital ?CountryPop ?CapitalPop WHERE { ?Country ex:capital ?Capital . ?Country ex:population ?CountryPop . ?Capital ex:population ?CapitalPop . } Each source receives a message for each triple pattern Response: true/false ASK { ?Country ex:capital ?Capital . } ASK { ?Capital ex:population ?CapitalPop . } ASK { ?Country ex:population ?CountryPop . } Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 64 / 73
  133. 133. Searching the Web of Data Querying Linked Open Data Structured queries Source selection Goal Identify sources that might contribute to the query result Approaches Naive SPARQL ASK requests and caching Statistics and indexes Keyword indexes Predicate URIs, types of instances URI indexes Frequent paths Service-level descriptions VoiD statistics Histograms . . . Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 65 / 73
  134. 134. Searching the Web of Data Querying Linked Open Data Structured queries Source selection with VoID statistics Example DBpedia2 Prefixes @prefix owl: http://www.w3.org/2002/07/owl#. @prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# . @prefix dbpedia: http://dbpedia.org/resource/ . @prefix dbpo: http://dbpedia.org/ontology/ . ... General information Basic statistics Predicate statistics Class statistics 2 http://code.google.com/p/fbench/source/browse/trunk/EvalBenchmark/suites/SPLENDID/void/ dbpedia3.5.1_subset-void.n3?r=119 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 66 / 73
  135. 135. Searching the Web of Data Querying Linked Open Data Structured queries Source selection with VoID statistics Example DBpedia2 Prefixes General information void:sparqlEndpoint http://dbpedia.org/sparql ; ... Basic statistics Predicate statistics Class statistics 2 http://code.google.com/p/fbench/source/browse/trunk/EvalBenchmark/suites/SPLENDID/void/ dbpedia3.5.1_subset-void.n3?r=119 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 66 / 73
  136. 136. Searching the Web of Data Querying Linked Open Data Structured queries Source selection with VoID statistics Example DBpedia2 Prefixes General information Basic statistics void:triples 43620475 xsd:integer ; void:entities 2222456 xsd:integer ; void:properties 1063 xsd:integer ; void:distinctSubjects 9495865 xsd:integer ; void:distinctObjects 13636604 xsd:integer ; Predicate statistics Class statistics 2 http://code.google.com/p/fbench/source/browse/trunk/EvalBenchmark/suites/SPLENDID/void/ dbpedia3.5.1_subset-void.n3?r=119 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 66 / 73
  137. 137. Searching the Web of Data Querying Linked Open Data Structured queries Source selection with VoID statistics Example DBpedia2 Prefixes General information Basic statistics Predicate statistics void:propertyPartition [ void:property dbpo:aSide ; void:triples 1600 xsd:integer ; void:distinctSubjects 1552 xsd:integer ; void:distinctObjects 1554 xsd:integer ] , [ void:property dbpo:abbreviation ; void:triples 1144 xsd:integer ; void:distinctSubjects 1141 xsd:integer ; void:distinctObjects 1096 xsd:integer ] , [ ... ]; Class statistics 2 http://code.google.com/p/fbench/source/browse/trunk/EvalBenchmark/suites/SPLENDID/void/ dbpedia3.5.1_subset-void.n3?r=119 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 66 / 73
  138. 138. Searching the Web of Data Querying Linked Open Data Structured queries Source selection with VoID statistics Example DBpedia2 Prefixes General information Basic statistics Predicate statistics Class statistics void:classPartition [ void:class dbpo:Activity ; void:entities 1234 xsd:integer ] , [ void:class dbpo:Actor ; void:entities 37898 xsd:integer ] , [ ... ] 2 http://code.google.com/p/fbench/source/browse/trunk/EvalBenchmark/suites/SPLENDID/void/ dbpedia3.5.1_subset-void.n3?r=119 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 66 / 73
  139. 139. Searching the Web of Data Querying Linked Open Data Structured queries Source selection Goal Identify sources that might contribute to the query result Approaches Naive SPARQL ASK requests and caching Statistics and indexes Keyword indexes Predicate URIs, types of instances URI indexes Frequent paths Service-level descriptions VoiD statistics Histograms . . . Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 67 / 73
  140. 140. Searching the Web of Data Querying Linked Open Data Structured queries Histogram-based indexing Index complete triples Index (s,p,o) in combinations capturing correlation Based on multidimensional histograms Identify relevant sources for triple patterns Identify relevant sources for joins Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 68 / 73
  141. 141. Searching the Web of Data Querying Linked Open Data Structured queries Histogram-based indexing Histograms Transform triple statements into numerical space (hash functions) (ex:BudSpencer ex:actedIn ex:m1234) → (323, 232, 124) Insert into the matching bucket Lookup: transform triple pattern into numerical space (ex:BudSpencer ex:actedIn ?m) Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 69 / 73
  142. 142. Searching the Web of Data Querying Linked Open Data Structured queries Histogram-based indexing Histograms Transform triple statements into numerical space (hash functions) (ex:BudSpencer ex:actedIn ex:m1234) → (323, 232, 124) Insert into the matching bucket Lookup: transform triple pattern into numerical space (ex:BudSpencer ex:actedIn ?m) s o Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 69 / 73
  143. 143. Searching the Web of Data Querying Linked Open Data Structured queries Histogram-based indexing Histograms Transform triple statements into numerical space (hash functions) (ex:BudSpencer ex:actedIn ex:m1234) → (323, 232, 124) Insert into the matching bucket Lookup: transform triple pattern into numerical space (ex:BudSpencer ex:actedIn ?m) s o s o 15 15 16 1 0 0 0 0 0 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 69 / 73
  144. 144. Searching the Web of Data Querying Linked Open Data Structured queries Histogram-based indexing Histograms Transform triple statements into numerical space (hash functions) (ex:BudSpencer ex:actedIn ex:m1234) → (323, 232, 124) Insert into the matching bucket Lookup: transform triple pattern into numerical space (ex:BudSpencer ex:actedIn ?m) s o s o 15 15 16 1 0 0 0 0 0 s o 15 15 16 1 0 0 0 0 0 Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 69 / 73
  145. 145. Searching the Web of Data Querying Linked Open Data Structured queries Histogram-based indexing Histograms Transform triple statements into numerical space (hash functions) (ex:BudSpencer ex:actedIn ex:m1234) → (323, 232, 124) Insert into the matching bucket Lookup: transform triple pattern into numerical space (ex:BudSpencer ex:actedIn ?m) Alternative to histograms (QTree or clustering) [11]: s o A1 A2 A B C B1 B2 s o A1 A2 A B C B1 B2 s o Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 69 / 73
  146. 146. Searching the Web of Data Querying Linked Open Data Structured queries Histogram-based indexing Join cardinality estimation and source selection Determine buckets for 1st triple pattern Determine buckets for 2nd triple pattern Determine buckets that overlap in the join dimension (e.g., subject) Estimate cardinality based on the degree of overlap 1st BGP 2nd BGP 2nd BGP subject object Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 70 / 73
  147. 147. Searching the Web of Data Querying Linked Open Data Summary: querying Linked Open Data Querying Linked Open Data (LOD) Browser-based link traversal Most natural way of looking up Linked Data Keyword search for Linked Open Data Several search engines available coming in different flavors SPARQL query processing Materialized query processing Lookup-based query processing Federated query processing Relies on powerful and available sources Statistics require additional cooperation Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 71 / 73
  148. 148. Searching the Web of Data Querying Linked Open Data References I [1] Daniel J. Abadi, Adam Marcus, Samuel Madden, and Kate Hollenbach. SW-Store: a vertically partitioned DBMS for Semantic Web data management. VLDB J., 18(2):385–406, 2009. [2] S¨oren Auer, Christian Bizer, Georgi Kobilarov, Jens Lehmann, Richard Cyganiak, and Zachary G. Ives. DBpedia: A nucleus for a Web of open data. In ISWC, 2007. [3] Christian Bizer. Topology of the Web of Data, 2012. Keynote LWDM 2012. http://www.wiwiss.fu-berlin.de/en/institute/pwo/bizer/research/ publications/Bizer-TopologyWoD-LWDM2012-BEWEB2012.pdf?1361005355. [4] Gianluca Demartini, Peter Mika, Thanh Tran, and Arjen P. de Vries. From Expert Finding to Entity Search on the Web, 2012. Tutorial ECIR 2012. http://diuf.unifr.ch/main/xi/EntitySearchTutorial. [5] Katja Hose and Ralf Schenkel. WARP: Workload-Aware Replication and Partitioning for RDF. In DESWEB’13, 2013. [6] Jiewen Huang, Daniel J. Abadi, and Kun Ren. Scalable SPARQL Querying of Large RDF Graphs. PVLDB, 4(11):1123–1134, 2011. Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 72 / 73
  149. 149. Searching the Web of Data Querying Linked Open Data References II [7] Thomas Neumann and Gerhard Weikum. RDF-3X: a RISC-style engine for RDF. PVLDB, 1(1):647–659, 2008. [8] Andreas Schwarte, Peter Haase, Katja Hose, Ralf Schenkel, and Michael Schmidt. Fedx: Optimization techniques for federated query processing on linked data. In ISWC 2011, pages 601–616, 2011. [9] Fabian M. Suchanek, Gjergji Kasneci, and Gerhard Weikum. Yago: a core of semantic knowledge. In WWW, 2007. [10] Metaweb Technologies. The freebase project. http://freebase.com. [11] J¨urgen Umbrich, Katja Hose, Marcel Karnstedt, Andreas Harth, and Axel Polleres. Comparing data summaries for processing live queries over linked data. World Wide Web, 14:495–544, 2011. Katja Hose Searching the Web of Data March 24, 2013 – ECIR 2013 73 / 73
  150. 150. ! ! C*D4#( ! 5(+$.2B%+'.( ! !+$B%+B$2*0#+#*.(*+*,- ! EB$9'()*F'(82*AG(*0#+# ! EB$9'()*+*,-*./*0#+# ! EB$9*?(2$=+#(2'() ! AB+4..8*#(2*6.(%4B='.(
  151. 151. ! ! ++$'-B+M7#=2*O(+'+9*!#$%
  152. 152. ! ! 1$#GM7#=2*O(+'+9*!#$%
  153. 153. ! ! 1$#GM7#=2*O(+'+9*!#$% TBUV.)%$649%;)O!#$%$'()*#+,%-+.+%$.+)/+0%01.#*2% /+%3),/%$+*/1.4%#*%5#3#$*%6)33+4%! #$$%'!('!%)*!+,-../*!000!,-..!1(2'!3(4#!56%7
  154. 154. ! ! 1$#G*EB$9*D$.%=='() ! 7D'%#)A:9WAJ)$=) #%N(94 ! Q$A)V%:9%) VN#DX'#$A;) '(()N9$N(9)G4S)'(() M$F9()N%X9)6AA9%4 -IY1Z)[M9D'AA)9#)'(S).//] OYA:)M$F9()^%X9)6AA9%4)68$) 4%GG9:)F$#8)6$%(:)6'%4)'A:)#89%) $6A)58(:P
  155. 155. ! !
  156. 156. ! ! 1$#G*EB$9*Q4#R#+'.( ! D$.-4LH)7#%5#%9:)I'#')$=#9A)A5$DN(9#9 ! !.4B+'.(H)+'%9=()@9%C)-9('W'#$A 9SJS) F$%A,A)_)5#X9AV=2)(G94,A 6$AB6'%:)_)A$DA'#9:Y$%2)48$%#R4#9:Y$% ! D.=='-4*GG$.#%H)R'AJ'J9)3$:9(4 [*(F'44$A)9#)'(S)*7E+)./00]
  157. 157. ! ! 02BG4'%#+'.(
  158. 158. ! ! 02BG4'%#+'.(
  159. 159. ! ! 02BG4'%#+'.( '($J)[,Q+B,)R`I)E$%?48$N)./00]; 9W#%'5#)N%$:5#)'##%F#94)#$)DN%$G9) N%$:5#):9:N(5'#$A
  160. 160. ! ! 02BG4'%#+'.(
  161. 161. ! ! 02BG4'%#+'.( ! F5J0* S7TL*+*#4U*65:3*VWXVY ! B#$D'#5'((C)5%9'#9)A96)(A?4 68(9)'55$A#AJ)=$% :9N9A:9A594 ! 3'N-9:59F'49: '(J$%#8D)=$%)45'('F(#C
  162. 162. ! ! 02BG4'%#+'.( :9)39($)a)E9?D)[./0/]S)LA#'AJ(AJ)#89)+%$44RAJ'() RA?)7#%5#%9)$=)E?N9:'S)B+R)./0/ ':)9A##C)(A?4) (9':)#$)A5$A44#9A# 9bG'(9A59)5('4494 _)L49):4#A5#A944 9G:9A59)#$)49N'%'#9 :4#A5#)9A##94
  163. 163. ! ! 02BG4'%#+'.(*OR#LG4H FR@.U.$) :9)39($)a)E9?D)[,7E+).//] R'AJ'J94 75%N#4 +$A#%94 +8'%'5#9%4 E$%:4 E$%:)79A494 *#5S `F)A)IJ#'() RF%'%94)'A:) RA?9:) RAJ4#5)I'#') 5($:4
  164. 164. ! ! 02BG4'%#+'.( I'(#$A2)3?') a)('A5$) [+,H3)./00]; -'A?AJ) A99:4)#$)#'?9) A#$)'55$A#) 5$%9=9%9A59c :9:N(5'#$A) %94(#4
  165. 165. ! ! JR+H*Q#(8'()
  166. 166. ! ! 5JOZ*O(+'+9*C$#%8 ! 1.#4H)JG9A)')(4#)b9%C2)=A:)'A:)%'A?)%9(9G'A#) 9A##94)=%$D)'A)Z3R)5$((95#$A)[E?N9:'] ! OR#LG4H)O!#$%'()*$(+#,-)./#)0)*'() %'1).,+/)!#$-P ! 7NN(9D9A#'%C)AN#)A=$%D'#$A ! '])+'#9J$%C;)2$(+#,- [*A##C)-'A?AJ)!'4?] ! F])*W'DN(9)9A##94;)3#'(*4)5#6'(14)7%',( [R4#)+$DN(9#$A)!'4?]
  167. 167. ! ! CQO6*O(+'+9*C$#%8 ! -'A?AJ)9A##94)=$A:)A)')G4#'(+R+*5$((95#$A) [+(9E9F] ! .//d)#'4?;)=A:)%9('#9:)9A##94 !#$%!'#$% !()*)+,-$(%./(*012!'()*)+,-$(% !()*)+,345%67#(8(9:;(:::==:;!'()*)+,345% !)-?0(),()*)+%/?0-*@-)*/!')-?0(),()*)+% !-??-)*A(%B*?7*(C1)D-)16#??()7+1#C(1./(*0121 E7-(CF!'-??-)*A(%
  168. 168. ! ! D$./'4M7#=2*Q#(8'() 0SL49)A'D9:)9A##C):9#95#$A)#$$(4)#$) =A:)A'D9:)(+'+'=*'(*2.%BL(+* %.44%+'.( .SY$%)9'58)9A##C2)49)#89)$55%%9A59) 5$A#9W#4)#$)5%9'#9)')@'$+B#4* 2.%BL(+)[49%GAJ)'4)')N%$=(9]S 1S!89A)49)$)B4#$*5Q)D9#8$:4)#$) %'A?)#8949)N%$=(9):$5D9A#4S ))))))))))))))))))))))['($J)9#)'(S)!V,7)./00]
  169. 169. ! ! CR+*Q=B4+M7#=2*Q#(8'() 0SY%4#)=A:)%9(9G'A#):$5D9A#4 .S*W#%'5#)9A##94)=%$D)#8949):$5D9A#4 1SL49)G'%$4)4$%#4)$=)%'A?AJ)#958Ab94) [9SJS)=%9b9A5C2)('AJ'J9)D$:9(AJ2) E?N9:')'4)F'5?J%$A:)?A$6(9:J9] )))
  170. 170. ! ! C#R.(.L'%*K'4+$'() ! Y(#9%)9A##94)F'49:)$A)#89%) $A#$($J5'()#CN9)[9SJS)%#-$(2) $#8'(,9'+,$(2)$%)D$%9)4N95=5;) 6-62)6$:,] ! *W'DN(9;)#%C)=A:AJ)9W'DN(9) 9A##94)=$%)#89)#'%J9#)#CN9)'A:)#89A) 5$DN'%AJ)5'A::'#94)6#8)#89D [e958#$D$G')./0/]
  171. 171. ! ! 3OJCH*3B4+'4'()B#4*C#R.(.L9* S/$.L*,.$2J+*[*VW*,'8'G2'#=Y 2*34.*]*,'8BLU*65:3*VWXWU ++GHPP+'(9U%%PBN(#G'
  172. 172. ! ! Q#(8'()*!B-)$#G=* ))))))))9=$%9; YA:)9A##94 ))))))))M$6; YA:)68$(9)4FJ%'N842)9SJS)D'#58AJ ))))))))))))))))) ?9C6$%:4 *(F'44$A)a)('A5$S)+,H3)./00; R'AJ'J9)3$:9(F'49:)-'A?AJ)=$%)O5$D9:C)'5':9DC)'6'%:P
  173. 173. ! ! Q#(8'()*!B-)$#G=* ! MBUB) [H'4A95)9#)'(S).//]) 7#'#4#5'()('AJ'J9) D$:9()=$%)%'A?AJ) 9A##C%9('#$A48N) 4FJ%'N84 !89C)'(()8'G9):$5#$%'():9J%994)=%$D) U9%D'A)AG9%4#94) [8$A$%'%C):$5#$%'#9)=$%)#89)I'(')R'D']S
  174. 174. ! ! Q#(8'()*!B-)$#G= !B-)$#G=*=.B42*-*2(=*#(2*'(/.$L#+'@ C9G'%#4*GG$.#%H* =A:)7#9A9%)!%994 OR#LG4H BAJ9(')39%?9( B%A$(:)7586'%X9A9JJ9% ))) 7!B-S)H'4A95)9#)'(S),+I*).//d
  175. 175. ! ! EB=+'.(=^
  176. 176. ! ! C*D4#( ! 5(+$.2B%+'.( ! !+$B%+B$2*0#+#*.(*+*,- ! EB$9'()*F'(82*AG(*0#+# ! EB$9'()*+*,-*./*0#+# ! EB$9*?(2$=+#(2'() ! AB+4..8*#(2*6.(%4B='.(
  177. 177. ! ! J#L2*O(+'+9*Q%.)('+'.( 3.$*+#(*L.$*+#(*_W`*./* ,-*=#$%*()'(*aB$'=* #'L*#+*(+'+'= SD.B(2*+*#4U*,,,*VWXWY U)U* G.G4b* G4#%=b* $=+#B$#(+=b* G$.2B%+=b %.LG#('=
  178. 178. ! ! J#L2*O(+'+9*Q%.)('+'.( U$$J(9)f9#J94#) ./0.)!$N)!%9A:AJ) 79'%5894 [5%9:#;) -$F9%#)M9D'C9%]
  179. 179. ! ! J#L2*O(+'+9*Q%.)('+'.(
  180. 180. ! ! J#L2*O(+'+9*Q%.)('+'.( Q=#$%*6#44()H .N*+.*L#=B$*B=$* =#+'=/#%+'.(^* A/+(*#GG#$(+49*(.*/2-#%8* #4+.B)*B=$*'=*#GG'$U
  181. 181. ! ! J#L2*O(+'+9*0'=#L-')B#+'.(
  182. 182. ! ! J#L2*O(+'+9*0'=#L-')B#+'.(
  183. 183. ! ! F'=+*EB$9*0+%+'.( XV`*./*#44*aB$'=*S3'8#*+*#4UY
  184. 184. ! ! F'=+*EB$9*0+%+'.(
  185. 185. ! ! F'=+*EB$9*0+%+'.(
  186. 186. ! ! F'=+*EB$9*0+%+'.( U$$J(9)'4)$=)./01/1
  187. 187. ! ! F'=+*EB$9*0+%+'.( ! K'(M)$#'(2b*N'+*#++$'-B+=H O,A#9((95#'()N%$N9%#C)('6C9%4)A) ^'($)B(#$P ! Q#(8'()PAG'('.(*3'('()H OU$$:):9A#4#4)A)%$$?(CAP OF94#)%'D9A)A)V'?('A:P ! C9GM!G%'/'%*?5=^
  188. 188. ! ! F'=+*EB$9*(=N$= ! !$A$A2)I9D'%#A)a)+:%g3'%$W) [7,U,-)./0.]; ! Y%4#)=A:)%9(9G'A#)9A##94)A)4ANN9#4) =$A:)A)%9J('%)AG9%#9:)A:9W ! !89A)%9%'A?)'A:)9W#9A:)(4#)FC) :45$G9%AJ)4D('%)9A##94)4AJ) 7#%5#%9:)I'#')%9N$4#$%C
  189. 189. ! ! ++$'-B+*EB$'= ! +%%9A#(C)'%$A:)hi)$=)E9F)@9%94 9SJS)OXN)5$:9)6'#9%G((9)D'A9P) [^9#9%)3?']
  190. 190. ! ! ++$'-B+*EB$'= ! OD9J)%C'A)%$D'A59P D'#5894):==9%9A#)'##%F#94)[=9(:4] 5'4#; D9J)%C'A J9A%9; %$D'A59 ! M'jG9)4$(#$A;)+$DN#9)3.h)=$%)9'58) =9(:2)5$DFA9 ! ^%$F(9D;)9'58)3.h)G'(9)%9D'A4)A'6'%9) $=)6858)$#89%)b9%C)#9%D4)69%9)D'#589:)A) $#89%)=9(:4
  191. 191. ! ! ++$'-B+*EB$'=*N'+*73VcK ! Y$%)9'58)#9%D2)'JJ%9J'#9)'5%$44):==9%9A#)=9(:4S ! !89A)'JJ%9J'#9)'5%$44)#89)#9%D4S ! B(4$;)L49)=9(:4N95=5)69J8#4 7$%59;) -$F9%#4$A)'A:) f'%'J$X')[.//k]
  192. 192. ! ! ++$'-B+*EB$'=*N'+*DQ3! ! ,:9';)Y9(:4N95=5)69J8#4)48$(:)'(4$):9N9A:)$A) 4N95=5)b9%C)6$%:l 7$%59;)HD2)Z9)a)+%$=#)[.//d]
  193. 193. ! ! ++$'-B+*EB$'=*.@$*CR+ *7!*-)['4#)9#)'(S)7,U,-).//k];)E8(9)A:9WAJ)') :$5D9A#)5$((95#$A2)'::)'%#=5'()49D'A#5)6$%:4)#$) AG9%#9:)A:9W2)9SJS)ON9%4$A;#$AC)F('%P2)#$)%9=9%9A59) 'A)'%#=5'():$5D9A#)'F$#)!$AC)('% d.'(*EB$'=H* e-.$(*'(*9#$HXfghi
  194. 194. ! ! ++$'-B+*EB$'=*.@$*CR+ `'?'K4)@I*Z;),A:9W)D9'AAJ):45$G9%9:)A)#9W#S 79A#9A59)=$A:)'4)')%94N$A49)#$)b9%C) O!#$%'()%$'*#$+%*##,*-P 7$%59;)8'?'S5$D)E8#9N'N9%)$A) 79D'A#5)79'%58)!958A$($JCS)Q'A'%C)./0/S
  195. 195. ! ! ++$'-B+*EB$'=*.@$*CR+ Q=#$%*6#44()=H ! E8'#)=$%D4)$=)#9W#)'A'(C44)'%9)45'('F(9) 9A$J8)=$%)A#9J%'#$A)A#$)'A)AG9%#9:) A:9Wm ! `$6)#$)'G$:)A:9W)4X9)F($6N ! -$F4#A944;)`$6)#$):9'()6#8)A$492)($AJ) #'()9A##942)9#5S ! `+,;)E8'#)'%9)#89)F94#)[A#9%'5#G9])L,) N'%':JD4m
  196. 196. ! ! !L#(+'%*(=N$=* /.$*$-'+$#$9*EB$'= ! JC65Q*X6F56:*C#=8H)UG9A)')b9%C2)%9#%A)')48$%#) 4DD'%C)$=)%9(9G'A#)69F)N'J94S ! OR#LG4H)6$%:):9=A#$A42)'%#4#)A=$%D'#$A2)9#5S ! 6.(=+$#'(+H)7X9)(D#4)[9SJS)0///)58'%'5#9%4)=$%) :94?#$N2)./)=$%)D$F(9)%A]
  197. 197. ! ! EB=+'.(*(=N$'()* .@$*F'(82*0#+# T'8C')9#)'(S)*3MR^)./00
  198. 198. ! ! EB=+'.(*(=N$'()* .@$*F'(82*0#+# T'8C')9#)'(S)*3MR^)./00
  199. 199. ! ! EB=+'.(*(=N$'()* .@$*F'(82*0#+# T'8C')9#)'(S)*3MR^)./00
  200. 200. ! ! EB=+'.(*(=N$'()* .@$*F'(82*0#+# T'8C')9#)'(S)*3MR^)./00
  201. 201. ! ! EB=+'.(*(=N$'()* .@$*F'(82*0#+# T'8C')9#)'(S)*3MR^)./00
  202. 202. ! ! EB=+'.(*(=N$'()* .@$*F'(82*0#+# ^C#8')FC)LAJ9%)'A:)+D'A$)[./00]
  203. 203. ! ! EB=+'.(*(=N$'()*.@$*0#+#
  204. 204. ! ! EB=+'.(*(=N$'()*.@$*0#+# 0h)D(($A)(A94)$=) 3'#89D'#5')5$:9 )[./00]
  205. 205. ! ! EB=+'.(*(=N$'()*.@$*0#+# 0h)D(($A)(A94)$=) 3'#89D'#5')5$:9 )[./00]
  206. 206. ! ! EB=+'.(*(=N$'()H*,#+=.( ,3K4)E'#4$A;)F9'#)8D'A)Q9$N'%:Cl)58'DN$A4
  207. 207. ! ! EB=+'.(*(=N$'()H*,#+=.( ! Y%4#)E'#4$A)G9%4$A;)#6$)8$%4)N9%)b94#$A ! Q9$N'%:Cl)G9%4$A;)D'44G9(C)N'%'((9() [./)5$%942)0n2///U)$=)-B3]
  208. 208. ! ! EB=+'.(*(=N$'()H*,#+=.( ! Y%4#)7#9N;)@94#$A)+('44=5'#$A ! I9=A#$A)b94#$A4 ! 3'#8)b94#$A4 ! ^XX(9)b94#$A4 ! E8'#)?A:)$=)'A469%)4)%9b%9:m) ! `$6;)!9W#)5('44=5'#$A)#958Ab94) 6#8)'::#$A'()%(94
  209. 209. ! ! EB=+'.(*(=N$'()H*,#+=.( ! I99N)N'%4AJ2)#9W#)5('44=5'#$A)A)$%:9%)#$) :95$DN$49)b94#$A4)A#$)N'%#4
  210. 210. ! ! EB=+'.(*(=N$'()H*,#+=.( ! !%C)#$)($$?)N)[N'%#4)$=)'A469%4])A)?A$6(9:J9) F'494)'A:):'#'F'494; IN9:'2)TBUV2)D'AC)$#89%4 ! `$69G9%;)%9('#$A4)G9%C)89#9%$J9A$4 ! VA)#89)=(C),A=$%D'#$A)-9#%9G'()'A:) BA469%)*W#%'5#$A ! 0!)$=)!9W#;)9A5C5($N9:'42):5#$A'%942)#894'%2) A9642)D45):'#'F'4942),3I2)'A:)#89)E9F
  211. 211. ! ! EB=+'.(*(=N$'()H*,#+=.( ! ^$44F(C)#8$4'A:4)$=)%#(2'2#+*#(=N$= ! -9#%9G9)9G:9A59)=$%)9'58)5'A::'#9) 'A:)$#(8*#(=N$= ! R9W5'()5$DN'#F(#C ! ^'44'J9)%9('F(#C ! ^$N('%)G4S)VF45%9 ! #'W$A$D5)5$DN'#F(#C ! 7N'#'(2)#9DN$%'()5$DN'#F(#C ! SSS)[$G9%)h/)45$%AJ)5$DN$A9A#4]
  212. 212. ! ! EB=+'.(*(=N$'()H*,#+=.( ! (=N$*L$)'()* [OBF%'8'D)RA5$(AP)G4S) O`$A94#)BF9P];) 9449A#'((C)5$%9=9%9A59)'A'(C44 ! YA'().@$#44*$#(8'())5$DFAAJ) 45$%94)A):==9%9A#)6'C4) :9N9A:AJ)$A)#CN9)$=)b94#$A) [($J4#5)%9J%944$A)D$:9(4]
  213. 213. ! ! C*D4#( ! 5(+$.2B%+'.( ! !+$B%+B$2*0#+#*.(*+*,- ! EB$9'()*F'(82*AG(*0#+# ! EB$9'()*+*,-*./*0#+# ! EB$9*?(2$=+#(2'() ! AB+4..8*#(2*6.(%4B='.(
  214. 214. ! ! D$=.(#4*=='=+#(% ! !G%*Q%.)('+'.(H) ,A5%9D9A#'()DN%$G9D9A#42) #'4?4N95=5) ('AJ'J9)D$:9(AJ ! Y(()':$)49A#) #$)49%G9%4 ! _)4N9958)%95$JA#$A)A99:AK#) %A)$A)N8$A9 ! _)8J9)N$#9A#'()=$%):'#') 5$((95#$A)
  215. 215. ! ! D$=.(#4*=='=+#(% ! 6.(+R+MN#$(==)[($5'#$A2) 4589:(92)9#5S] OBAC)J$$:)F%J9%)o$A#4)'%$A:)89%9mP ! Y%$D)A:G:'() b94#$A4)#$)2'#4.)= O`DDS)`$6)'F$#)#'5$4mP ! 64#$'/'%#+'.(=H*OI:)C$) D9'A)NXX')%94#'%'A#4) A)+85'J$)$%)+85'J$4#C(9 NXX')N('594)A9'%)C$mP ! d.'(*aB$'=)$G9%)7#%5#%9:)I'#';) O,#'('A)%94#'%'A#4)A)#89)7V3B) A9J8F$%8$$:)$=)7'A)Y%'A545$)#8'#) 8'G9)#'F(94)'G'('F(9)#$AJ8#P
  216. 216. ! ! D$=.(#4*=='=+#(% 7$%59;)8##N;cc48##8'#4%4'C4S#DF(%S5$DcN$4#c00d000/0k 5(/.$L#+'.(*5(+)$#+'.(H L49)A=$%D'#$A)=%$D) 69F)4$%594)(?9) J9$A'D94S$%J) [RA?9:)I'#']S I9(9J'#9)4$D9)%9b94#4 #$)$#89%)49%G594)$A)#89) E9F)(?9)E$(=%'D)B(N8'S
  217. 217. ! ! D$=.(#4*=='=+#(% 7$%59;)8##N;cc4%b94#$A4S5$Dc,pA99:p'p:%A?pb0d. 5(+(+ 0+%+'.(H Y%$D)@94#$A4) #$)!'4?4
  218. 218. ! ! D$=.(#4*=='=+#(% 7$%59;)8##N;cc666SN5D'JS5$Dc'%#5(9.c/2.0k2.1dq1q2//S'4Nr=F:s3LN*B8!3$H 5(+(+ 0+%+'.(H Y%$D)@94#$A4) #$)!'4?4
  219. 219. ! ! D$=.(#4*=='=+#(% ! M'A59K4)MA')'A:)7-,K4) R$(')=$%)+4#$D9%)79%G59 ! t+'A),)49#)N)')%9J('%) D$A#8(C)N'CD9A#)$=)DC) D$%#J'J9mt ! O`$6)($AJ)8'G9),)J$#)A#() ,)8'G9)#$)N'C)DC)e4')F((P ! O+'A),)J9#)$A)'A)9'%(9%) =(J8#)#$)$4#$AP ,D'J9;)M'A59
  220. 220. ! ! D$=.(#4*=='=+#(% $#9J$)49%G59)49:)FC)LA(9G9%2)+$5')+$(')9#5S
  221. 221. ! ! J.+*dB=+*D.(= ! OE8'#u4)$A)!7)'#)d) NSDS)#$AJ8#mP ! OYA:)5$D9:94)6#8) 9A)7#((9%P ! O^('C)4$D9) -':$89':P)[D45] ! O+'(()Q'A9)$A)7?CN9P ! O79A:)D944'J9)#$) Q$8A;)E'A#)#$)5$D9)#$) 6'#58)#89)48$6mP
  222. 222. ! ! J.+*dB=+*D.(= ! 7%)9C94)=%99)D$:9)A) 4$D9)U3)5'%4 ! 35%$4$=#)!9((D9;)49:) A)5'%4)[Y$%:2)H']2)!e4) [G')HA95#]2)'A:) 5$DAJ)#$)^+4 ! O,)4'6)$A9)$=)DC)?:4) #%CAJ)#$)#'(?)'A:)JG9) 5$DD'A:4)#$)$%) 8$D9)4#9%9$2)6#8$#) D58)455944P) [fJ)79%'=A2)35%$4$=#]
  223. 223. ! ! J.+*dB=+*D.(= ! VA#89=(C),A=$%D'#$A [9SJS):%95#$A42) 69'#89%)%9N$%#42) D944'J94] ! e$59)A#9%='59 U$$J(9K4)^%$o95#)U('44
  224. 224. ! ! 6.(%4B='.( ! !+$B%+B$2*0#+#*.(*+*,-H* D'%?N2)RA?9:)I'#'2)HA$6(9:J9) U%'N82)9#5S ! EB$9'()*+*,-*./*0#+#H* ?9C6$%:)49'%582)4#%5#%9:) b9%942)%'A?AJ ! EB$9*?(2$=+#(2'()H 7D'%#)@94#$A)BA469%AJ2) #89)=#%9)$=)49%)A#9%='594 7$%59;)E?N9:'
  225. 225. ! ! 3.$*5(/.$L#+'.( 1$#$2*2*34. ++GHPP4R@.U.$)P)2LP* :#+;#*.= ++GHPPNNNU8#+;#M.=U2P EB=+'.(=^

×