Crawling and Querying Linked Data - KIT

8 downloads 167 Views 5MB Size Report
Mar 15, 2010 - Warehousing/Crawl-. Index-Serve ? ... Data warehousing or materialisation-based approaches. (MAT) ... Que
Crawling and Querying Linked Data Andreas Harth Joint work with Aidan Hogan, Juergen Umbrich, Marcel Karnstedt, Katja Hose, Robert Isele, Kai-Uwe Sattler,,Axel Polleres, Stefan Decker Institute AIFB

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

www.kit.edu

Outline Motivation Linked Data Principles Crawling Linked Data Query Processing over Linked Data Conclusion

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Motivation With increased use of computers more and more data is being stored Organisations rely on data for business decisions Data drives policy decisions in government Individuals rely on data from the Web for information and communication

Data volumes explode More and more data available on the Web is represented in Semantic Web standards Linking Open Data (LOD) Initiative

Semantic Web technologies facilitate the integration of data from multiple sources Combining data from multiple sources enables insights 3

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Motivation

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Sample Queries Q: news about KIT? Q: key people of competitors of IBM? Q: funding pattern of Sequoia Capital?

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Keyword Search Engines

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

JavaScript API Mashups

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Data Integration with Semantic Web Technologies

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Step 1: Data Preparation – Common Data Format

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Step 2: Data Integration

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Step 3: Interactive Data Exploration

?

!

1. Query 2. Answer

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Linked Data Linked Data provides common data format and access mechanism data integration (~interlinking)

on a global scale! Uses traditional web architecture (URIs, REST) Plus a bit of Semantic Web (RDF) Scale: in terms of technology Scale: in terms of uptake potential

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Linked Data Principles* 1.

2.

3.

4.

Use URIs to name things; not only documents, but also people, locations, concepts, etc. To enable agents (human users and machine agents alike) to look up those names, use HTTP URIs When someone looks up a URI we provide useful information; with 'useful' in the strict sense we usually mean structured data in RDF. Include links to other URIs allowing agents (machines and humans) to discover more things

(*) http://www.w3.org/DesignIssues/LinkedData KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Correspondence between thing-URI and source-URI

User Agent http://www.polleres.net/foaf.rdf#me HTTP GET

RDF

Web Server

http://www.polleres.net/foaf.rdf

15

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Correspondence between thing-URI and source-URI

User Agent http://dbpedia.org/resource/Gordon_Brown HTTP GET

303 HTTP GET

Web Server

RDF

http://dbpedia.org/data/Gordon_Brown

http://dbpedia.org/page/Gordon_Brown

16

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Semantic Web Architecture

( ) KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Linked Data Application: Minimal Architecture

2. Answer

( )

!

1. Query

?

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Queries over Linked Data SELECT ?f ?n WHERE { timbl:i foaf:knows ?f. ?f foaf:name ?n. } SELECT ?x1 ?x2 WHERE { dblppub:HoganHP08 dc:creator ?a1. ?x1 owl:sameAs ?a1. ?x2 foaf:knows ?x1. }

?f

?n KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Warehousing/CrawlIndex-Serve

?

!

2. Answer

! 1. Query

?

On-Demand

0. CrawlIndex

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Querying Data Across Sources Data warehousing or materialisation-based approaches (MAT) CRAWL

INDEX

SERVE

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Example Linked Data Graph

Goal: collect all data

< KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Linked Data Crawler Architecture 1. 2. 3. 4. 5.

Get URI from a queue Open connection and fetch content Process and store content Extract new links and put into queue At defined intervals: schedule URIs in queue

Image: Carlos Castillo: Effective Web Crawling, via Wikipedia KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Scheduling Scheduling done at defined intervals (round-based crawling) Reorder URIs for next round Wait min. amount of time to avoid denial-of-service attack Implementation of graph-traversal methods breadth-first random walks best-first search using heuristics to bias for quality or topic download-optimised heuristic

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Breadth-First Traversal

1

2 5 12

6

3 7

4 8

9

10

11

< KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

LDSpider Open source Java implementation of a multi-threaded crawler for Linked Data Works on small- to medium-sized datasets (up to a couple of hundred million triples) Two scheduling methods (breadth-first and optimised for download speed) Extendable via hooks http://code.google.com/p/ldspider

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Querying Data Across Sources Data warehousing or materialisation-based approaches (MAT) CRAWL

INDEX

SERVE

Distributed query processing approaches (DQP) R

SELECT * FROM… R

27

15.03.2010

S

S

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

DQP on Linked Data SELECT * FROM… R

S

SELECT ?s WHERE… TP

28

15.03.2010

TP

R

S

ODBC

ODBC

TP

TP

HTTP GET

HTTP GET

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Query Processing Overview SELECT ?f ?n WHERE { timbl:i foaf:knows ?f. ?f foaf:name ?n. }

TP (timbl:i foaf:knows ?f)

TP (?f foaf:name ?n)

Select source(s)

?f

?n

http://danbri.org/foaf.rdf#danbri 29

15.03.2010

Select source(s)

Andreas Harth Data Summaries for On-Demand Queries over Linked Data

Dan Brickley KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Problem: Source Selection for Triple Patterns (?s (#s (?s (?s (#s (#s (?s (#s

?p ?p #p ?p #p ?p #p #p

?o) ?o) ?o) #o) ?o) #o) #o) #o)

Given a triple pattern, which source can contribute bindings for the triple pattern? 30

15.03.2010

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Schema-Level Indices [Stuckenschmidt et al. 2004] Keep index of properties and/or classes contained in sources (?s #p ?o), (?s rdf:type #o) Covers only queries containing schema-level elements Commonly used properties select potentially too many sources SELECT ?x1 ?x2 WHERE { SELECT ?f ?n WHERE { timbl:i foaf:knows ?f. dblppub:HoganHP08 dc:creator ?a1. ?x1 owl:sameAs ?a1. ?f foaf:name ?n. ?x2 foaf:knows ?x1. } } 31

15.03.2010

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Direct Lookup (DL) [Hartig et al. 2009] Exploits correspondence between thing-URI and source-URI Linked Data sources (aka RDF files) return typically triples with a subject corresponding to the source Sometimes the sources return triples with object corresponding to the source (#s ?p ?o), (#s #p ?o), (#s #p #o) (?s ?p #o), (?s #p #o) Incomplete wrt. patterns but also wrt. to URI reuse across sources Limited parallelism, unclear how to schedule lookups SELECT ?f ?n WHERE { timbl:i foaf:knows ?f. ?f foaf:name ?n. } 32

15.03.2010

SELECT ?x1 ?x2 WHERE { dblppub:HoganHP08 dc:creator ?a1. ?x1 owl:sameAs ?a1. ?x2 foaf:knows ?x1. } KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Approximate Data Summaries Combined description of schema-level and instance-level Use approximation to reduce index size (incurs false positives) Possible to use entire query for source selection Parallel lookups since sources can be determined for the entire query (?s ?p ?o), (#s ?p ?o), (?s #p ?o), (?s ?p #o), (#s #p ?o), (#s ?p #o), (?s #p #o), (#s #p #o) and combinations of triple patterns

SELECT ?f ?n WHERE { timbl:i foaf:knows ?f. ?f foaf:name ?n. }

33

15.03.2010

SELECT ?x1 ?x2 WHERE { dblppub:HoganHP08 dc:creator ?a1. ?x1 owl:sameAs ?a1. ?x2 foaf:knows ?x1. }

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Hash-based Data Summaries Source: axelpol.rdf : (#axel foaf:homepage http://polleres.net/axel/) 1. Hash each triple element e.g. to (323, 232, 124) 2. Insert into equi-width histogram bucket 3. Lookup (e.g.(#axel ?p ?o) to determine relevant buckets containing source-URIs

o

o

s 34

15.03.2010

o

s

s KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Enter QTrees Combination of histograms and R-trees inheriting the benefits of both data structures indexing multidimensional data capturing attribute correlations (buckets – hash function) cluster together dealing with sparse data (does not need to span entire data space) efficient lookups via MBBs

o

o

s 35

15.03.2010

o

s

s KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

QTree Structure Data space represented as tree Nodes represent minimum bounding boxes (MBBs) Buckets Store cardinality and set of sources, e.g. (5, { axelpol.rdf, N} Store cardinality per source: e.g. source { axelpol.rdf:5 }

36

15.03.2010

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Join Estimation in QTree 1st triple pattern lookup 2nd triple pattern lookup determine which buckets overlap in join dimension (e.g. subject dimension) check how much they overlap – assume equal 1st TP distribution to estimate results cardinality do parallel lookup on top-k (or all) sources

37

15.03.2010

2nd TP

2nd TP

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Experiments Setup Breadth-first crawl from http://www.w3.org/People/Berners-Lee/card 3m triples from 16k sources 100 generated queries in star- and path-shape (S-1, S-2, P-1, P-2, P-3) Benefit Effect of ranking Performance

38

15.03.2010

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Benefit Total number of sources T in the data Number of estimated sources E Benefit:

39

15.03.2010

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

Conclusion Linked Data provides means for common access to large amounts of data Query processing via direct lookups (DL) over Linked Data works QTree is memory efficient and can support the direct lookup query approach Possible to combine crawling or DL (for index priming) with QTree Exciting and novel research problem lots of sources with little amounts of data community-driven collaborative knowledge engineering network lookup on URIs with complexity O(1) (at a sufficiently high level of abstraction) 40

15.03.2010

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association