Abstract: A reverse k-nearest neighbour (RkNN) query determines the objects from a database that have the query as one of their k-nearest neighbors. Processing such a query has received plenty of attention in research. However, the effect of running multiple RkNN queries at once (join) or within a short time interval (bulk/group query) has only received little attention so far. In this paper, we analyze different types of RkNN joins and provide a classification of existing RkNN join algorithms. We discuss possible solutions for solving the non-trivial variants of the problem in vector spaces, including self and mutual pruning strategies. Further, we generalize the developed algorithms to general metric spaces. During an extensive performance analysis we provide evaluation results showing the IO and CPU performance of the compared algorithms for a wide range of different setups and suggest appropriate query algorithms for specific scenarios.
Loading