4
Intensional Associations in Dataspaces Marcos Antonio Vaz Salles #1 , Jens Dittrich *2 , Lukas Blunschi +3 # Cornell University * Saarland University + ETH Zurich 1 [email protected] 2 [email protected] 3 [email protected] Abstract— Dataspace applications necessitate the creation of associations among data items over time. For example, once information about people is extracted from sources on the Web, associations among them may emerge as a consequence of dierent criteria, such as their city of origin or their elected hobbies. In this paper, we advocate a declarative approach to specifying these associations. We propose that each set of associations be defined by an association trail. An association trail is a query-based definition of how items are connected by intensional (i.e., virtual) association edges to other items in the dataspace. We study the problem of processing neighborhood queries over such intensional association graphs. The naive ap- proach to neighborhood query processing over intensional graphs is to materialize the whole graph and then apply previous work on dataspace graph indexing to answer queries. We present in this paper a novel indexing technique, the grouping-compressed index (GCI), that has better worst-case indexing cost than the naive approach. In our experiments, GCI is shown to provide an order of magnitude gain in indexing cost over the naive approach, while remaining competitive in query processing time. I. I Dataspace systems have been envisioned as a new archi- tecture for data management and information integration [1]. The main goal of these systems is to model, query, and manage relationships among disparate data sources. So far, relationships in these systems have been specified at the set or schema level [2]. In several dataspace scenarios, however, it is important to model associations between individual data items across or within data sources. Such scenarios include social content management [3] and personal information manage- ment [4]. In personal information management, for example, it is useful to associate messages and documents received in the same context or timespan. In this paper, we propose a declarative approach, called association trails, to specifying associations among items in a dataspace. An association trail is a query-based definition of how items in the dataspace are connected by virtual association edges to other items. A set of association trails defines a logical graph of associations over the dataspace. As this graph is purely logical and in principle does not need to be explicitly materialized, we call it in this paper an intensional graph. In addition, we term the edges of this graph intensional edges or intensional associations. In contrast to solutions that define associations extensionally [5], [6], [7], association trails define associations logically and in bulk. As a consequence, association trails are especially useful when data sources have no explicit associations defined beforehand. In the following, we illustrate association trails with an example. sameUniversity sharesHobbies Intensional Edges graduatedSameYear MIT, 2008 likes design & piano MIT, 2008 likes design & yoga NYU, 2000 likes piano & yoga Berkeley, 1998 likes guitar & acting NYU, likes gardening 1998 CMU, 1999 likes volleyball MIT, 2007 likes swimming sameUniversity sameUniversity sameUniversity sameUniversity sharesHobbies sharesHobbies graduatedSameYear graduatedSameYear (a) A Set of Integrated Person Profiles (b) An Intensional Graph defined by Association Trails Frank Bob John Alice Kate Fred Anna MIT, 2008 likes design & piano MIT, 2008 likes design & yoga , 2000 likes piano & yoga NYU Berkeley, 1998 likes guitar & acting , likes gardening NYU 1998 CMU, 1999 likes volleyball MIT, 2007 likes swimming Frank Bob John Alice Kate Fred Anna 1 2 4 5 6 7 8 3 1 4 6 7 8 3 , likes swimming USB 2001 Jane sharesHobbies 2 , likes swimming USB 2001 Jane 5 Fig. 1. A set of person profiles extracted from the Web is transformed by association trails into an intensional graph of associations. A. Example While our techniques are applicable to many dataspace scenarios, we will use as a running example for this paper the modeling of an implicit social network. Figure 1(a) shows a set of person profiles extracted from Web sources using in- formation extraction techniques. Each profile states a person’s name, along with the university she has attended, her year of graduation, and her hobbies. E 1 (I S N) Users would like to navigate their social dataspaces to find other users related to them or to their topics of interest. Unfortunately, data ex- tracted from loosely-connected sources is poor in associations among users. State of the art: Users may search their dataspaces with keyword search engines. These systems have no knowlegde about associations between data items. As a consequence, they

Intensional Associations in Dataspaces - DIKUvmarcos/pubs/SDB10_short.pdf · Intensional Associations in Dataspaces Marcos Antonio Vaz Salles #1, Jens Dittrich 2, ... Berkeley, 1998

  • Upload
    vanphuc

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Intensional Associations in DataspacesMarcos Antonio Vaz Salles #1, Jens Dittrich ∗2, Lukas Blunschi +3

#Cornell University ∗Saarland University +ETH [email protected] [email protected] [email protected]

Abstract— Dataspace applications necessitate the creation ofassociations among data items over time. For example, onceinformation about people is extracted from sources on theWeb, associations among them may emerge as a consequenceof different criteria, such as their city of origin or their electedhobbies. In this paper, we advocate a declarative approachto specifying these associations. We propose that each set ofassociations be defined by an association trail. An associationtrail is a query-based definition of how items are connected byintensional (i.e., virtual) association edges to other items in thedataspace. We study the problem of processing neighborhoodqueries over such intensional association graphs. The naive ap-proach to neighborhood query processing over intensional graphsis to materialize the whole graph and then apply previous workon dataspace graph indexing to answer queries. We present inthis paper a novel indexing technique, the grouping-compressedindex (GCI), that has better worst-case indexing cost than thenaive approach. In our experiments, GCI is shown to provide anorder of magnitude gain in indexing cost over the naive approach,while remaining competitive in query processing time.

I. I

Dataspace systems have been envisioned as a new archi-tecture for data management and information integration [1].The main goal of these systems is to model, query, andmanage relationships among disparate data sources. So far,relationships in these systems have been specified at the set orschema level [2]. In several dataspace scenarios, however, it isimportant to model associations between individual data itemsacross or within data sources. Such scenarios include socialcontent management [3] and personal information manage-ment [4]. In personal information management, for example,it is useful to associate messages and documents received inthe same context or timespan.

In this paper, we propose a declarative approach, calledassociation trails, to specifying associations among items in adataspace. An association trail is a query-based definition ofhow items in the dataspace are connected by virtual associationedges to other items. A set of association trails defines a logicalgraph of associations over the dataspace. As this graph ispurely logical and in principle does not need to be explicitlymaterialized, we call it in this paper an intensional graph.In addition, we term the edges of this graph intensionaledges or intensional associations. In contrast to solutions thatdefine associations extensionally [5], [6], [7], association trailsdefine associations logically and in bulk. As a consequence,association trails are especially useful when data sources haveno explicit associations defined beforehand. In the following,we illustrate association trails with an example.

refs.bib

p425.pdf

bibliography

childOf

similarTime

similarContent

Association Trails

(a) Data Sources

inbox

Fw: Indexing paper

PIM

Latest Document

Re: Indexing Discussion

joe

(b) Logical Graph OverlayFiles & Folders Email

pim2006.tex

paper.tex

p618.pdf

projects

PIM

bibliography

refs.bib

p425.pdf

home

inbox

Fw: Indexing paper

PIM

Latest Document

Re: Indexing Discussion

joe

pim2006.tex

paper.tex

p618.pdf

projects

PIM

home

(modified = 25/04/2007)

(modified = 26/02/2007; title = "Indexing Dataspaces"; references = {"A Dataspace Odyssey"})

(modified = 21/04/2007)

citedPaperinproceedings(authors = {"Dong", "Halevy"}; title = "Indexing Dataspaces"; file = "p425.pdf")

inproceedings(authors = {"Blunschi", ...} title = "A Dataspace Odyssey"; file = "p618.pdf")

(received = 01/03/2007; title = "A Dataspace Odyssey")

(received = 01/03/2007; from = "Jane")

(received = 28/02/2007; from = "Jane")

(received = 26/04/2007; from = "Jane")

(received = 26/04/2007)

inproceedings

inproceedings

(modified = 25/04/2007)

(modified = 21/04/2007)

(authors = {"Dong", "Halevy"}; title = "Indexing Dataspaces"; file = "p425.pdf")

(authors = {"Blunschi", ...} title = "A Dataspace Odyssey"; file = "p618.pdf")

(modified = 26/02/2007; title = "Indexing Dataspaces"; references = {"A Dataspace Odyssey"})

(received = 26/04/2007; from = "Jane")

(received = 26/04/2007)

(received = 28/02/2007; from = "Jane")

(received = 01/03/2007; from = "Jane")

(received = 01/03/2007; title = "A Dataspace Odyssey")

paperPdf

citedPaper

citedPaper

paperPdfpaperPdf

similarContent

similarTime

similarTime

similarTime

similarTime

childOf

childOf

childOf

childOf

childOf

childOf

childOf

childOf

childOf

childOf

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

isFriendsameUniversitysharesHobbies

Association Trails

graduatedSameYearpostedComment

university: ETHhobbies: design, piano

gradYear: 2008

university: ETHhobbies: design, yoga

gradYear: 2008

From: AliceTo: Design Community

Does anybody remember this boy who used to playthe piano?

university: Cornellhobbies: piano, pool

gradYear: 2000

university: PUC-Riohobbies: guitar, acting

gradYear: 1998

university: Cornellhobbies: gardening

gradYear: 1998university: CMU

hobbies: volleyballgradYear: 1999

university: ETHhobbies: swimming

gradYear: 2007

(a) A Social Network Today (b) A Social Network with aTrails

Frank

Bob

Fred

Alice

Kate

Fred

Anna

university: ETHhobbies: design, piano

gradYear: 2008

university: ETHhobbies: design, yoga

gradYear: 2008

university: Cornellhobbies: piano, pool

gradYear: 2000

university: PUC-Riohobbies: guitar, acting

gradYear: 1998

university: Cornellhobbies: gardening

gradYear: 1998university: CMU

hobbies: volleyballgradYear: 1999

university: ETHhobbies: swimming

gradYear: 2007

Frank

Bob

Fred

Alice

Kate

Fred

Anna

From: AliceTo: Design Community

Does anybody remember this boy who used to playthe piano?

university: Cornellhobbies: gardening

gradYear: 1998

Bob

Bobuniversity: Cornellhobbies: gardeninggradYear: 1998...

sameUniversitysharesHobbies

Intensional Edges

graduatedSameYear

MIT, 2008likes design

& piano

MIT, 2008likes design

& yoga

NYU, 2000 likes piano

& yoga

Berkeley, 1998likes guitar

& acting

NYU, likes gardening

1998CMU, 1999

likes volleyball

MIT, 2007likes swimming

sameUniversity

sameUniversity

sameUniversity

sameUniversity

sharesHobbies

sharesHobbies

graduatedSameYeargraduatedSameYear

(a) A Set of Integrated Person Profiles

(b) An Intensional Graph defined by Association Trails

Frank

Bob

John

Alice

Kate

Fred

Anna

isFriendsameUniversitysharesHobbies

Association Trails

graduatedSameYearpostedComment

university: ETHhobbies: design, piano

gradYear: 2008

university: ETHhobbies: design, yoga

gradYear: 2008

From: AliceTo: Design Community

Does anybody remember this boy who used to playthe piano?

university: Cornellhobbies: piano, pool

gradYear: 2000

university: PUC-Riohobbies: guitar, acting

gradYear: 1998

university: Cornellhobbies: gardening

gradYear: 1998university: CMU

hobbies: volleyballgradYear: 1999

university: ETHhobbies: swimming

gradYear: 2007

isFriend

sameUniversity

sameUniversity

sameUniversity

sameUniversity

sharesHobbies

sharesHobbies

postedComment

graduatedSameYear

graduatedSameYear

isFriend

isFriend

isFriend

isFriend

(a) A Social Network Today (b) A Social Network with aTrails

Frank

Bob

Fred

Alice

Kate

Fred

Anna

university: ETHhobbies: design, piano

gradYear: 2008

university: ETHhobbies: design, yoga

gradYear: 2008

university: Cornellhobbies: piano, pool

gradYear: 2000

university: PUC-Riohobbies: guitar, acting

gradYear: 1998

university: Cornellhobbies: gardening

gradYear: 1998university: CMU

hobbies: volleyballgradYear: 1999

university: ETHhobbies: swimming

gradYear: 2007

Frank

Bob

Fred

Alice

Kate

Fred

Anna

From: AliceTo: Design Community

Does anybody remember this boy who used to playthe piano?

MIT, 2008likes design

& piano

MIT, 2008likes design

& yoga

, 2000 likes piano

& yoga

NYU

Berkeley, 1998likes guitar

& acting

, likes gardening

NYU 1998CMU, 1999

likes volleyball

MIT, 2007likes swimming

Frank

Bob

John

Alice

Kate

Fred

Anna

isFriendsameUniversitysharesHobbies

Association Trails

graduatedSameYearpostedComment

ETH, 2008likes design

& piano

ETH, 2008likes design

& yoga

From: AliceTo: Design Community...

Cornell, 2000 likes piano

& pool

PUC-Rio, 1998likes guitar

& acting

Cornell, likes gardening

1998CMU, 1999

likes volleyball

ETH, 2007likes swimming

isFriend

sameUniversity

sameUniversity

sameUniversity

sameUniversity

sharesHobbies

sharesHobbies

postedComment

graduatedSameYear

graduatedSameYear

isFriend

isFriend

isFriend

isFriend

(a) A Social Network Today (b) A Social Network with aTrails

Frank

Bob

Fred

Alice

Kate

Fred

Anna

ETH, 2008likes design

& piano

ETH, 2008likes design

& yoga

From: AliceTo: Design Community...

Cornell, 2000 likes piano

& pool

PUC-Rio, 1998likes guitar

& acting

Cornell, likes gardening

1998CMU, 1999

likes volleyball

ETH, 2007likes swimming

Frank

Bob

Fred

Alice

Kate

Fred

Anna

isFriend

postedComment

isFriend

isFriend

isFriend

isFriend

1

2

4

5

6

7

8

3

1

4

6

7

8

3

, likes swimming

USB 2001

JanesharesHobbies

2

, likes swimming

USB 2001

Jane

5

Fig. 1. A set of person profiles extracted from the Web is transformed byassociation trails into an intensional graph of associations.

A. Example

While our techniques are applicable to many dataspacescenarios, we will use as a running example for this paperthe modeling of an implicit social network. Figure 1(a) showsa set of person profiles extracted from Web sources using in-formation extraction techniques. Each profile states a person’sname, along with the university she has attended, her year ofgraduation, and her hobbies.

E 1 (I S N) Users would like tonavigate their social dataspaces to find other users relatedto them or to their topics of interest. Unfortunately, data ex-tracted from loosely-connected sources is poor in associationsamong users.State of the art: Users may search their dataspaces withkeyword search engines. These systems have no knowlegdeabout associations between data items. As a consequence, they

return only items that match the user’s specific request andcannot enrich results with other relevant associated informa-tion. While previous approaches extend search results withelements in a dataspace or schema graph [7], [8], they areof little use when connections are not explicitly defined asin Figure 1(a). Users could rely, instead, on a recommendersystem [9]. These systems are, however, limited to hard-codedheuristics such as TF-IDF similarity to recommend relatedprofiles. Moreover, these systems do not model associationsamong items, so users cannot extend the system by definingassociations based on new criteria.Our goal: We provide a declarative technique to modelintensional associations among items in the dataspace. Usersor administrators provide to the system declarative associationdefinitions, called association trails. Consider that the follow-ing association trails are given to the system:1. People that went to the same university are related.2. People that graduated on the same year are related.3. People that share a hobby are related.

Now, users will have the view of the dataspace depictedin Figure 1(b). They are able to browse a rich graph ofassociations. In addition, search query results may be enrichedby items in their neighborhoods in the intensional graph. �

B. Contributions

In summary, this paper makes the following contributions:(1) We present a new declarative formalism, associationtrails, to define an intensional graph of connections amonginstances in a dataspace (Section III; (2) We propose a newquery processing technique, the grouping-compressed index(GCI), for neighborhood queries over such intensional graphs(Section IV); (3) We show experimentally that GCI bringsan order of magnitude gain in indexing cost over the naiveapproach, while remaining competitive in query processingtime (Section V).

II. P

Data and Query Model. In a nutshell, we assume thedataspace to be represented in a graph data model and queriedby end-users with keyword queries. A dataspace is representedby a graph G := (N, E), where N is a set of nodes and E is aset of directed edges. Each node Ni ∈ N is a set of attribute-value pairs Ni := {(ai

1, vi1), . . . , (ai

k, vik)}, where each value is

either atomic or a bag of words. As can be easily seen, thedata in Figure 1(a) is represented in this data model. Note thatE = ∅ and attribute names have been omitted for visibility.

A query Q is an expression that selects a set Q(G) ⊆ N.Admissible queries are conjunctions and disjunctions of filterson attribute values and keywords. For example, the query yogauniversity=NYU returns Node 7 in Figure 1(a).Basic Index Structures. Given the queries above, we assumetwo basic index structures, commonly found in state-of-the-art search engines. First, an inverted index is a mapping fromtoken to the list of node identifiers of nodes containing thattoken. We represent tokens as concatenations of keywords withthe attribute names and translate keyword queries into prefix

queries to the index [7]. Second, a rowstore is a mapping fromnode identifier to the information (i.e., attribute-value pairs andedges) associated with that node.

III. A T

This section formalizes association trails and neighborhoodqueries over intensional graphs.

A. Basic Form of an Association Trail

An association trail defines a set of edges in the intensionalgraph. For example, in Figure 1(b), a single association traildefines all sharesHobbies edges. We may thus interpret eachassociation trail as defining an intensional graph overlay ontop of the original dataspace graph.

D 1 (A T) A unidirectional associationtrail is denoted as

A := QLθ(l,r)=⇒ QR,

where A is a label naming the association trail, QL,QR arequeries, and θ is a predicate. The query results QL(G) areassociated to QR(G) according to the predicate θ, whichtakes as inputs one query result from QL and one from QR.Thus, we conceptually introduce in the association graph oneintensional edge, directed from left to right and labeled A, foreach pair of nodes given by QL Zθ QR. We require that thenode on the left of the edge be different than the node on theright, i.e., no self-edges are allowed.

A bidirectional association trail is denoted as

A := QLθ(l,r)⇐⇒ QR.

The latter also means that the query results QR(G) are relatedto the query results QL(G) according to θ. �

An association trail relates elements from the data sourcesby a join predicate θ. Therefore, association trails coverrelational and non-relational theta-joins as special cases. Whileknowing the form of θ may allow us to improve performance(see Section IV-B), conceptually θ may be an arbitrarilycomplex function. This means that Definition 1 also modelsuse cases such as content equivalence and similar documents.

A straightforward extension to our model is to define θ as amatching function generating several edges between a pair ofnodes. This may be useful to model individual matches createdby multi-valued attributes, e.g., modeling each hobby matchin sharesHobbies by a separate intensional edge.

U C 1 (S N) The intensional graph of Fig-ure 1(b) is defined by the following association trails:

sameUniversity := class=personθ1(l,r)⇐⇒ class=person,

θ1(l, r) := (l.university = r.university).

graduatedSameYear := class=personθ2(l,r)⇐⇒ class=person,

θ2(l, r) := (l.gradYear = r.gradYear).

sharesHobbies := class=personθ3(l,r)⇐⇒ class=person,

θ3(l, r) := (∃h ∈ l.hobbies : h ∈ r.hobbies).

These association trail examples show how to define a logicalgraph of associations among elements in the dataspace. Theyuse queries that select elements to be related and predicatesthat specify join semantics among those elements. When takentogether, the association trails above result in a multigraph(displayed in Figure 1(b)). This intensional multigraph isactually a view, which can be refined over time by addingmore association trails in a pay-as-you-go fashion. �

B. Neighborhood Queries

We focus on a special class of exploratory queries overintensional graphs termed neighborhood queries. For simplic-ity, our presentation in the following sections is focussed onunidirectional association trails, as it is simple to extend ourtechniques to the bidirectional case.

Neighborhood queries were used by Dong and Halevy toexplore a dataspace [7]. They assume that the dataspace graphis given extensionally, i.e., each edge in the graph is explicitlymaterialized. Unfortunately, their definition does not applyto intensional graphs. As such, we generalize neighborhoodqueries below to intensional graphs. We first define what aneighborhood is in our context.

D 2 (N) Given a query Q and a set ofassociation trails A∗, the neighborhood NQ

A∗ of Q with respectto A∗ is given by

NQA∗ :=

∅, if A∗ := ∅(Q ∩ Qi

L) Yθi QiR, if A∗ := {Ai}

NQ{A1}∪ NQ

{A2}∪ . . . ∪ NQ

{An}, if A∗ := {A1, A2, . . . , An}

where QiL and Qi

R are the queries on the left and right sidesof trail Ai, respectively, and θi is the θ-predicate of Ai. �

The definition above states that the neighborhood includesall instances associated through A∗ to instances returned by Q.They are obtained by a semi-join that filters all instances inQi

R that are connected to elements of Q also appearing in QiL.

We ignore self-edges in order to simplify our presentation.

D 3 (N Q) For a query Q and a setof association trails A∗, the neighborhood query

{

QA∗ is givenby

{QA∗ := Q ∪ NQ

A∗

We call the results obtained by Q primary query results andthe results obtained by NQ

A∗ neighborhood results. �

IV. Q P TA. Naive Approach

The most intuitive query processing strategy is to explicitlymaterialize all edges in the intensional graph. At query time,we lookup this materialization to obtain the neighborhoodsfor each element returned by the original query Q. Otherdataspace [7] and graph indexing techniques [5], [6] couldalso be applied on top of the naive materialization to reducequery time. However, they will make indexing time even largerfor the naive approach. As our experiments reveal (Section V),indexing is the most dramatic cost driver for this strategy.

Given a set of association trails A∗ = {A1, A2, . . . , An}, thematerialization of the intensional graph can be obtained bythe join Q1

L ./θ1 Q1R ∪ . . . ∪ Qn

L ./θn QnR. This materialization

can be stored in a join index [10], represented by an invertedlist as in Figure 2(a). Clearly, if the queries Qi

L and QiR each

return N nodes, then the association trail Ai may generate upto O(N2) edges in the multigraph.

(a) Naive Approach (Full Mate-rialization)

(b) Grouping-Compressed In-dex (GCI)

Fig. 2. Query processing alternatives for association trails sameUniversityand graduatedSameYear.

B. Grouping-Compressed Index (GCI)

The quadratic growth in the size of the naive materializationof Section IV-A is often a consequence of grouping effectsin the association trail join predicates. In an equi-join, forexample, all nodes with the same value for a join key willjoin with one another, generating a clique in the graph forthat association trail. In a clique of size C, we would naivelystore C2 edges in the naive materialization.

As an alternative, we could: (1) explicitly represent theedges from a given node n1 in the clique to all the other nodes{n2, . . . , nC} and (2) for each remaining node in the clique,represent special lookup edges 〈n j, n1, lookup〉 that state n j

connects to the same nodes as n1. Thus, we represent theinformation in the clique with C normal edges for n1 plusC − 1 edges for the lookup edges of all remaining nodes.In short, a reduction in storage space (and consequently joinindexing time) from C2 edges to 2 ·C − 1 edges. We call thisrepresentation grouping compression. Figure 2(b) shows ourrepresentation for the grouping-compressed index.

One important challenge we address in our work is how toquery GCI without decompressing each clique to its originalC2 edges. The core idea of our method is to operate in twophases. In the build phase, we create a table with aggregatecounts from all lookup edges for the original query results. Inthe probe phase, we may use this table to avoid looking upnormal edges for nodes in the same clique several times. Dueto space limitations, we refer the reader to Vaz Salles’s PhDthesis for the presentation of our query algorithm [11].

V. EIn this section, we evaluate how the grouping-compressed

index (GCI) compares to the naive approach (Naive).Dataset. We have evaluated our system with a real dataset ofbiographies and filmographies from IMDb [12]. Person pro-files were obtained from the biographies of actors, actresses,writers, and directors, totalling 1,909,796 people. Each profile

included the person’s first and last names, birthdate, place ofbirth, and height. In addition, we imported all the explicitconnections between people and the movies they workedin. There were a total of 1,414,654 movies and 14,250,548person-movie connections. We have created the following(self-explanatory) association trails: sameLastName, same-Birthdate, samePlaceOfBirth, sameHeight, and moviesIn-Common. The association trail moviesInCommon generatesone intensional edge for each movie connecting two persons,following the extension for multi-valued attributes discussed inSection III-A. The association trails create an intensional graphof person nodes over a dataset in which these connections arenot explicit.Setup. All experiments have been run on a dual AMD Opteron280 2.4 Ghz dual-core server, with 6 GB of RAM, anda 400 GB ATA 7200 rpm hard disk with 16 MB cache.Association trails have been implemented in the open-sourceiMeMex Dataspace Management System [13].

Dataset Orig Data Total Index Rowstore Inv Index IndexingSize [MB] Size [MB] Size [MB] Size [MB] Time [min]

IMDb 564 924 676 248 48

TABLE 1S (S II)

We report in Table 1 the indexing time and index sizes takenby the index structures of Section II for the IMDb dataset.

Metric StrategyNaive GCI

Indexing Time (min) 194 7Index Size (MB) 4769 170

Results. We report in thissection the sensitivity ofthe methods to the selec-tivity of the original queryQ. First, we show the indexing performance for all methodsin the table on the right. In short, Naive’s indexing time andindex sizes are, respectively, 27 and 28 times larger than GCI,a difference of over an order of magnitude. Figure 3 shows thecorresponding query performance of the methods. The queryprocessing times for Naive were highly dependent on queryselectivity, increasing sharply as selectivity is lowered. At 10%selectivity, Naive took 2.4 min, a factor 8.8 worse than the16.2 sec taken by GCI. That behavior is consistent with thefact that lower selectivities imply that a proportionally largerfraction of the fully materialized intensional graph must beprocessed in order to answer a neighborhood query.

VI. RW

Expanding query results by adding context from a neighbor-hood in the database has been explored in work such as key-word search over relational databases [8] and dataspaces [7].In contrast to our work, all of this previous work is concernedwith extensional graphs and their techniques would have to berevisited when the graph is defined intensionally. The same canbe said about recent work on graph indexing [5], [6].

Declarative Networking has been proposed to process multi-hop, recursive queries over a single intensional graph, de-fined via datalog rules [14]. In contrast, we process single-hop, neighborhood queries over multiple intensional overlaygraphs, defined by association trails. Metadata management

0

0.5

1

1.5

2

2.5

0.01 0.1 1 10

Qu

ery

Tim

e [

min

]

Selectivity [%], logscale

NaiveGCI

Fig. 3. Query execution time vs. selectivity of original query

techniques, such as [15], are also related to our approach,though they focus on schema-first relational settings while ourtechniques target schema-later dataspace scenarios.

VII. C

In this paper, we have presented association trails, adeclarative technique to define a logical, intensional graph ofassociations among instances in a dataspace. Our techniqueis general and may be applied to a variety of scenarios,such as social networks and personal dataspaces [11]. Inaddition, we have shown a new neighborhood query processingstrategy over intensional association graphs. Our strategy, thegrouping-compressed index (GCI), may provide over an orderof magnitude gain in indexing time over the naive approachwhile remaining competitive in query processing time.

Acknowledgements. We thank David Maier for his commentson earlier versions of this work. This work was partiallysupported by the Swiss National Science Foundation (SNF)under contract 200021-112115.

R[1] M. Franklin, A. Halevy, and D. Maier, “From Databases to Dataspaces:

A New Abstraction for Information Management,” SIGMOD Record,vol. 34, no. 4, 2005.

[2] M. A. V. Salles et al., “iTrails: Pay-as-you-go Information Integrationin Dataspaces,” in VLDB, 2007.

[3] S. Amer-Yahia, L. V. S. Lakshmanan, and C. Yu, “SocialScope: EnablingInformation Discovery on Social Content Sites,” in CIDR, 2009.

[4] J.-P. Dittrich and M. A. V. Salles, “iDM: A Unified and Versatile DataModel for Personal Dataspace Management,” in VLDB, 2006.

[5] T. Neumann and G. Weikum, “RDF-3X: a RISC-style Engine for RDF,”JDMR (formerly Proc. VLDB), vol. 1, 2008.

[6] C. Weiss, P. Karras, and A. Bernstein, “Hexastore: Sextuple Indexingfor Semantic Web Data Management,” JDMR (formerly Proc. VLDB),vol. 1, 2008.

[7] X. Dong and A. Halevy, “Indexing Dataspaces,” in ACM SIGMOD,2007.

[8] S. Agrawal, S. Chaudhuri, and G. Das, “DBXplorer: A System forKeyword-Based Search over Relational Databases,” in ICDE, 2002.

[9] G. Adomavicius and A. Tuzhilin, “Toward the Next Generation ofRecommender Systems: A Survey of the State-of-the-Art and PossibleExtensions,” IEEE TKDE, vol. 17, no. 6, 2005.

[10] P. Valduriez, “Join Indices,” ACM TODS, vol. 12, no. 2, 1987.[11] M. V. Salles, “Pay-as-you-go Information Integration in Personal and

Social Dataspaces,” Ph.D. dissertation, ETH Zurich, 2008.[12] IMDb. http://www.imdb.com/.[13] iMeMex project web-site. http://www.imemex.org.[14] B. T. Loo et al., “Declarative Networking: Language, Execution and

Optimization,” in ACM SIGMOD, 2006.[15] D. Srivastava and Y. Velegrakis, “Intensional Associations Between Data

and Metadata,” in ACM SIGMOD, 2007.