SlideShare a Scribd company logo
1 of 226
Download to read offline
! !
!"#$%&'()*+&"*,"-*./*0#+#
!"#$%&'()'#)*+,-)./012)3$45$6
1"$#$2*2"*3"4.
56!5*7"$8"4"9
!""#$%%&'()*+*,-%-./%
:#+;#*<.="
>#4-.$)*?('@"$='+9
!""#$%%000+12"324!*5'+.'%
! !
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
! !
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='.(
! !
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*?(2"$=+#(2'()
! AB+4..8*#(2*6.(%4B='.(
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 of Data March 24, 2013 – ECIR 2013 17 / 73
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
! !
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='.(
! !
++$'-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%!
#$$%'!('!%)*!+,-../*!000!,-..!1(2'!3(4#!56%7
! !
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
! !
! !
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]
! !
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:
'(J$%#8D)=$%)45'('F(#C
! !
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
! !
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
! !
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!#$%'()*$(+#,-)./#)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?]
! !
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(%
! !
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]
! !
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]
)))
! !
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/]
! !
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
*(F'44$A)a)('A5$S)+,H3)./00;
R'AJ'J9)3$:9(F'49:)-'A?AJ)=$%)O5$D9:C)'5':9DC)'6'%:P
! !
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
! !
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
! !
EB=+'.(=^
! !
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='.(
! !
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#('=
! !
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
OU$$:):9A#4#4)A)%$$?(CAP
OF94#)%'D9A)A)V'?('A:P
! C9GM!G%'/'%*?5=^
! !
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
! !
++$'-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;)+$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
! !
++$'-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]
! !
++$'-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)#$)
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
! !
++$'-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
! !
++$'-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
! !
!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]
! !
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)0n2///U)$=)-B3]
! !
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
! !
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
! `$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
! !
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]
! !
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]
! !
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='.(
! !
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)
! !
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
! !
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
! !
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)
#$)!'4?4
! !
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
! !
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+'(()Q'A9)$A)7?CN9P
! O79A:)D944'J9)#$)
Q$8A;)E'A#)#$)5$D9)#$)
6'#58)#89)48$6mP
! !
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$=#]
! !
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'%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:'

More Related Content

What's hot

Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...Ícaro Medeiros
 
JSON-LD: Linked Data for Web Apps
JSON-LD: Linked Data for Web AppsJSON-LD: Linked Data for Web Apps
JSON-LD: Linked Data for Web AppsGregg Kellogg
 
Bill Slawski SEO and the New Search Results
Bill Slawski   SEO and the New Search ResultsBill Slawski   SEO and the New Search Results
Bill Slawski SEO and the New Search ResultsBill Slawski
 
Ric Rodriguez - Search In 2020 - it's No Longer About Ranking
Ric Rodriguez - Search In 2020 - it's No Longer About RankingRic Rodriguez - Search In 2020 - it's No Longer About Ranking
Ric Rodriguez - Search In 2020 - it's No Longer About RankingRic Rodriguez
 
Learning resource metadata for schema.org
Learning resource metadata for schema.orgLearning resource metadata for schema.org
Learning resource metadata for schema.orgPhil Barker
 
Semantic Search Engine: Semantic Search and Query Parsing with Phrases and En...
Semantic Search Engine: Semantic Search and Query Parsing with Phrases and En...Semantic Search Engine: Semantic Search and Query Parsing with Phrases and En...
Semantic Search Engine: Semantic Search and Query Parsing with Phrases and En...Koray Tugberk GUBUR
 
Beyond Google: Advanced Internet Search Tips and Tricks
Beyond Google: Advanced Internet Search Tips and TricksBeyond Google: Advanced Internet Search Tips and Tricks
Beyond Google: Advanced Internet Search Tips and TricksGenealogyMedia.com
 
The Semantic Web – A Vision Come True, or Giving Up the Great Plan?
The Semantic Web – A Vision Come True, or Giving Up the Great Plan?The Semantic Web – A Vision Come True, or Giving Up the Great Plan?
The Semantic Web – A Vision Come True, or Giving Up the Great Plan?Martin Hepp
 
Evolution of Search
Evolution of SearchEvolution of Search
Evolution of SearchBill Slawski
 
Agile Descriptions
Agile DescriptionsAgile Descriptions
Agile DescriptionsTony Hammond
 
Information update May 2010 Finding the key (words) to the hidden treasure
Information update May 2010 Finding the key (words) to the hidden treasure Information update May 2010 Finding the key (words) to the hidden treasure
Information update May 2010 Finding the key (words) to the hidden treasure Inbar Yasur ענבר יסעור
 
JSON-LD for RESTful services
JSON-LD for RESTful servicesJSON-LD for RESTful services
JSON-LD for RESTful servicesMarkus Lanthaler
 
Jim Hendler's Presentation at SSSW 2011
Jim Hendler's Presentation at SSSW 2011Jim Hendler's Presentation at SSSW 2011
Jim Hendler's Presentation at SSSW 2011sssw2011
 
Introduction to Linked Data 1/5
Introduction to Linked Data 1/5Introduction to Linked Data 1/5
Introduction to Linked Data 1/5Juan Sequeda
 
Harith Alani's presentation at SSSW 2011
Harith Alani's presentation at SSSW 2011Harith Alani's presentation at SSSW 2011
Harith Alani's presentation at SSSW 2011sssw2011
 
Semantic Search on the Rise
Semantic Search on the RiseSemantic Search on the Rise
Semantic Search on the RisePeter Mika
 

What's hot (20)

Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
 
JSON-LD: Linked Data for Web Apps
JSON-LD: Linked Data for Web AppsJSON-LD: Linked Data for Web Apps
JSON-LD: Linked Data for Web Apps
 
Bill Slawski SEO and the New Search Results
Bill Slawski   SEO and the New Search ResultsBill Slawski   SEO and the New Search Results
Bill Slawski SEO and the New Search Results
 
Information update May 2010 Alternative Search engine
Information update May 2010 Alternative Search engineInformation update May 2010 Alternative Search engine
Information update May 2010 Alternative Search engine
 
Ric Rodriguez - Search In 2020 - it's No Longer About Ranking
Ric Rodriguez - Search In 2020 - it's No Longer About RankingRic Rodriguez - Search In 2020 - it's No Longer About Ranking
Ric Rodriguez - Search In 2020 - it's No Longer About Ranking
 
Learning resource metadata for schema.org
Learning resource metadata for schema.orgLearning resource metadata for schema.org
Learning resource metadata for schema.org
 
Semantic Search Engine: Semantic Search and Query Parsing with Phrases and En...
Semantic Search Engine: Semantic Search and Query Parsing with Phrases and En...Semantic Search Engine: Semantic Search and Query Parsing with Phrases and En...
Semantic Search Engine: Semantic Search and Query Parsing with Phrases and En...
 
Beyond Google: Advanced Internet Search Tips and Tricks
Beyond Google: Advanced Internet Search Tips and TricksBeyond Google: Advanced Internet Search Tips and Tricks
Beyond Google: Advanced Internet Search Tips and Tricks
 
Nonprofit social graph
Nonprofit social graphNonprofit social graph
Nonprofit social graph
 
The Semantic Web – A Vision Come True, or Giving Up the Great Plan?
The Semantic Web – A Vision Come True, or Giving Up the Great Plan?The Semantic Web – A Vision Come True, or Giving Up the Great Plan?
The Semantic Web – A Vision Come True, or Giving Up the Great Plan?
 
Information update May 2010 New Tools in Google
Information update May 2010 New Tools in GoogleInformation update May 2010 New Tools in Google
Information update May 2010 New Tools in Google
 
Evolution of Search
Evolution of SearchEvolution of Search
Evolution of Search
 
Agile Descriptions
Agile DescriptionsAgile Descriptions
Agile Descriptions
 
Information update May 2010 Finding the key (words) to the hidden treasure
Information update May 2010 Finding the key (words) to the hidden treasure Information update May 2010 Finding the key (words) to the hidden treasure
Information update May 2010 Finding the key (words) to the hidden treasure
 
JSON-LD for RESTful services
JSON-LD for RESTful servicesJSON-LD for RESTful services
JSON-LD for RESTful services
 
Jim Hendler's Presentation at SSSW 2011
Jim Hendler's Presentation at SSSW 2011Jim Hendler's Presentation at SSSW 2011
Jim Hendler's Presentation at SSSW 2011
 
Introduction to Linked Data 1/5
Introduction to Linked Data 1/5Introduction to Linked Data 1/5
Introduction to Linked Data 1/5
 
Spj110509
Spj110509Spj110509
Spj110509
 
Harith Alani's presentation at SSSW 2011
Harith Alani's presentation at SSSW 2011Harith Alani's presentation at SSSW 2011
Harith Alani's presentation at SSSW 2011
 
Semantic Search on the Rise
Semantic Search on the RiseSemantic Search on the Rise
Semantic Search on the Rise
 

Similar to Searching the Web of Data (Tutorial)

Microdata semantic-extend
Microdata semantic-extendMicrodata semantic-extend
Microdata semantic-extendSeek Tan
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單偉格 高
 
BarCamp Sd Microformats
BarCamp Sd MicroformatsBarCamp Sd Microformats
BarCamp Sd MicroformatsJoshua Brewer
 
Rank | Analyse | Lead | Search
Rank | Analyse | Lead | SearchRank | Analyse | Lead | Search
Rank | Analyse | Lead | Searchsopekmir
 
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...MakoLab SA
 
Industry Ontologies: Case Studies in Creating and Extending Schema.org
Industry Ontologies: Case Studies in Creating and Extending Schema.org Industry Ontologies: Case Studies in Creating and Extending Schema.org
Industry Ontologies: Case Studies in Creating and Extending Schema.org sopekmir
 
Google's Hummingbird and the Entity Search Revolution
Google's Hummingbird and the Entity Search RevolutionGoogle's Hummingbird and the Entity Search Revolution
Google's Hummingbird and the Entity Search RevolutionCyrus Shepard
 
Responsive Images and Video
Responsive Images and VideoResponsive Images and Video
Responsive Images and VideoJason Grigsby
 
Responsive Email Design and Development
Responsive Email Design and DevelopmentResponsive Email Design and Development
Responsive Email Design and Developmentladyheatherly
 
Structured Data and Semantic SEO
Structured Data and Semantic SEOStructured Data and Semantic SEO
Structured Data and Semantic SEOMatthew Brown
 
Semantic web support for POSH
Semantic web support for POSHSemantic web support for POSH
Semantic web support for POSHDinu Suman
 
Apache Spark GraphX & GraphFrame Synthetic ID Fraud Use Case
Apache Spark GraphX & GraphFrame Synthetic ID Fraud Use CaseApache Spark GraphX & GraphFrame Synthetic ID Fraud Use Case
Apache Spark GraphX & GraphFrame Synthetic ID Fraud Use CaseMo Patel
 
Representing the world: How web users become web thinkers and web makers
Representing the world: How web users become web thinkers and web makersRepresenting the world: How web users become web thinkers and web makers
Representing the world: How web users become web thinkers and web makersjudell
 
Advanced Structured Data: Beyond Rich Snippets
Advanced Structured Data: Beyond Rich SnippetsAdvanced Structured Data: Beyond Rich Snippets
Advanced Structured Data: Beyond Rich SnippetsJustin Briggs
 
Semantic Web
Semantic WebSemantic Web
Semantic Webgregreser
 

Similar to Searching the Web of Data (Tutorial) (20)

Microdata semantic-extend
Microdata semantic-extendMicrodata semantic-extend
Microdata semantic-extend
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單
 
BarCamp Sd Microformats
BarCamp Sd MicroformatsBarCamp Sd Microformats
BarCamp Sd Microformats
 
Pratical Deep Dive into the Semantic Web - #smconnect
Pratical Deep Dive into the Semantic Web - #smconnectPratical Deep Dive into the Semantic Web - #smconnect
Pratical Deep Dive into the Semantic Web - #smconnect
 
Css essentials
Css essentialsCss essentials
Css essentials
 
Rank | Analyse | Lead | Search
Rank | Analyse | Lead | SearchRank | Analyse | Lead | Search
Rank | Analyse | Lead | Search
 
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
 
Industry Ontologies: Case Studies in Creating and Extending Schema.org
Industry Ontologies: Case Studies in Creating and Extending Schema.org Industry Ontologies: Case Studies in Creating and Extending Schema.org
Industry Ontologies: Case Studies in Creating and Extending Schema.org
 
Dev2Dev - Microformats
Dev2Dev - MicroformatsDev2Dev - Microformats
Dev2Dev - Microformats
 
Google's Hummingbird and the Entity Search Revolution
Google's Hummingbird and the Entity Search RevolutionGoogle's Hummingbird and the Entity Search Revolution
Google's Hummingbird and the Entity Search Revolution
 
WEB I - 06 - CSS
WEB I - 06 - CSSWEB I - 06 - CSS
WEB I - 06 - CSS
 
Responsive Images and Video
Responsive Images and VideoResponsive Images and Video
Responsive Images and Video
 
Responsive Email Design and Development
Responsive Email Design and DevelopmentResponsive Email Design and Development
Responsive Email Design and Development
 
Structured Data and Semantic SEO
Structured Data and Semantic SEOStructured Data and Semantic SEO
Structured Data and Semantic SEO
 
Semantic web support for POSH
Semantic web support for POSHSemantic web support for POSH
Semantic web support for POSH
 
Android Data Binding from zero
Android Data Binding from zeroAndroid Data Binding from zero
Android Data Binding from zero
 
Apache Spark GraphX & GraphFrame Synthetic ID Fraud Use Case
Apache Spark GraphX & GraphFrame Synthetic ID Fraud Use CaseApache Spark GraphX & GraphFrame Synthetic ID Fraud Use Case
Apache Spark GraphX & GraphFrame Synthetic ID Fraud Use Case
 
Representing the world: How web users become web thinkers and web makers
Representing the world: How web users become web thinkers and web makersRepresenting the world: How web users become web thinkers and web makers
Representing the world: How web users become web thinkers and web makers
 
Advanced Structured Data: Beyond Rich Snippets
Advanced Structured Data: Beyond Rich SnippetsAdvanced Structured Data: Beyond Rich Snippets
Advanced Structured Data: Beyond Rich Snippets
 
Semantic Web
Semantic WebSemantic Web
Semantic Web
 

More from Gerard de Melo

SEMAC Graph Node Embeddings for Link Prediction
SEMAC Graph Node Embeddings for Link PredictionSEMAC Graph Node Embeddings for Link Prediction
SEMAC Graph Node Embeddings for Link PredictionGerard de Melo
 
How to Manage your Research
How to Manage your ResearchHow to Manage your Research
How to Manage your ResearchGerard de Melo
 
Knowlywood: Mining Activity Knowledge from Hollywood Narratives
Knowlywood: Mining Activity Knowledge from Hollywood NarrativesKnowlywood: Mining Activity Knowledge from Hollywood Narratives
Knowlywood: Mining Activity Knowledge from Hollywood NarrativesGerard de Melo
 
Learning Multilingual Semantics from Big Data on the Web
Learning Multilingual Semantics from Big Data on the WebLearning Multilingual Semantics from Big Data on the Web
Learning Multilingual Semantics from Big Data on the WebGerard de Melo
 
From Big Data to Valuable Knowledge
From Big Data to Valuable KnowledgeFrom Big Data to Valuable Knowledge
From Big Data to Valuable KnowledgeGerard de Melo
 
Scalable Learning Technologies for Big Data Mining
Scalable Learning Technologies for Big Data MiningScalable Learning Technologies for Big Data Mining
Scalable Learning Technologies for Big Data MiningGerard de Melo
 
From Linked Data to Tightly Integrated Data
From Linked Data to Tightly Integrated DataFrom Linked Data to Tightly Integrated Data
From Linked Data to Tightly Integrated DataGerard de Melo
 
Information Extraction from Web-Scale N-Gram Data
Information Extraction from Web-Scale N-Gram DataInformation Extraction from Web-Scale N-Gram Data
Information Extraction from Web-Scale N-Gram DataGerard de Melo
 
UWN: A Large Multilingual Lexical Knowledge Base
UWN: A Large Multilingual Lexical Knowledge BaseUWN: A Large Multilingual Lexical Knowledge Base
UWN: A Large Multilingual Lexical Knowledge BaseGerard de Melo
 
Multilingual Text Classification using Ontologies
Multilingual Text Classification using OntologiesMultilingual Text Classification using Ontologies
Multilingual Text Classification using OntologiesGerard de Melo
 
Extracting Sense-Disambiguated Example Sentences From Parallel Corpora
Extracting Sense-Disambiguated Example Sentences From Parallel CorporaExtracting Sense-Disambiguated Example Sentences From Parallel Corpora
Extracting Sense-Disambiguated Example Sentences From Parallel CorporaGerard de Melo
 
Towards a Universal Wordnet by Learning from Combined Evidence
Towards a Universal Wordnet by Learning from Combined EvidenceTowards a Universal Wordnet by Learning from Combined Evidence
Towards a Universal Wordnet by Learning from Combined EvidenceGerard de Melo
 
Not Quite the Same: Identity Constraints for the Web of Linked Data
Not Quite the Same: Identity Constraints for the Web of Linked DataNot Quite the Same: Identity Constraints for the Web of Linked Data
Not Quite the Same: Identity Constraints for the Web of Linked DataGerard de Melo
 
Good, Great, Excellent: Global Inference of Semantic Intensities
Good, Great, Excellent: Global Inference of Semantic IntensitiesGood, Great, Excellent: Global Inference of Semantic Intensities
Good, Great, Excellent: Global Inference of Semantic IntensitiesGerard de Melo
 
YAGO-SUMO: Integrating YAGO into the Suggested Upper Merged Ontology
YAGO-SUMO: Integrating YAGO into the Suggested Upper Merged OntologyYAGO-SUMO: Integrating YAGO into the Suggested Upper Merged Ontology
YAGO-SUMO: Integrating YAGO into the Suggested Upper Merged OntologyGerard de Melo
 

More from Gerard de Melo (15)

SEMAC Graph Node Embeddings for Link Prediction
SEMAC Graph Node Embeddings for Link PredictionSEMAC Graph Node Embeddings for Link Prediction
SEMAC Graph Node Embeddings for Link Prediction
 
How to Manage your Research
How to Manage your ResearchHow to Manage your Research
How to Manage your Research
 
Knowlywood: Mining Activity Knowledge from Hollywood Narratives
Knowlywood: Mining Activity Knowledge from Hollywood NarrativesKnowlywood: Mining Activity Knowledge from Hollywood Narratives
Knowlywood: Mining Activity Knowledge from Hollywood Narratives
 
Learning Multilingual Semantics from Big Data on the Web
Learning Multilingual Semantics from Big Data on the WebLearning Multilingual Semantics from Big Data on the Web
Learning Multilingual Semantics from Big Data on the Web
 
From Big Data to Valuable Knowledge
From Big Data to Valuable KnowledgeFrom Big Data to Valuable Knowledge
From Big Data to Valuable Knowledge
 
Scalable Learning Technologies for Big Data Mining
Scalable Learning Technologies for Big Data MiningScalable Learning Technologies for Big Data Mining
Scalable Learning Technologies for Big Data Mining
 
From Linked Data to Tightly Integrated Data
From Linked Data to Tightly Integrated DataFrom Linked Data to Tightly Integrated Data
From Linked Data to Tightly Integrated Data
 
Information Extraction from Web-Scale N-Gram Data
Information Extraction from Web-Scale N-Gram DataInformation Extraction from Web-Scale N-Gram Data
Information Extraction from Web-Scale N-Gram Data
 
UWN: A Large Multilingual Lexical Knowledge Base
UWN: A Large Multilingual Lexical Knowledge BaseUWN: A Large Multilingual Lexical Knowledge Base
UWN: A Large Multilingual Lexical Knowledge Base
 
Multilingual Text Classification using Ontologies
Multilingual Text Classification using OntologiesMultilingual Text Classification using Ontologies
Multilingual Text Classification using Ontologies
 
Extracting Sense-Disambiguated Example Sentences From Parallel Corpora
Extracting Sense-Disambiguated Example Sentences From Parallel CorporaExtracting Sense-Disambiguated Example Sentences From Parallel Corpora
Extracting Sense-Disambiguated Example Sentences From Parallel Corpora
 
Towards a Universal Wordnet by Learning from Combined Evidence
Towards a Universal Wordnet by Learning from Combined EvidenceTowards a Universal Wordnet by Learning from Combined Evidence
Towards a Universal Wordnet by Learning from Combined Evidence
 
Not Quite the Same: Identity Constraints for the Web of Linked Data
Not Quite the Same: Identity Constraints for the Web of Linked DataNot Quite the Same: Identity Constraints for the Web of Linked Data
Not Quite the Same: Identity Constraints for the Web of Linked Data
 
Good, Great, Excellent: Global Inference of Semantic Intensities
Good, Great, Excellent: Global Inference of Semantic IntensitiesGood, Great, Excellent: Global Inference of Semantic Intensities
Good, Great, Excellent: Global Inference of Semantic Intensities
 
YAGO-SUMO: Integrating YAGO into the Suggested Upper Merged Ontology
YAGO-SUMO: Integrating YAGO into the Suggested Upper Merged OntologyYAGO-SUMO: Integrating YAGO into the Suggested Upper Merged Ontology
YAGO-SUMO: Integrating YAGO into the Suggested Upper Merged Ontology
 

Recently uploaded

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 

Recently uploaded (20)

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 

Searching the Web of Data (Tutorial)

  • 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. ! ! 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. ! ! 5(+$.2B%+'.( ! 5(GB+H)H9C6$%:42)I$54 ! 0"='$"2*AB+GB+H I$5"D9A#)-'A?&AJ
  • 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
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Searching the Web of Data Structured data on the Web Semantic Web and Linked Open Data Semantic Web
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. ! ! 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='.(
  • 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. ! !
  • 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]
  • 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
  • 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. ! ! 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(%
  • 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.
  • 172.
  • 174. ! ! 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
  • 178. ! ! 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='.(
  • 189. ! ! 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=^
  • 190. ! ! 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
  • 192. ! ! ++$'-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
  • 193. ! ! ++$'-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]
  • 197. ! ! ++$'-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
  • 198. ! ! !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]
  • 209. ! ! 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]
  • 210. ! ! 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
  • 212. ! ! 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
  • 213. ! ! 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]
  • 214. ! ! 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]
  • 215. ! ! 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='.(
  • 216. ! ! 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)
  • 217. ! ! 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
  • 221. ! ! 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
  • 223. ! ! 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
  • 224. ! ! 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$=#]
  • 226. ! ! 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:'