<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>The POOR-MAD approach: Preferred Objects Over Rich, Multi-Attribute Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>(Discussion Paper)</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Paolo Ciaccia</string-name>
          <email>paolo.ciaccia@unibo.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Davide Martinenghi</string-name>
          <email>davide.martinenghi@polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Riccardo Torlone</string-name>
          <email>riccardo.torlone@uniroma3.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Elettronica, Informazione e Bioingegneria, Politecnico di Milano</institution>
          ,
          <addr-line>Via Ponzio, 34/5, 20133 Milano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dipartimento di Informatica - Scienza e Ingegneria, Università di Bologna</institution>
          ,
          <addr-line>Viale Risorgimento, 2, 40136 Bologna</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Dipartimento di Ingegneria, Università Roma Tre</institution>
          ,
          <addr-line>Via della Vasca Navale, 79, 00146 Roma</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>SEBD 2021: The 29th Italian Symposium on Advanced Database Systems</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Preferences about objects of interest are often expressed at diferent 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 preferences 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.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        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 dificult
over time. For this reason, there has recently been a huge efort to develop efective methods and
tools able to automatically suggest to any individual the items that better match what he/she is
looking for [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. 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 [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ]. 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.
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.
      </p>
      <p>Concerts</p>
      <p>Artist
Bruce Springsteen
Madonna
Madonna
Eminem
Rihanna
Bruce Springsteen</p>
      <p>The example highlights that: (i) preferences can be expressed at diferent 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).</p>
      <p>This problem can be tackled by leveraging the great availability of shared and public
taxonomies, 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 diferent musical genres
would allow us to understand that a preference on rock artists propagates to Springsteen.</p>
      <p>
        In this paper, which is an extended abstract of [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], 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.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Preliminaries</title>
      <sec id="sec-2-1">
        <title>2.1. Data Model</title>
        <p>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).</p>
        <p>
          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 [
          <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
          ]. 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:
 dmaoynth(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  2 (1) = 2.
1
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.
        </p>
        <p>InOut
VenueType</p>
        <p>Venue
Month</p>
        <p>Season
Day</p>
        <p>PriceRange</p>
        <p>Price</p>
        <p>Genre
Artist</p>
        <p>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
Indoor</p>
        <p>Outdoor
VenueType</p>
        <p>Venue</p>
        <p>Concert hall Amphitheater Stadium
Unipol Arena Blue Note</p>
        <p>Verona Arena</p>
        <p>Stadio Olimpico
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.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Preference Model</title>
        <p>
          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  ⪰ () = { ∈  |
∄′ ∈ , ′ ≻ } [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>
          We express preferences in a logic-based language, so that 1 ⪰ 2 if they satisfy the preference
formula  (1, 2): 1 ⪰ 2 ⇔  (1, 2). In particular, we consider formulas in which only
builtin predicates are present and quantifiers are omitted, also called intrinsic preference formulas
(ipf) [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. 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).
        </p>
        <p>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])∧</p>
        <p>(1[PriceRange] = cheap) ∧ (2[PriceRange] = expensive)
4(1, 2) = (1[Season] = autumn) ∧ (2[Season] = autumn)∧</p>
        <p>(1[InOut] = indoor) ∧ (2[VenueType] = stadium)
5(1, 2) = (1[Month] = august) ∧ (2[Month] = september)</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Propagation of Preferences</title>
      <p>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  ≤  .</p>
      <p>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.</p>
      <p>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:</p>
      <p>( DMaoynth(1[Day]) = august) ∧ ( DMaoynth(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 diferent levels (similarly for other comparison operators, eg., ≤ would
become ≤ ). Thus, the above clause can be more conveniently written as:</p>
      <p>1[Day] =D august ∧ 2[Day] =D september.</p>
      <p>Given an input formula  , we denote by D the formula rewritten by means of level mappings.</p>
      <sec id="sec-3-1">
        <title>3.1. Transitively Closing the Formula</title>
        <p>
          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 [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], 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 .
        </p>
        <p>
          Our approach is to transitively closing formula D with respect to the t-tuple domain  ,
as described in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] for the base case of flat domains. 1 The presence of taxonomies requires to
extend the basic scheme adopted in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], as the following example illustrates.
        </p>
        <sec id="sec-3-1-1">
          <title>1Notice that the transitive closure of an ipf is finite and still an ipf [2].</title>
          <p>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).</p>
          <p>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:</p>
          <p>1[Day] =D august ∧ 2[Day] =D autumn ∧ 2[Venue] =D stadium.</p>
          <p>
            We observe that D uses level mappings in order to understand when preferences expressed
at diferent levels can be transitively combined. Indeed, this is the only additional complexity
with respect to the procedure given in [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]. In particular, similarly to what done in Example 4,
we have to compare values at diferent 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).
          </p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Computing the Result with Specific Preferences</title>
        <p>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  indiferent. 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.</p>
        <p>We now detail how, given a formula DT, we can efectively solve conflicts by maintaining
only more specific preferences.</p>
        <p>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 ⊤).</p>
        <p>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
diferent 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.</p>
        <sec id="sec-3-2-1">
          <title>2Generalization to the case in which more than one clause is true is immediate.</title>
          <p>Algorithm 1: Computing the best t-tuples in .</p>
          <p>Input: t-relation  with t-schema  = {1 : 1, . . . ,  : }, formula DT.</p>
          <p>Output:  ≻ DT.</p>
          <p>1. let  := ∅
2. for each  ∈ 
3. let  := true
4. for each ′ ∈ 
5. cases
6. DT(, ′) ∧ (DT(′, ) ∧  = MoreSpecificPref(, ′) ∨ ¬DT(′, )) :</p>
          <p>:=  ∖ {′}
7. DT(′, ) ∧ (DT(, ′) ∧ ′ = MoreSpecificPref(, ′) ∨ ¬DT(, ′)) :</p>
          <p>let  := false; break
8. if  then  :=  ∪ {}
9. return</p>
          <p>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 if
sig1,2(1) ≤  sig2,1(1) and sig1,2(2) ≤  sig2,1(2), with at least one t-schema being strictly
more specific.</p>
          <p>
            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 [
            <xref ref-type="bibr" rid="ref7 ref9">9, 7</xref>
            ], by suitably adapting it to work in our scenario. Algorithm 1 is such
an adaptation of the well-known BNL algorithm [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]. 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.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusions</title>
      <p>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 difer. The preference model we have
proposed is able to deal with conflicting preferences in an efective way, thus propagating only
the most specific preferences.</p>
      <p>
        The specificity principle we use in this paper was also considered in [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ], although on a
preference model using strict rather than weak preferences and in a diferent scenario regarding
preferences combined across diferent 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 diferent schemas, which is the main focus of the present
paper, was not addressed at all in [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ].
      </p>
      <p>
        The interplay between specificity and transitivity is studied in depth in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        Propagation of preferences in OLAP systems is considered in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], where an algebraic
language 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 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], 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 diferent t-schemas,
transitivity cannot be guaranteed and a transitive closure is needed. However, enforcing
transitivity might lead to cycles, which are harmless in our model but cannot occur in strict partial
orders.
      </p>
      <p>Future work includes the study of eficient 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.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rokach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Shapira</surname>
          </string-name>
          ,
          <article-title>Introduction to recommender systems handbook</article-title>
          ,
          <source>in: Recommender Systems Handbook</source>
          , Springer,
          <year>2011</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>35</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Chomicki</surname>
          </string-name>
          ,
          <article-title>Preference formulas in relational queries</article-title>
          ,
          <source>TODS</source>
          <volume>28</volume>
          (
          <year>2003</year>
          )
          <fpage>427</fpage>
          -
          <lpage>466</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K.</given-names>
            <surname>Stefanidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Koutrika</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Pitoura</surname>
          </string-name>
          ,
          <article-title>A survey on representation, composition and application of preferences in database systems</article-title>
          ,
          <source>TODS</source>
          <volume>36</volume>
          (
          <year>2011</year>
          )
          <volume>19</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>19</lpage>
          :
          <fpage>45</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ciaccia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Martinenghi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Torlone</surname>
          </string-name>
          ,
          <article-title>Finding preferred objects with taxonomies</article-title>
          ,
          <source>in: ER</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>397</fpage>
          -
          <lpage>411</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.</given-names>
            <surname>Martinenghi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Torlone</surname>
          </string-name>
          ,
          <article-title>Querying databases with taxonomies</article-title>
          ,
          <source>in: ER</source>
          ,
          <year>2010</year>
          , pp.
          <fpage>377</fpage>
          -
          <lpage>390</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>D.</given-names>
            <surname>Martinenghi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Torlone</surname>
          </string-name>
          ,
          <article-title>Taxonomy-based relaxation of query answering in relational databases</article-title>
          ,
          <source>VLDB J</source>
          .
          <volume>23</volume>
          (
          <year>2014</year>
          )
          <fpage>747</fpage>
          -
          <lpage>769</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>R.</given-names>
            <surname>Torlone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ciaccia</surname>
          </string-name>
          ,
          <article-title>Which are my preferred items?</article-title>
          ,
          <source>in: RPEC</source>
          ,
          <year>2002</year>
          , pp.
          <fpage>217</fpage>
          -
          <lpage>225</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>C. Y.</given-names>
            <surname>Chan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. V.</given-names>
            <surname>Jagadish</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Tan</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. K. H. Tung</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          <string-name>
            <surname>Zhang</surname>
          </string-name>
          ,
          <article-title>Finding k-dominant skylines in high dimensional space</article-title>
          ,
          <source>in: SIGMOD</source>
          ,
          <year>2006</year>
          , pp.
          <fpage>503</fpage>
          -
          <lpage>514</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Börzsönyi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kossmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Stocker</surname>
          </string-name>
          ,
          <article-title>The skyline operator</article-title>
          ,
          <source>in: ICDE</source>
          ,
          <year>2001</year>
          , pp.
          <fpage>421</fpage>
          -
          <lpage>430</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ciaccia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Martinenghi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Torlone</surname>
          </string-name>
          ,
          <article-title>Foundations of context-aware preference propagation</article-title>
          ,
          <source>J. ACM</source>
          <volume>67</volume>
          (
          <year>2020</year>
          ) 4:
          <fpage>1</fpage>
          -
          <lpage>4</lpage>
          :
          <fpage>43</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ciaccia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Torlone</surname>
          </string-name>
          ,
          <article-title>Modeling the propagation of user preferences</article-title>
          ,
          <source>in: ER</source>
          ,
          <year>2011</year>
          , pp.
          <fpage>304</fpage>
          -
          <lpage>317</lpage>
          . Best paper award.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ciaccia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Martinenghi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Torlone</surname>
          </string-name>
          ,
          <article-title>Preference queries over taxonomic domains</article-title>
          ,
          <source>Proceedings of the VLDB Endowment</source>
          (
          <year>2021</year>
          ) to appear.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Golfarelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rizzi</surname>
          </string-name>
          , P. Biondi,
          <article-title>myOLAP: An approach to express and evaluate OLAP preferences</article-title>
          ,
          <source>TKDE</source>
          <volume>23</volume>
          (
          <year>2011</year>
          )
          <fpage>1050</fpage>
          -
          <lpage>1064</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>