The POOR-MAD approach: Preferred Objects Over Rich, Multi-Attribute Data (Discussion Paper) Paolo Ciaccia1 , Davide Martinenghi2 and Riccardo Torlone3 1 Dipartimento di Informatica - Scienza e Ingegneria, Università di Bologna, Viale Risorgimento, 2, 40136 Bologna, Italy 2 Dipartimento di Elettronica, Informazione e Bioingegneria, Politecnico di Milano, Via Ponzio, 34/5, 20133 Milano, Italy 3 Dipartimento di Ingegneria, Università Roma Tre, Via della Vasca Navale, 79, 00146 Roma, Italy Abstract Preferences about objects of interest are often expressed at different levels of granularity, not always matching the level of detail of stored data. For instance, we prefer rock to pop music, yet scheduled concerts only cite the name of the performer, with no reference to the musical genre. In this paper, we address this common mismatch by leveraging the vast amounts of data organized in taxonomies (such as those found in electronic catalogs and classification systems). We present a model to represent pref- erences and state the desirable properties of preference propagation, such as the fact that more specific preferences always prevail over more generic ones. We then illustrate an approach for propagating preferences along taxonomies complying with the stated properties and show how the best objects can thereby be identified. 1. Introduction The information available in digital form is growing so fast that the search for data of interest (for attending events, buying products, planning a trip, etc.) is becoming increasingly difficult over time. For this reason, there has recently been a huge effort to develop effective methods and tools able to automatically suggest to any individual the items that better match what he/she is looking for [1]. In this framework, the availability of preferences, explicitly expressed by the users or somehow automatically derived from their actions, has been always considered an important ingredient [2, 3]. Unfortunately, preferences and data do not always match perfectly, even when they refer to the same domain of interest. This is mainly due to the fact that, usually, preferences are expressed in generic terms whereas data is very specific, as shown in the next example. SEBD 2021: The 29th Italian Symposium on Advanced Database Systems, September 5-9, 2021, Pizzo Calabro (VV), Italy " paolo.ciaccia@unibo.it (P. Ciaccia); davide.martinenghi@polimi.it (D. Martinenghi); riccardo.torlone@uniroma3.it (R. Torlone) ~ http://www-db.deis.unibo.it/~pciaccia/ (P. Ciaccia); https://martinenghi.faculty.polimi.it (D. Martinenghi); http://www.dia.uniroma3.it/~torlone/ (R. Torlone) © 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings http://ceur-ws.org ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org) Example 1. We are planning to reserve tickets for a series of concerts for which a general schedule is available, like the one in Figure 1. We prefer rock to pop concerts, yet we prefer a performance by Madonna to a rock concert. Due to work commitments, we also prefer concerts in August rather than in September. Furthermore, as for the concert venue, during autumn we prefer indoor places to stadiums. And, given two concerts by the same artist, we prefer to save money (say, if a concert costs less than 40$, then we prefer it to a concert by the same artist that costs more than 100$, whereas for intermediate prices other considerations are relevant). For the same reason, we would like to buy tickets only for (a subset of) the “best” available alternatives. Concerts Artist Day Venue Price ($) Bruce Springsteen 10/05/2019 Verona Arena 70 𝑡𝑎 Madonna 24/06/2019 Verona Arena 35 𝑡𝑏 Madonna 21/07/2019 Blue Note, Milan 120 𝑡𝑐 Eminem 12/08/2019 Unipol Arena, Bologna 60 𝑡𝑑 Rihanna 10/10/2019 Blue Note, Milan 50 𝑡𝑒 Bruce Springsteen 30/10/2019 Stadio Olimpico, Rome 100 𝑡𝑓 Figure 1: A set of concerts. The example highlights that: (i) preferences can be expressed at different levels of detail, even for the same “dimension” of the problem (e.g., seasons vs months for the time dimension), and (ii) in general, preferences do not match the level of detail of data. Moreover, preferences can be conflicting when changing the level of detail (rock is better than pop, yet Madonna, a pop singer, is preferred to rock artists). Finally, additional knowledge is needed to choose the best alternatives using preferences. For instance, we need to know that Unipol Arena is an indoor place, whereas Verona Arena is a Roman amphitheater (thus an outdoor place). This problem can be tackled by leveraging the great availability of shared and public tax- onomies, that is, collection of terms in a domain arranged hierarchically according to an inclusion relationship (e.g., product catalogs, book classifications, biological categorizations, etc.). For instance, the availability of a classification of music artists according to different musical genres would allow us to understand that a preference on rock artists propagates to Springsteen. In this paper, which is an extended abstract of [4], we present a principled approach to the problem of finding the best objects stored in a data repository on the basis of a set of preferences that are defined at a level of detail that does not match that of the data. As a preliminary step, we adopt a data model for representing taxonomies of values in specific domains (e.g., time or location) and propose a preference model for tuples over a given set of taxonomies. We then identify the general properties of preference propagation in the taxonomies, in particular, the fact that more specific preferences prevail over more generic ones. Thus, in the example above, a Madonna concert takes precedence over a Springsteen concert even if, in general, we prefer rock to pop. We then illustrate an algorithm for propagating preferences along taxonomies, complying with the stated properties. Finally, we present a technique for selecting the best tuples according to the propagated preferences. This technique would select tuples 𝑡𝑏 and 𝑡𝑑 as the best alternatives among the tuples in Figure 1 given the preferences discussed in Example 1. 2. Preliminaries 2.1. Data Model First of all, it is useful to remind that a partial order ≤ on a domain 𝑉 is a subset of 𝑉 × 𝑉 , whose elements are denoted by 𝑣1 ≤ 𝑣2 , that is: reflexive (𝑣 ≤ 𝑣 for all 𝑣 ∈ 𝑉 ), antisymmetric (if 𝑣1 ≤ 𝑣2 and 𝑣2 ≤ 𝑣1 then 𝑣1 = 𝑣2 ), and transitive (if 𝑣1 ≤ 𝑣2 and 𝑣2 ≤ 𝑣3 then 𝑣1 ≤ 𝑣3 ). Our data model is a natural extension of the relational model in which the values in each domain can be arranged hierarchically according to a taxonomy [5, 6]. Each taxonomy is represented by a partial order ≤𝐿 on over a set 𝐿 of levels, each of which includes a set of values at a certain degree of granularity. For instance, a time taxonomy can be organized in levels such as day, month, season, and year, with day ≤𝐿 month ≤𝐿 year and day ≤𝐿 season. For each pair of levels 𝑙1 ≤𝐿 𝑙2 in a taxonomy, we then assume the existence of a function 𝜇𝑙𝑙21 , called level mapping, that maps each value in 𝑙1 to a value in 𝑙2 . For instance, we have: 𝜇month day (23/07/2019) = 07/2019. The level mappings induce a partial order ≤𝑉 on the values of a taxonomy where 𝑣1 ≤𝑉 𝑣2 if 𝑙1 ≤𝐿 𝑙2 and 𝜇𝑙𝑙21 (𝑣1 ) = 𝑣2 . Example 2. Portions of the taxonomies relevant to our working example on concerts are shown in Figure 2. For the location of a concert we consider levels Venue, VenueType, and InOut. The values of this taxonomy are organized in the poset shown in Figure 3, where the level mappings are represented by arrows. InOut PriceRange Genre Month Season VenueType Day Price Artist Venue Figure 2: The taxonomies for our working example The main constructs of the data model are the t-schema, the t-tuple, and the t-relation, which are natural extensions of the analogous notions in the relational model in which data domains can be taxonomies. For instance, a catalog of concerts in Italy can be represented by the t-relation shown in Figure 1 over the taxonomies in Figure 2 where we have used the levels as names of the attributes, assuming for simplicity that level names are unique. A partial order can than also be defined over t-schemas and t-tuples as follows: 𝑆1 ≤𝑆 𝑆2 if for each 𝑙𝑖 ∈ 𝑆2 there is an element 𝑙𝑗 ∈ 𝑆1 such that 𝑙𝑗 ≤𝐿 𝑙𝑖 and 𝑡1 ≤𝑡 𝑡2 if: (i) 𝑆1 ≤𝑆 𝑆2 , and (ii) for each 𝑙𝑖 ∈ 𝑆2 there is an element 𝑙𝑗 ∈ 𝑆1 such that 𝑡1 [𝑙𝑗 ] ≤𝑉 𝑡2 [𝑙𝑖 ]. Note that 𝑆2 may have fewer InOut Indoor Outdoor VenueType Concert hall Amphitheater Stadium Venue Unipol Arena Blue Note Verona Arena Stadio Olimpico Figure 3: A taxonomy for concerts’ locations attributes than 𝑆1 . However, we assume without loss of generality that they have the same set of attributes, since we can add to 𝑆2 the missing attributes at the top level of the taxonomy. 2.2. Preference Model In our approach preferences are represented by a binary relation ⪰ over t-tuples as follows: given a collection of taxonomies {𝑇1 , . . . , 𝑇𝑘 } and a pair of t-tuples 𝑡1 and 𝑡2 over 𝒯 = 𝑇1 × . . . × 𝑇𝑘 , if 𝑡1 ⪰ 𝑡2 then we say that 𝑡1 is (weakly) preferable to 𝑡2 . If 𝑡1 ⪰ 𝑡2 and 𝑡2 ̸⪰ 𝑡1 we say that 𝑡1 is strictly preferable to 𝑡2 , denoted 𝑡1 ≻ 𝑡2 . Then, the “best” t-tuples in a t-relation 𝑟 according to the preference relation ⪰ can be selected by means of the Best operator 𝛽⪰ (𝑟) = {𝑡 ∈ 𝑟 | ∄𝑡′ ∈ 𝑟, 𝑡′ ≻ 𝑡} [7]. We express preferences in a logic-based language, so that 𝑡1 ⪰ 𝑡2 iff they satisfy the preference formula 𝐹 (𝑡1 , 𝑡2 ): 𝑡1 ⪰ 𝑡2 ⇔ 𝐹 (𝑡1 , 𝑡2 ). In particular, we consider formulas in which only built- in predicates are present and quantifiers are omitted, also called intrinsic preference formulas (ipf) [2]. Furthermore, without loss of generality, we assume that 𝐹 is in Disjunctive Normal Form (DNF) and call each disjunct of 𝐹 a preference clause, i.e.: 𝐹 (𝑡1 , 𝑡2 ) = 𝑛𝑖=1 𝑃𝑖 (𝑡1 , 𝑡2 ). ⋁︀ Example 3. The preferences informally stated in Example 1 can be expressed by the formula 𝐹 (𝑡1 , 𝑡2 ) = 𝑃1 (𝑡1 , 𝑡2 ) ∨ . . . ∨ 𝑃5 (𝑡1 , 𝑡2 ), where: 𝑃1 (𝑡1 , 𝑡2 ) = (𝑡1 [Genre] = rock) ∧ (𝑡2 [Genre] = pop) 𝑃2 (𝑡1 , 𝑡2 ) = (𝑡1 [Artist] = Madonna) ∧ (𝑡2 [Genre] = rock) 𝑃3 (𝑡1 , 𝑡2 ) = (𝑡1 [Artist] = 𝑡2 [Artist])∧ (𝑡1 [PriceRange] = cheap) ∧ (𝑡2 [PriceRange] = expensive) 𝑃4 (𝑡1 , 𝑡2 ) = (𝑡1 [Season] = autumn) ∧ (𝑡2 [Season] = autumn)∧ (𝑡1 [InOut] = indoor) ∧ (𝑡2 [VenueType] = stadium) 𝑃5 (𝑡1 , 𝑡2 ) = (𝑡1 [Month] = august) ∧ (𝑡2 [Month] = september) 3. Propagation of Preferences The initial preference relation ⪰ completely ignores the structure of the poset on t-tuples ≤𝑡 , thus it treats 𝒯 as if it were a “flat” domain. This is because ⪰ includes all and only those preferences 𝑡1 ⪰ 𝑡2 such that the attribute values of 𝑡1 and 𝑡2 satisfy the preference formula, yet it does not take into account the taxonomies. The key observation justifying the downward propagation of preferences, is that, given a target t-schema 𝑆, by exploiting the hierarchical organization of 𝒯 it is possible to extend ⪰ with more preferences that involve t-tuples with t-schemas 𝑆𝑖 , with 𝑆 ≤𝑆 𝑆𝑖 . Let ⪰D denote the binary relation obtained by propagating, in some way to be described, the preferences in ⪰. The basic idea underlying propagation is that, if we have t-tuples 𝑡′1 and 𝑡′2 such that 𝑡′1 ⪰ 𝑡′2 , then this preference can be downward propagated to all t-tuples 𝑡1 and 𝑡2 such that 𝑡1 ≤𝑡 𝑡′1 and 𝑡2 ≤𝑡 𝑡′2 . For instance, consider the t-schema in Figure 1 and the preference clause 𝑃1 (𝑡1 , 𝑡2 ) = 𝑡1 [Genre] = Rock) ∧ (𝑡2 [Genre] = Pop). From 𝑃1 we can obtain through propagation the preferences 𝑡𝑎 ⪰D 𝑡𝑏 and 𝑡𝑎 ⪰D 𝑡𝑐 , since Bruce Springsteen is a rock artist whereas Madonna is a pop singer. In terms of logical formulas, downward propagation with respect to the target t-schema 𝑆 can be easily obtained by exploiting the level mappings. For instance, consider clause 𝑃5 (𝑡1 , 𝑡2 ) in Example 3. This can be rewritten as: (𝜇Month Month Day (𝑡1 [Day]) = august) ∧ (𝜇Day (𝑡2 [Day]) = september) so that it is applicable to values at the Day level. In order to simplify the notation, in the following level mappings are understood and we use =D in place of = to allow comparisons between values at different levels (similarly for other comparison operators, eg., ≤ would become ≤𝐷 ). Thus, the above clause can be more conveniently written as: 𝑡1 [Day] =D august ∧ 𝑡2 [Day] =D september. Given an input formula 𝐹 , we denote by 𝐹D the formula rewritten by means of level mappings. 3.1. Transitively Closing the Formula Downward propagation does not guarantee that ⪰D is a transitive relation, even because the very input relation ⪰ is not necessarily transitive. Although one may be tempted to circumvent this problem by adopting an algorithm for non-transitive preferences [8], algorithms of this type can discard a sub-optimal t-tuple 𝑡 only if the t-relation 𝑟 contains a t-tuple 𝑡′ that is directly (rather than transitively) better than 𝑡. Our approach is to transitively closing formula 𝐹D with respect to the t-tuple domain 𝒯 , as described in [2] for the base case of flat domains.1 The presence of taxonomies requires to extend the basic scheme adopted in [2], as the following example illustrates. 1 Notice that the transitive closure of an ipf is finite and still an ipf [2]. Example 4. Given the formula 𝐹 (𝑡1 , 𝑡2 ) = 𝑃5 (𝑡1 , 𝑡2 ) ∨ 𝑃4 (𝑡1 , 𝑡2 ), where 𝑃4 and 𝑃5 are as in Example 3, by means of downward propagation we obtain the formula: 𝐹D (𝑡1 , 𝑡2 ) = (𝑡1 [Day] =D august ∧ 𝑡2 [Day] =D september) ∨ (𝑡1 [Day] =D autumn ∧ 𝑡2 [Day] =D autumn ∧ 𝑡1 [Venue] =D indoor ∧ 𝑡2 [Venue] =D stadium). Now, since some september days are in autumn, it is sound to add to the transitive closure of 𝐹D , a formula that will be denoted as 𝐹DT , the clause: 𝑡1 [Day] =D august ∧ 𝑡2 [Day] =D autumn ∧ 𝑡2 [Venue] =D stadium. We observe that 𝐹D uses level mappings in order to understand when preferences expressed at different levels can be transitively combined. Indeed, this is the only additional complexity with respect to the procedure given in [2]. In particular, similarly to what done in Example 4, we have to compare values at different levels in a taxonomy (e.g., september and autumn) and determine if they have a non-empty intersection (so that the transitive step can be applied). 3.2. Computing the Result with Specific Preferences The propagation scheme described in the previous section is unable to deal with conflicting preferences, one of which is more specific than the other. In our working example, we have a generic preference for rock concerts over pop concerts (clause 𝑃1 ), yet we also have a more specific preference stating that a performance by Madonna takes precedence over any rock concerts (clause 𝑃2 ). Thus, according to 𝑃1 we would have, among others, 𝑡𝑎 ⪰DT 𝑡𝑏 , whereas 𝑃2 would yield 𝑡𝑏 ⪰DT 𝑡𝑎 , thus making 𝑡𝑎 and 𝑡𝑏 indifferent. We argue that giving the same importance to both preferences contradicts the intuition, as the more specific preference should take precedence over the more generic one. We now detail how, given a formula 𝐹DT , we can effectively solve conflicts by maintaining only more specific preferences. If 𝐹DT (𝑡1 , 𝑡2 ) holds, we look at the clause 𝑃𝑖 that evaluates to true2 and, for each involved attribute, we consider the original level it has for both 𝑡1 and 𝑡2 (remind that 𝐹DT has been obtained by applying level mappings). If an attribute does not appear in 𝑃𝑖 we set its level to the top level of its taxonomy (henceforth simply indicated by ⊤). Example 5. Consider t-tuples 𝑡𝑎 and 𝑡𝑏 in Figure 1 and clause 𝑃2 (𝑡1 , 𝑡2 ) = (𝑡1 [Artist] = Madonna) ∧ (𝑡2 [Genre] = rock). Note that 𝑃2 (𝑡𝑏 , 𝑡𝑎 ) holds and the original levels when evaluating 𝑃2 for 𝑡𝑎 are (Genre, ⊤, ⊤, ⊤), while those for 𝑡𝑏 are (Artist, ⊤, ⊤, ⊤). Overall, this leads to a pair of t-schemas, spp(𝑡1 , 𝑡2 ) = ⟨sig1,2 (𝑡1 ), sig1,2 (𝑡2 )⟩. Notice that sig1,2 (𝑡1 ) is the t-schema for 𝑡1 when we test if 𝑡1 is preferred to 𝑡2 , which, in general, is different from sig2,1 , i.e., the t-schema for 𝑡1 when we test if 𝑡2 is preferred to 𝑡1 . This motivates the use of subscripts. 2 Generalization to the case in which more than one clause is true is immediate. Algorithm 1: Computing the best t-tuples in 𝑟. Input: t-relation 𝑟 with t-schema 𝑆 = {𝐴1 : 𝑙1 , . . . , 𝐴𝑘 : 𝑙𝑘 }, formula 𝐹DT . Output: 𝛽≻DT . 1. let 𝐵𝑒𝑠𝑡 := ∅ 2. for each 𝑡 ∈ 𝑟 3. let 𝑂𝑝𝑡 := true 4. for each 𝑡′ ∈ 𝐵𝑒𝑠𝑡 5. cases 6. 𝐹DT (𝑡, 𝑡′ ) ∧ (𝐹DT (𝑡′ , 𝑡) ∧ 𝑡 = MoreSpecificPref(𝑡, 𝑡′ ) ∨ ¬𝐹DT (𝑡′ , 𝑡)) : 𝐵𝑒𝑠𝑡 := 𝐵𝑒𝑠𝑡 ∖ {𝑡′ } 7. 𝐹DT (𝑡 , 𝑡) ∧ (𝐹DT (𝑡, 𝑡 ) ∧ 𝑡 = MoreSpecificPref(𝑡, 𝑡′ ) ∨ ¬𝐹DT (𝑡, 𝑡′ )) : ′ ′ ′ let 𝑂𝑝𝑡 := false; break 8. if 𝑂𝑝𝑡 then 𝐵𝑒𝑠𝑡 := 𝐵𝑒𝑠𝑡 ∪ {𝑡} 9. return 𝐵𝑒𝑠𝑡 When also 𝐹DT (𝑡2 , 𝑡1 ) holds, i.e., we have a conflict, we compare spp(𝑡1 , 𝑡2 ) and spp(𝑡2 , 𝑡1 ) = ⟨sig2,1 (𝑡2 ), sig2,1 (𝑡1 )⟩ and conclude that the first preference is more specific than the second iff sig1,2 (𝑡1 ) ≤𝑆 sig2,1 (𝑡1 ) and sig1,2 (𝑡2 ) ≤𝑆 sig2,1 (𝑡2 ), with at least one t-schema being strictly more specific. Example 6. Assume we are comparing t-tuples 𝑡𝑎 and 𝑡𝑏 in Figure 1. From clause 𝑃1 in Example 3 (𝑃1 (𝑡1 , 𝑡2 ) = (𝑡1 [Genre] = rock) ∧ (𝑡2 [Genre] = pop)) we derive that 𝑡𝑎 ⪰DT 𝑡𝑏 , whereas 𝑡𝑏 ⪰DT 𝑡𝑎 follows from clause 𝑃2 . For the first preference we have spp(𝑡𝑎 , 𝑡𝑏 ) = ⟨(Genre, ⊤, ⊤, ⊤), (Genre, ⊤, ⊤, ⊤)⟩, whereas for the second we have spp(𝑡𝑏 , 𝑡𝑎 ) = ⟨(Artist, ⊤, ⊤, ⊤), (Genre, ⊤, ⊤, ⊤)⟩. Although for 𝑡𝑎 the two t-schemas are the same, for 𝑡𝑏 Artist is strictly more specific than Genre, thus 𝑡𝑏 is strictly preferred to 𝑡𝑎 . In order to compute the best results according to the (transitively closed) rewritten formula 𝐹DT we can use any algorithm developed for returning the best objects in a strict partial order, such as those in [9, 7], by suitably adapting it to work in our scenario. Algorithm 1 is such an adaptation of the well-known BNL algorithm [9]. In the algorithm the “specificity test” is performed by the procedure MoreSpecificPref(𝑡, 𝑡′ ), which returns 𝑡 if the preference 𝑡 ⪰DT 𝑡′ is more specific than 𝑡′ ⪰DT 𝑡, 𝑡′ in the opposite case, and nil otherwise. 4. Conclusions In this paper we have studied preference propagation along several taxonomies, when the levels at which preferences are stated and that of the stored data differ. The preference model we have proposed is able to deal with conflicting preferences in an effective way, thus propagating only the most specific preferences. The specificity principle we use in this paper was also considered in [10, 11], although on a preference model using strict rather than weak preferences and in a different scenario regarding preferences combined across different contexts (not preference formulas): if 𝑎 ≻ 𝑏 holds in context 𝑐, and 𝑏 ≻ 𝑎 in context 𝑐′ , then 𝑎 ≻ 𝑏 prevails if 𝑐 is more specific than 𝑐′ . The problem of dealing with preferences defined on different schemas, which is the main focus of the present paper, was not addressed at all in [10, 11]. The interplay between specificity and transitivity is studied in depth in [12]. Propagation of preferences in OLAP systems is considered in [13], where an algebraic lan- guage is adopted. Propagation occurs along hierarchies of levels, however no issue concerning combination of conflicting preferences is considered. Unlike most works studying the problem of managing qualitative preference queries on databases [3], in which the preference relation is a strict partial order ≻, in this paper we have considered “weak" preferences ⪰. This choice originates from the observation that, while propagating preferences between different t-schemas, transitivity cannot be guaranteed and a transitive closure is needed. However, enforcing transi- tivity might lead to cycles, which are harmless in our model but cannot occur in strict partial orders. Future work includes the study of efficient methods for computing the transitive closure of the preference formula, the development of ad hoc algorithms for determining the best objects that scale over very large datasets, and an experimental evaluation on real-world scenarios. References [1] F. Ricci, L. Rokach, B. Shapira, Introduction to recommender systems handbook, in: Recommender Systems Handbook, Springer, 2011, pp. 1–35. [2] J. Chomicki, Preference formulas in relational queries, TODS 28 (2003) 427–466. [3] K. Stefanidis, G. Koutrika, E. Pitoura, A survey on representation, composition and application of preferences in database systems, TODS 36 (2011) 19:1–19:45. [4] P. Ciaccia, D. Martinenghi, R. Torlone, Finding preferred objects with taxonomies, in: ER, 2019, pp. 397–411. [5] D. Martinenghi, R. Torlone, Querying databases with taxonomies, in: ER, 2010, pp. 377–390. [6] D. Martinenghi, R. Torlone, Taxonomy-based relaxation of query answering in relational databases, VLDB J. 23 (2014) 747–769. [7] R. Torlone, P. Ciaccia, Which are my preferred items?, in: RPEC, 2002, pp. 217–225. [8] C. Y. Chan, H. V. Jagadish, K. Tan, A. K. H. Tung, Z. Zhang, Finding k-dominant skylines in high dimensional space, in: SIGMOD, 2006, pp. 503–514. [9] S. Börzsönyi, D. Kossmann, K. Stocker, The skyline operator, in: ICDE, 2001, pp. 421–430. [10] P. Ciaccia, D. Martinenghi, R. Torlone, Foundations of context-aware preference propaga- tion, J. ACM 67 (2020) 4:1–4:43. [11] P. Ciaccia, R. Torlone, Modeling the propagation of user preferences, in: ER, 2011, pp. 304–317. Best paper award. [12] P. Ciaccia, D. Martinenghi, R. Torlone, Preference queries over taxonomic domains, Proceedings of the VLDB Endowment (2021) to appear. [13] M. Golfarelli, S. Rizzi, P. Biondi, myOLAP: An approach to express and evaluate OLAP preferences, TKDE 23 (2011) 1050–1064.