250 likes | 340 Views
Inverse Queries for Multidimensional Spaces. Thomas Bernecker, Tobias Emrich, Hans-Peter Kriegel, Nikos Mamoulis , Matthias Renz, Shiming Zhang, Andreas Züfle. Outline. Motivation Reverse Queries From Reverse to Inverse Inverse Queries Formal Definition Applications Framework
E N D
Inverse QueriesforMultidimensional Spaces Thomas Bernecker, Tobias Emrich, Hans-Peter Kriegel, Nikos Mamoulis, Matthias Renz, Shiming Zhang, Andreas Züfle
Outline • Motivation • Reverse Queries • From Reverse to Inverse • Inverse Queries • Formal Definition • Applications • Framework • Experiments • Future Extensions
Reverse Queries • Given a query object and a spatial query predicate • Find all objects of a database having in their result set • Characteristic Example: The Reverse kNN Query
Reverse kNN Queries • Given a query object and a positive integer . • Find all objects of a database that have as one of their -nearest neighbors, i.e.
Reverse kNN Queries • Given a query object and a positive integer . • Find all objects of a database that have as one of their -nearest neighbors, i.e. k=1 q
Reverse kNN Queries • Given a query object and a positive integer . • Find all objects of a database that have as one of their -nearest neighbors, i.e. k=1 q
From Reverse to Inverse • RkNN queries take as input one single query object • However, similarity queries (e.g. -range, kNN) may return more than one result. • In this work, we generalize the concept of reverse queries • Assume the query answer can be (partially) observed. • But the query object is not known • Find the query!
Inverse Queries • Let be a spatial query predicate. • An inverse query () computes for a given set of query objects , the set of points for which is in the query result. Formally,
Inverse Queries • Let be a spatial query predicate. • An inverse query () computes for a given set of query objects , the set of points for which is in the query result. Formally, • Special Cases: • The mono-chromatic case where the result is a subset of • The bi-chromatic case where the result is a subset of a given database
Inverse Queries • Naïve Approach: • Perform a reverse query for each • Intersect the results • Challenge • Efficient algorithms for inverse queries. • Single index traversal • Different Predicates • Inverse -range queries • Inverse kNN queries • Inverse dynamic skyline queries
Applications: Bi-Chromatic Inverse -range query • Consider a movie database containing a large number of movie records. • Each movie record contains features such as humor, suspense, romance, etc. suspense humor
Applications: Bi-Chromatic Inverse -range query • Users of the database are represented by the same attributes, describing their preferences. • Assume that a group of users, such as a family, want to watch a movie together suspense humor
Applications: Bi-Chromatic Inverse -range query • Find movies sufficiently close to ALL users preferences suspense humor
Applications: Bi-Chromatic Inverse -range query • Find movies sufficiently close to ALL users preferences Recommend me! suspense humor
Applications: Mono-Chromatic Inverse kNN query • Assume that a set of households and their spatial coordinates.
Applications: Mono-Chromatic Inverse kNN query • Some households have been robbed in short succession and the robber must be found.
Applications: Mono-Chromatic Inverse kNN query • Assume that the robber will only rob houses which are in his close vicinity, e.g. within the closest hundred households. • An inverse 100NN query returns a list of possible suspects
Applications: Mono-Chromatic Inverse kNN query • Assume that the robber will only rob houses which are in his close vicinity, e.g. within the closest hundred households. • An inverse 100NN query returns a list of possible suspects Suspects!
Applications: General Inverse Dynamic Skyline Query • An online-shop wants to recommend items to their customers by analyzing other items clicked by them. • Clicked items Q seen as samples of products the customer is interested in, and thus, is assumed to be in the customer’s dynamic skyline.
Applications: General Inverse Dynamic Skyline Query • The inverse dynamic skyline query can be used to narrow the space which the customers preferences are located in. • Case |Q|=1: Reverse Dynamic Skyline Query.1 1Evangelos Dellis, Bernhard Seeger: Efficient Computation of Reverse Skyline Queries. VLDB 2007
Applications: General Inverse Dynamic Skyline Query • Case: Q>1
Filter-Refinement Framework • Fast Query Based Evaluation • Verify simple constraints that are necessary conditions for a non-empty result. • Query-Based Pruning • Employ the topology of the query objects to prune objects in DB • Object-Based Pruning • Access database objects in ascending order of their maximum distance to the query set • Refinement • Perform a (forward) query on each remaining candidate. • Check if all query objects are contained in the result.
Future Directions • Restrictive Query Definition • Often yields empty result sets • Applications? • Ranked Result • Rank by Recall: Return objects similar to the largest number of query objects first. • Rank by Precision: Return objects with the higest fraction of query objects in their result first. • Rank by predicate parameters: Return objects that require the least /k parameter in order to have all objects in Q in their result.