250 likes | 344 Vues
This paper explores inverse queries, a reverse search technique in databases, formalizing the concept, proposing applications, and presenting a framework. It discusses efficient algorithms for inverse queries, including inverse range and kNN queries, along with special cases and challenges. The applications range from movie preferences to suspect identification based on proximity. Furthermore, the study points out future research directions for refining query results and ranking outcomes based on recall.
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.