Input: : number of inner objects retrieved for an outer object, : outer segment, : set of inner objects |
Output: : set of ordered pairs of outer object and inner object |
(1) | if then // denotes that contains only an outer object , that is, |
(2) | // kNN query from is performed and its result is saved to |
(3) | // a partial join result for is generated from |
(4) | return // a partial join result for is returned |
(5) | else if then // denotes that contains only two outer objects and |
(6) | // kNN query from is performed, and its result is saved to |
(7) | // a partial join result for is generated from |
(8) | // kNN query from is performed, and its result is saved to |
(9) | // a partial join result for is generated from |
(10) | return // the union of the partial join results for and is returned |
(11) | else if then // denotes that contains more than three outer objects |
(12) | // kNN query from is performed, and its result is saved to |
(13) | // a partial join result for is generated from |
(14) | // kNN query from is performed, and its result is saved to |
(15) | // a partial join result for is generated from |
(16) | // inner objects located in are retrieved |
(17) | for each outer object do // k NNs of outer objects are retrieved from |
(18) | // is explained in Algorithm 4 |
(19) | // a partial join result for is generated from |
(20) | return // the union of the partial join results for is returned |