Finding the Best when it's a Matter of Preference

Dealing with user preferences is becoming a widespread issue in novel data-intensive application domains, such as electronic catalogs, e-commerce, multimedia databases, and real estates. Although some recent works have studied the problem under specific assumptions, an understanding of the issues involved in the more general case is still missing. In this paper we assume that user preferences are expressed in a qualitative way over the tuples of a relation schema (e.g., I prefer product A to product B), which is quite natural from the user point of view and also includes, as a proper sub-case, quantitative preferences defined by means of a scoring function. Starting from an analysis of basic properties of (qualitative) preferences, we consider the Best operator, which can be used to smoothly embed preferences in queries. We study general properties of this operator and present a practical algorithm for its computation. We also describe a special data structure, called β-tree, that can be used for a rapid evaluation of the Best operator.