Intensional Associations in Dataspaces Marcos Vaz Salles Cornell

  • Slides: 17
Download presentation
Intensional Associations in Dataspaces Marcos Vaz Salles Cornell University Jens Dittrich Saarland University ICDE

Intensional Associations in Dataspaces Marcos Vaz Salles Cornell University Jens Dittrich Saarland University ICDE 2010 Lukas Blunschi ETH Zurich

Potentially relevant results Irrelevant results that sound like Kevin Spacey What is missing?

Potentially relevant results Irrelevant results that sound like Kevin Spacey What is missing?

Potentially relevant results Items connected to Kevin Spacey by relationships Colleagues Who acted together

Potentially relevant results Items connected to Kevin Spacey by relationships Colleagues Who acted together with Kevin Spacey Other Members of the Spacey Family in the Trade Other Folks from NJ in the Trade

Potentially relevant results Items connected to Kevin Spacey by relationships Movies in Common Same

Potentially relevant results Items connected to Kevin Spacey by relationships Movies in Common Same Last Name Samuel L. Jackson (37) Tom Hanks (34) Robin Williams (34) Dustin Hoffman (34) Morgan Freeman (32) John Graham Spacey (great-uncle!) Same Place of Birth Zach Braff, Adam Horovitz, Andrew Shue Joel Silver, Craig Kingsbury, Joseph Kraft Drew Rosenhaus, Lauryn Hill, Stacey Kent

The Problem • Keywords are not enough – If item is not tagged, it

The Problem • Keywords are not enough – If item is not tagged, it is not returned – No meaningful definition of relatedness • Relationships essential, but hard to get right – Searches do not include related items – Adding relationships to search queries hurts response time – The more flexible the definition of relatedness, the higher the cost

Our Solution • Keywords are not enough – Declarative mini-language to define intensional associations

Our Solution • Keywords are not enough – Declarative mini-language to define intensional associations • Relationships essential, but hard to get right – Special class of neighborhood-enriched search queries over virtual associations – New index structure for neighborhood searches to process these queries efficiently

Association Trails θ(L, R) A: QL QR Join Predicate that relates elements from the

Association Trails θ(L, R) A: QL QR Join Predicate that relates elements from the left with elements from the right Search queries that select elements in the dataspace • Example: Actors in the same movies θ 1 movies. In. Common: //person[type=“actor”], θ 1 = ( ml L/movies: ml R/movies)

Neighborhood Search Queries • Combine search with pre-defined joins in association trails to get

Neighborhood Search Queries • Combine search with pre-defined joins in association trails to get related items • Examples: – Search for “kevin spacey” also returns colleagues who acted together, other family members, etc – Search for “actors who won the Oscar” also returns other actors strongly related to this set by virtual associations Related Items Search Results

Query Processing over Association Trails • Intuition: Index at association trail definition time to

Query Processing over Association Trails • Intuition: Index at association trail definition time to avoid costly joins at runtime • Naive Approach – Materialize all association trails into join index – Probe join index to get related items Naive Approach: Given m association trails and n items, index size is worst-case O(mn 2)

Grouping-Compressed Index (GCI) • Still materializes join, but in compressed form • Takes advantage

Grouping-Compressed Index (GCI) • Still materializes join, but in compressed form • Takes advantage of redundancy in join output – O(mn) worst-case on equi-joins • Intuition: same. Place. Of. Birth θ(L, R)=(L. place. Of. Birth = R. place. Of. Birth) NJ NJ CA CA NJ NJ CA For each clique, only represent pivot, edges from pivot, and elements in clique

Grouping-Compressed Index (GCI) • Technical challenge is to answer neighborhood queries without decompressing •

Grouping-Compressed Index (GCI) • Technical challenge is to answer neighborhood queries without decompressing • Intuition: Probe pivot only once same. Place. Of. Birth θ(L, R)=(L. place. Of. Birth = R. place. Of. Birth) Search Results Search: actors who won the Oscar NJ NJ CA CA NJ NJ CA • Details on full version of the paper

Experiments with IMDb Dataset • Dataset: – IMDb biographies and filmographies – ~2 M

Experiments with IMDb Dataset • Dataset: – IMDb biographies and filmographies – ~2 M people, ~1. 5 M movies • Queries: – Original search returns a subset of people – Neighborhood processing includes all people related to original set through association trails • Association trails: movies. In. Common, same. Place. Of. Birth, same. Height, same. Last. Name, same. Birthdate

Experiments with IMDb Dataset • Indexing: over orderof-magnitude gains • Querying: – Naive method

Experiments with IMDb Dataset • Indexing: over orderof-magnitude gains • Querying: – Naive method very sensitive to selectivity – Querying compressed index comparable to uncompressed one with high selectivity

Related Work • Neighborhood queries in dataspaces / IR: Dong & Halevy [SIGMOD 2007],

Related Work • Neighborhood queries in dataspaces / IR: Dong & Halevy [SIGMOD 2007], Carmel et al. [SIGIR 2003] • Intensional Associations: Srivastava & Velegrakis [SIGMOD 2007] • Graph Indexing: Trissl and Leser [SIGMOD 2007], Neumann & Weikum [VLDB 2008], Weiss et al. [VLDB 2008], XML • Recursive Queries: Declarative Networking & Datalog [SIGMOD 2006]

Conclusion Thank you! • Association Trails – Declarative mini-language to specify intensional associations in

Conclusion Thank you! • Association Trails – Declarative mini-language to specify intensional associations in dataspaces • Neighborhood Search Queries – Return associated items along with search results – Search combined with joins • Grouping-Compressed Index (GCI) – Efficient scheme to index intensional associations and process neighborhood search queries

Backup Slides

Backup Slides

Association Trail Examples • Actors in the same movies θ 1 movies. In. Common:

Association Trail Examples • Actors in the same movies θ 1 movies. In. Common: //person[type=“actor”], θ 1 = ( ml L/movies: ml R/movies) • Actors born in same place θ 2 same. POB: //person[type=“actor”], θ 2 = (L. place. Of. Birth = R. place. Of. Birth)