Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

During the recent years, several revolutionary changes have been taking place in the classical Web. First, the so-called Web of Data is increasingly being realized as a special case of the Semantic Web. Second, as part of the Social Web, users are acting more and more as first-class citizens in the creation and delivery of contents on the Web. The combination of these two technological waves is called the Social Semantic Web (or also Web 3.0), where the classical Web of interlinked documents is gradually turning into (i) semantic data and tags constrained by ontologies, and (ii) social data, such as connections, interactions, reviews, and tags. The Web is thus shifting away from data on linked Web pages and towards more semantic and social data. This requires new technologies for search and query answering, where the ranking of search results is no longer solely based on the link structure between Web pages, but rather on the information available in the Social Semantic Web—in particular, the underlying ontological knowledge and the preferences of the users. Given a query, the latter play a fundamental role when a crisp yes/no answer is not enough to satisfy a user’s needs, as there might be a certain degree of uncertainty in the possible answers [14].

There exist two main ways of modeling preferences: (a) quantitative preferences are associated with a number (or a quantity) representing their worth (e.g., “my preference for wi-fi connection is 0.8” and “my preference for cable connection is 0.4”), while (b) qualitative preferences are related to each other via pairwise comparisons (e.g., “I prefer wi-fi over cable connection”). The two approaches can also be combined (see, e.g., [24]). In many applications in practice, it is more natural to use a qualitative approach, as humans are not always comfortable or capable of expressing their preferences via a meaningful numerical value. To have a quantitative representation of her preferences, the user needs to explicitly determine a value for a large number of alternatives, usually described by more than one attribute. It is generally much easier to provide information about preferences as pairwise qualitative comparisons [14]. One of the most powerful qualitative preference formalisms are perhaps CP-nets [5], which are described in a graphical way and unifies an easy representation of user desires with nice computational properties when computing the best outcome.

Previous work on CP-nets, and more generally on preference representation approaches, mainly deals with a propositional representation of preferences. In this paper, we propose an enhancement of CP-nets by adding ontological information associated with preferences. We especially aim at using the resulting ontology-based partial strict orders in personalized semantic search on the Social Web. This is a first step towards a new type of ranking technologies, which are based on ontological and personalized information, and which go beyond PageRank and similar rankings. They will exploit ontological background knowledge as well as social information (e.g., from social networks and other platforms) and model them as semantic-enabled user preferences.

The main contributions of this paper can be briefly summarized as follows.

  • We introduce ontological CP-nets, which combine CP-nets with description logics (DLs) so that variable values (which can be non-Boolean) correspond to DL concepts relative to an underlying domain TBox. We define the notions of feasible outcomes, dominance between such outcomes, and consistency in this context.

  • We define the semantics of ontological CP-nets by a reduction to the notion of constrained CP-nets, which allows the problem of finding optimal outcomes in ontological CP-nets to be reduced to a constraint satisfaction problem.

  • We study the complexity of the main reasoning problems for ontological CP-nets, namely consistency checking, whether a given outcome is undominated, and dominance testing, in relation to both the complexity of checking satisfiability of the underlying ontological language and the structure of the CP-net:

    • For tractable ontology languages, we show that the complexity is determined by that of CP-nets; i.e., the problems are complete for PSPACE.

    • For EXP- (resp., NEXP-) complete ontology languages, the complexity of these problems is dominated by the complexity of the ontology language.

    • Finally, if the CP-net is a polytree, and the ontology language is tractable, we show that dominance can be decided in polynomial time.

The rest of this paper is organized as follows. In Sect. 2, we briefly recall the background on description logics (DLs) and on CP-nets. Section 3 introduces ontological CP-nets, i.e., CP-nets enriched with ontological descriptions, while Sect. 4 describes how to compute optimal outcomes of ontological CP-nets. In Sects. 5 and 6, we provide complexity results and discuss related work, respectively. Finally, we give a summary of the results presented in this paper and an outlook on future work.

2 Preliminaries

In this section, we briefly recall from the literature the basics of description logics (DLs) and of CP-nets (a graphical representation for conditional preferences), which both form the main components of the formalism that we present in this paper.

2.1 Description Logics

Intuitively, description logics (DLs) [1] model a domain of interest in terms of concepts and roles, which represent classes of individuals and binary relations on classes of individuals, respectively. A DL knowledge base (or ontology) encodes in particular (i) subsumption relationships between concepts, (ii) subsumption relationships between roles, (iii) instance relationships between individuals and concepts, and (iv) instance relationships between pairs of individuals and roles, which represent (i) subset relationships between classes of individuals, (ii) subset relationships between binary relations on classes of individuals, (iii) the membership of individuals to classes, and (iv) the membership of pairs of individuals to binary relations on classes, respectively. There are many different DLs of different expressiveness [1]. In this section, we recall the DLs \(\mathcal {SHIF}(\mathbf {D})\) and \(\mathcal {SHOIN}(\mathbf {D})\), which stand behind the web ontology languages OWL Lite and OWL DL [18], respectively. Note, however, that the approach in this paper does not depend on a specific DL and may, e.g., also be applied to the very expressive \(\mathcal {SROIQ}(D)\), which is the logic language behind OWL 2 [30].

Syntax. We now recall the syntax of \(\mathcal {SHIF}(\mathbf {D})\) and \(\mathcal {SHOIN}(\mathbf {D})\). We first describe the syntax of the latter, which has the following datatypes and elementary components. We assume a set of elementary datatypes and a set of data values. A datatype is an elementary datatype or a set of data values (called datatype oneOf). A datatype theory \(\mathbf {D}{\,{=}\,}(\varDelta ^\mathbf {D},{\cdot \,}^\mathbf {D})\) consists of a datatype domain \(\varDelta ^\mathbf {D}\) and a mapping \({\cdot \,}^\mathbf {D}\) that assigns to each elementary datatype a subset of \(\varDelta ^\mathbf {D}\) and to each data value an element of \(\varDelta ^\mathbf {D}\). We extend\({\cdot \,}^\mathbf {D}\) to all datatypes by \(\{v_1,\ldots \}^\mathbf {D}{\,{=}\,}\{v_1^\mathbf {D},\ldots \}\). Let \(\mathbf {A}\), \(\mathbf {R}_A\), \(\mathbf {R}_D\), and \(\mathbf {I}\) be pairwise disjoint sets of atomic concepts, abstract roles, datatype roles, and individuals, respectively. We denote by \(\mathbf {R}_A^-\) the set of inverses \(R^-\) of all \(R{\,{\in }\,}\mathbf {R}_A\).

Roles and concepts are defined as follows. A role is any element of \(\mathbf {R}_A\,{\cup }\,\mathbf {R}_A^- \,{\cup }\,\mathbf {R}_D\). Concepts are inductively defined as follows. Each \(\phi {\,{\in }\,}\mathbf {A}\) is a concept, and if \(o_1,\ldots ,\) \(o_n{\,{\in }\,}\mathbf {I}\), then \(\{o_1,\ldots ,~o_n\}\) is a concept (called oneOf). If \(\phi \), \(\phi _1\), and \(\phi _2\) are concepts and if \(R{\,{\in }\,}\mathbf {R}_A\,{\cup }\,\mathbf {R}_A^-\), then also \(\lnot \phi \), \((\phi _1\sqcap \phi _2)\), and \((\phi _1\sqcup \phi _2)\) are concepts (called negation, conjunction, and disjunction, respectively), as well as \(\exists R.\phi \), \(\forall R.\phi \), \({\geqslant } n R\), and \({\leqslant } n R\) (called existential, value, atleast, and atmost restriction, respectively) for an integer \(n\,{\geqslant }\,0\). Note that for decidability reasons, number restrictions will be restricted to simple abstract roles (see below). If \(D\) is a datatype and \(U{\,{\in }\,}\mathbf {R}_D\), then \(\exists U.D\), \(\forall U.D\), \({\geqslant } n U\), and \({\leqslant } n U\) are concepts (called datatype existential, value, atleast, and atmost restriction, respectively) for an integer \(n\,{\geqslant }\,0\). We use \(\top \) (resp., \(\bot \)) to abbreviate the top (resp., bottom) concept \(\phi {\sqcup } \lnot \phi \) (resp., \(\phi {\sqcap } \lnot \phi \)). Furthermore, we write \(\exists R\) to abbreviate \(\exists R.\top \), and we eliminate parentheses as usual.

We next define axioms and knowledge bases. An axiom is an expression of one of the following forms: (1) \(\phi \,{\sqsubseteq }\,\psi \) (called concept inclusion axiom), where \(\phi \) and \(\psi \) are concepts; (2) \(R\,{\sqsubseteq }\,S\) (called role inclusion axiom), where either \(R,S{\,{\in }\,}\mathbf {R}_A\,{\cup }\,\mathbf {R}_A^-\) or \(R,S{\,{\in }\,}\mathbf {R}_D\); (3) \(\mathrm{Trans}(R)\) (called transitivity axiom), where \(R{\,{\in }\,}\mathbf {R}_A\); (4) \(\phi (a)\) (called concept membership axiom), where \(\phi \) is a concept and \(a{\,{\in }\,}\mathbf {I}\); (5) \(R(a,b)\) (resp., \(U(a,v)\)) (called role membership axiom), where \(R{\,{\in }\,}\mathbf {R}_A\) (resp., \(U{\,{\in }\,}\mathbf {R}_D\)) and \(a,b{\,{\in }\,}\mathbf {I}\) (resp., \(a{\,{\in }\,}\mathbf {I}\) and \(v\) is a data value); and (6) \(a{\,{=}\,}b\) (resp., \(a\,{\ne }\,b\)) (equality (resp., inequality) axiom), where \(a,b{\,{\in }\,}\mathbf {I}\). Two axioms \(\phi \,{\sqsubseteq }\,\psi \) and \(\psi \,{\sqsubseteq }\,\phi \) of the form (1) are also abbreviated as \(\phi \equiv \psi \) (called definition axiom). Note that such axioms can be used to define a new atomic concept \(\phi \) used as synonym of a concept \(\psi \). A TBox \(\mathcal {T} \) is a finite set of axioms of the form (1), (2), (3), and (6), while an ABox \(\mathcal {A}\) is a finite set of axioms of the form (4) and (5). A knowledge base (or ontology) \({ KB}\) is a finite set of axioms (1)–(6).

We next define simple abstract roles. For abstract roles \(R{\,{\in }\,}\mathbf {R}_A\), we define \(\mathrm{Inv}(R)= R^-\) and \(\mathrm{Inv}(R^-){\,{=}\,}R\). Let \(\sqsubseteq ^\star _{ K\!B}\) denote the reflexive and transitive closure of \(\sqsubseteq \) on \(\bigcup \{\{R\,{\sqsubseteq }\,S,\mathrm{Inv}(R)\,{\sqsubseteq }\,\mathrm{Inv}(S)\}\,{\mid }\,R\,{\sqsubseteq }\,S{\,{\in }\,}{ K\!B},\,R,S{\,{\in }\,}\mathbf {R}_A\,{\cup }\,\mathbf {R}_A^- \}\). An abstract role \(S\) is simple relative to \({ K\!B}\) iff for each abstract role \(R\) such that \(R\,{\sqsubseteq ^\star _{ K\!B}}\, S\), it holds that (i) \(\mathrm{Trans}(R)\,{\not \in }\,{ K\!B}\) and (ii) \(\mathrm{Trans}(\mathrm{Inv}(R))\,{\not \in }\,{ K\!B}\). Informally, an abstract role \(S\) is simple iff it is neither transitive nor has transitive subroles. For decidability, number restrictions in \({ K\!B}\) are restricted to simple abstract roles [19].

In \(\mathcal{SHOIN}(\mathbf {D})\), concept and role membership axioms can also be expressed in terms of concept inclusion axioms, since \(\phi (a)\) can be expressed by \(\{a\}\,{\sqsubseteq }\,\phi \), while \(R(a,b)\) (resp., \(U(a,v)\)) can be expressed by \(\{a\}\,{\sqsubseteq }\,\exists R.\{b\}\) (resp., \(\{a\}\,{\sqsubseteq }\,\exists U.\{v\}\)).

The syntax of \(\mathcal{SHIF}(\mathbf {D})\) is as the above syntax of \(\mathcal{SHOIN}(\mathbf {D})\), but without the oneOf constructor and with the atleast and atmost constructors limited to \(0\) and \(1\).

Example 1

(Conference Organization). A simple TBox \(\mathcal {T} _{conf}\) may describe a conference organization website and consist of the following axioms:

figure a

Roughly speaking, the above axioms describe that hotels have either new or old buildings, and they have either small, medium, or large rooms. In turn, rooms have associated features such as wi-fi, video conference, etc.; if a room has wi-fi, then one can use the wi-fi connection for video conferences. Finally, rooms have associated stay packages; there are two types of packages; luxury packages in general (though not always) provide features that standard packages do not, for instance wi-fi connection.   \(\blacksquare \)

Semantics. We now define the semantics of \(\mathcal{SHIF}(\mathbf {D})\) and \(\mathcal{SHOIN}(\mathbf {D})\) in terms of general first-order interpretations, as usual. An interpretation \(\mathcal {I}{\,{=}\,}(\varDelta ^\mathcal{I},{\cdot \,}^\mathcal{I})\) relative to a datatype theory \(\mathbf {D}{\,{=}\,}(\varDelta ^\mathbf {D},{\cdot \,}^\mathbf {D})\) consists of a nonempty (abstract) domain \(\varDelta ^\mathcal{I}\) disjoint from \(\varDelta ^\mathbf {D}\), and a mapping \({\cdot \,}^\mathcal{I}\) that assigns to each atomic concept \(\phi {\,{\in }\,}\mathbf {A}\) a subset of \(\varDelta ^\mathcal{I}\), to each individual \(o{\,{\in }\,}\mathbf {I}\) an element of \(\varDelta ^\mathcal{I}\), to each abstract role \(R{\,{\in }\,}\mathbf {R}_A\) a subset of \(\varDelta ^\mathcal{I}{\,\times \,}\varDelta ^\mathcal{I}\), and to each datatype role \(U{\,{\in }\,}\mathbf {R}_D\) a subset of \(\varDelta ^\mathcal{I}\,{\times }\,\varDelta ^\mathbf {D}\). We extend \({\cdot \,}^\mathcal{I}\) to all roles and concepts as usual (where \(\# S\) denotes the cardinality of a set \(S\)):

  • \((R^-)^\mathcal{I}=\{(y,x)\,{\mid }\,(x,y){\,{\in }\,}R^\mathcal{I}\}\);

  • \(\{o_1,\ldots ,o_n\}^\mathcal{I}{\,{=}\,}\{o_1^\mathcal{I},\ldots ,o_n^\mathcal{I}\}\); \((\lnot \phi )^\mathcal{I}=\varDelta ^\mathcal{I}{\setminus }\phi ^\mathcal{I}\);

  • \((\phi _1\sqcap \phi _2)^\mathcal{I}=\phi _1^\mathcal{I}\cap \phi _2^\mathcal{I}\); \((\phi _1\sqcup \phi _2)^\mathcal{I}=\phi _1^\mathcal{I}\cup \phi _2^\mathcal{I}\);

  • \((\exists R.\phi )^\mathcal{I}=\{x{\,{\in }\,}\varDelta ^\mathcal{I}\mid \exists y:(x,y){\,{\in }\,}R^\mathcal{I}\wedge y{\,{\in }\,}\phi ^\mathcal{I}\}\);

  • \((\forall R.\phi )^\mathcal{I}=\{x{\,{\in }\,}\varDelta ^\mathcal{I}\mid \forall y:(x,y){\,{\in }\,}R^\mathcal{I}\rightarrow y{\,{\in }\,}\phi ^\mathcal{I}\}\);

  • \(({\geqslant } n R)^\mathcal{I}=\{x{\,{\in }\,}\varDelta ^\mathcal{I}\mid \# (\{y\mid (x,y){\,{\in }\,}R^\mathcal{I}\})\geqslant n\}\);

  • \(({\leqslant }n R)^\mathcal{I}=\{x{\,{\in }\,}\varDelta ^\mathcal{I}\mid \# (\{y\mid (x,y){\,{\in }\,}R^\mathcal{I}\})\leqslant n\}\);

  • \((\exists U.D)^\mathcal{I}=\{x{\,{\in }\,}\varDelta ^\mathcal{I}\mid \exists y:(x,y){\,{\in }\,}U^\mathcal{I}\wedge y{\,{\in }\,}D^\mathbf {D}\}\);

  • \((\forall U.D)^\mathcal{I}=\{x{\,{\in }\,}\varDelta ^\mathcal{I}\mid \forall y:(x,y){\,{\in }\,}U^\mathcal{I}\rightarrow y{\,{\in }\,}D^\mathbf {D}\}\);

  • \(({\geqslant }n U)^\mathcal{I}=\{x{\,{\in }\,}\varDelta ^\mathcal{I}\mid \# (\{y\mid (x,y){\,{\in }\,}U^\mathcal{I}\})\geqslant n\}\);

  • \(({\leqslant }n U)^\mathcal{I}=\{x{\,{\in }\,}\varDelta ^\mathcal{I}\mid \# (\{y\mid (x,y){\,{\in }\,}U^\mathcal{I}\})\leqslant n\}\).

The satisfaction of an axiom \(F\) in an interpretation \(\mathcal {I}{\,{=}\,}(\varDelta ^\mathcal{I},{\cdot \,}^\mathcal{I})\) relative to a datatype theory \(\mathbf {D}{\,{=}\,}(\varDelta ^\mathbf {D},{\cdot \,}^\mathbf {D})\), denoted \(\mathcal{I}\,{\models }\,F\), is defined as follows: (1) \(\mathcal{I}\,{\models }\,\phi \,{\sqsubseteq }\,\psi \) iff \(\phi ^\mathcal{I}\subseteq \psi ^\mathcal{I}\); (2) \(\mathcal{I}\,{\models }\,R\,{\sqsubseteq }\,S\) iff \(R^\mathcal{I}\,{\subseteq }\,S^\mathcal{I}\); (3) \(\mathcal{I}\,{\models }\,\mathrm{Trans}(R)\) iff \(R^\mathcal{I}\) is transitive; (4) \(\mathcal{I}\,{\models }\,\phi (a)\) iff \(a^\mathcal{I}{\,{\in }\,}\phi ^\mathcal{I}\); (5) \(\mathcal{I}\,{\models }\,R(a,b)\) iff \((a^\mathcal{I},b^\mathcal{I})\in R^\mathcal{I}\); (6) \(\mathcal{I}\,{\models }\,U(a,v)\) iff \((a^\mathcal{I},v^\mathbf {D})\in U^\mathcal{I}\); (7) \(\mathcal{I}\,{\models }\,a{\,{=}\,}b\) iff \(a^\mathcal{I}{\,{=}\,}b^\mathcal{I}\); and (8) \(\mathcal{I}\,{\models }\,a\,{\ne }\,b\) iff \(a^\mathcal{I}\,{\ne }\,b^\mathcal{I}\). The interpretation \(\mathcal {I}\) satisfies the axiom \(F\), or \(\mathcal {I}\) is a model of \(F\), iff \(\mathcal{I}\,{\models }\,F\). We say that \(\mathcal {I}\) satisfies a knowledge base \( KB \), or \(\mathcal {I}\) is a model of \( KB \), denoted \(\mathcal {I}\,{\models }\, KB \), iff \(\mathcal {I}\,{\models }\,F\) for all \(F{\,{\in }\,} KB \). We say that \( KB \) is satisfiable (resp., unsatisfiable) iff \( KB \) has a (resp., no) model. An axiom \(F\) is a logical consequence of \( KB \), denoted \( KB \,{\models }\,F\), iff each model of \( KB \) satisfies \(F\). We say that \(\phi \) is subsumed (resp., not subsumed) by \(\psi \) relative to \( KB \), denoted \(\phi \sqsubseteq _ KB \psi \) (resp., \(\phi \not \sqsubseteq _ KB \psi \)), iff \( KB \models \phi \sqsubseteq \psi \) (resp., \( KB \not \models \phi \sqsubseteq \psi \)). We say that \(\phi \) is unsatisfiable (resp., satisfiable) relative to \( KB \), denoted \(\phi \sqsubseteq _ KB \bot \) (resp., \(\phi \not \sqsubseteq _ KB \bot \)), iff \( KB \models \phi \sqsubseteq \bot \) (resp., \( KB \not \models \phi \sqsubseteq \bot \)).

2.2 CP-Nets

CP-nets [5] are a widespread formalism to represent and reason with qualitative preferences. More specifically, they are a graphical representation for conditional ceteris paribus (all else being equal) preference statements, which allows the specification of preferences based on the notion of conditional preferential independence (CPI) [20].

We assume a finite set of variables \(\mathbf{V} \), where each variable \(X^i{\,{\in }\,}\mathbf{V} \) has a finite domain of values, denoted \(Dom(X^i)\). A value for a set of variables \(\mathbf {X}=\{X^1,\ldots {},X^n\}\subseteq \mathbf{V} \) is a mapping \(\mathbf {x}:\mathbf {X}\rightarrow \bigcup _{i=1}^n Dom(X^i)\) such that \(\mathbf {x}(X^i)\in Dom(X^i)\) for all \(i\in \{1,\ldots ,n\}\); the domain of \(\mathbf {X}\), denoted \(Dom(\mathbf {X})\), is the set of all values for \(\mathbf {X}\). If x and y are values for disjoints sets of variable \(\mathbf{X},\mathbf{Y} \subseteq \mathbf{V} \), then xy denotes the combination of x and y. A preference relation \(\succ \) is a strict partial order (an irreflexive and transitive binary relation). We write \(o_1 \succeq o_2\) iff either \(o_1 \succ o_2\) or \(o_1 = o_2\). We say that \({o_1}\) is strictly preferred (resp., strictly or equally preferred) to \({o_2}\) iff \({o_1} \succ {o_2}\) (resp., \({o_1} \succeq {o_2}\)). We say that \({o_2}\) is dominated by \({o_1}\) iff \(o_1 \succ o_2\), and that \(o_2\) is directly dominated by \(o_1\), denoted \(o_1\succ _d o_2 \) iff (i) \(o_2\) is dominated by \(o_1\), and (ii) no \(o\) exists such that \(o_1 \succ o\) and \(o \succ o_2\). We say that \({o_1}\) is undominated iff no \({o}\) exists with \({o}\succ {o_1}\).

A CP-net \(\mathcal {N}\) over \(\mathbf{V} \) consists of a directed graph \(G{\,{=}\,}(\mathbf{V},E)\), where the nodes are variables in \(\mathbf{V} \) and if there is a directed edge \((X^{j}, X^{i}) \in E\), this shows that the preferences over values of \(X^{i}\) is influenced by the values of \(X^{j}\). Each node \(X^i \in \mathbf{V} \) has an annotated conditional preference table (CPT), denoted \(CPT(X^i)\), which associates a total (or partial) order \(\succ ^{i}_\mathbf{u}\) over the values of \(X^i\) with each value \(\mathbf{u}\) of \(X^i\)’s parents in \(G\), denoted \(Pa(X^i)\). Intuitively, given a particular value assignment to \(Pa(X^i)\), one is able to determine a preference order for the values of \(X^i\), all other things being equal.

An outcome of \(\mathcal {N}\) is a value \(\mathbf {o}\in Dom(\mathbf{V})\). A preference relation \(\succ \) on the set of all outcomes of \(\mathcal {N}\) is defined via the notion of worsening flip, which informally combines the preference relations on the values of the variables of \(\mathcal {N}\) (as encoded by their CPTs) to a preference relation on the outcomes of \(\mathcal {N}\). More specifically, given two outcomes \(\mathbf {o}\) and \(\mathbf {o'}\) of \(\mathcal {N}\), it holds \(\mathbf {o}\succ _{wf} \mathbf {o'}\) in \(\mathcal {N}\) iff (i) there exist a variable \(X^i{\,{\in }\,}\mathbf{V} \), values \(x,x'{\,{\in }\,}Dom(X^i)\), and a value \(\mathbf {u}{\,{\in }\,}Dom(Pa(X^i))\) such that (i) \(\mathbf {o}(X^i){\,{=}\,}x\), (ii) \(\mathbf {o'}(X^i){\,{=}\,}x'\), (iii) \(\mathbf {o}(X^j){\,{=}\,}\mathbf {o'}(X^j)\) for all \(X^j {\,{\in }\,}\mathbf{V} {\setminus }\{X^i\}\), (iv) \(\mathbf {o}({Pa(X^i)})=\mathbf{u}\), and (v) \(x\succ ^{i}_\mathbf{u}x'\); here, the single change from \(x\) to \(x'\), moving from \(\mathbf {o}\) to \(\mathbf {o'}\), is called a worsening flip. The preference relation \(\succ \) is then defined as the transitive closure of \(\succ _{wf}\). Intuitively, \(\mathbf {o } \succ \mathbf { o'}\) iff there exists a sequence of worsening flips from \(\mathbf {o}\) to \(\mathbf {o'}\).

CP-net actually assumes that its directed graph encodes conditional preferential independences (CPIs). In detail, let \(\mathbf{X}\), \(\mathbf{Y}\), and \(\mathbf{Z}\) partition \(\mathbf{V}\), and let \(\succ \) be a preference relation over \(Dom(\mathbf{V})\). Then, \(\mathbf{X}\)  is conditionally preferentially independent of \(\mathbf{Y}\) given \(\mathbf{Z}\) iff for all \(\mathbf{x}, \mathbf{x'}{\,{\in }\,}Dom(\mathbf{X})\), \(\mathbf{y}, \mathbf{y'}{\,{\in }\,}Dom(\mathbf{Y})\), \(\mathbf{z} {\,{\in }\,}Dom(\mathbf{Z})\), we have that \(\mathbf{xyz} \succ \mathbf{x'yz}\) iff \(\mathbf{xy'z} \succ \mathbf{x'y'z}\). Hence, every variable in a CP-net, given its parents, is conditionally preferentially independent of all the other variables in the CP-net.

Fig. 1.
figure 1

CP-net for Example 2

Example 2

A CP-net with five variables \(R\), \(W\), \(B\), \(C\), and \(P\) that expresses the preferences over different features of hotels is shown in Fig. 1. The variables have the domains \(\{r_s, r_m, r_l\} \), \(\{w_y, w_n\} \), \(\{b_o, b_n\} \), \(\{c_y,c_n\} \), and \(\{p_s,p_l\} \), respectively. This CP-net tells us that large rooms (\(r_l\)) are preferred to medium rooms (\(r_m\)), which in turn are preferred to small rooms (\(r_s\)). If only small rooms are available then a hotel in an old building is preferred to one in a new building (perhaps for historical reasons). A hotel that has a wi-fi connection (\(w_y\)) is preferred to one that does not (\(w_n\)). Furthermore, a hotel that facilitates video conferences (\(c_y\)) is preferred to one that does not (\(c_n\)). If the hotel is a new building, and the rooms facilitate video conferences, then the luxury package (\(p_l\)) is preferred to the standard package, otherwise the standard package is preferred (\(p_s\)). Here, we have a worsening flip moving from \(\mathbf {o_1} = r_l~w_y~b_n~c_y~p_l\) to \(\mathbf {o_2} = r_l~w_y~b_o~c_y~p_l\), since \(b_n\) is preferred to \(b_o\), given \(r_l\). Similarly, we have a worsening flip from \(\mathbf {o_2}\) to \(\mathbf {o_3} = r_l~w_n~b_o~c_y~p_l\). Hence, \(\mathbf {o_1} \succ \mathbf {o_2}\), \(\mathbf {o_2} \succ \mathbf {o_3}\), and \(\mathbf {o_1} \succ \mathbf {o_3}\). Given the room size, the building type is conditionally preferentially independent of all the other variables.    \(\blacksquare \)

The following are the two main computational tasks for CP-nets:

  • Dominance query: given a CP-net \(\mathcal {N}\) and two outcomes \(o_1\) and \(o_2\) of \(\mathcal {N}\), decide whether \(o_1 \succ o_2\) holds in \(\mathcal {N}\).

  • Outcome optimization: given a CP-net \(\mathcal {N}\), compute an undominated outcome of \(\mathcal {N}\).

Acyclic CP-nets (i.e., the associated directed graph does not have any directed cycles) with total orders in their conditional preference tables have only one undominated outcome, which can be computed in linear time [4]. The algorithm just follows the order among the variables that is represented by the directed graph and assigns values to the variables \(A_i\) from top to bottom, satisfying the preference relations in the CPTs corresponding to the variables. For arbitrary CP-nets, deciding dominance queries are PSPACE-complete [16], and computing an optimal outcome is NP-hard [12].

2.3 Constrained CP-Nets

In constrained CP-nets [6, 26], constraints among variables are added to the basic formalism of CP-nets, which may reduce the set of possible outcomes. The approach in [26] to finding all optimal outcomes of a CP-net (if some exist) relies on a reduction of the preferences represented in the CP-net to a set of hard constraints taking into account the variables occurring in the preferences. Given a CP-net \(\mathcal {N}\) and a set of constraints \(\mathcal {C} \), an outcome \(o\) is feasible iff it satisfies all the constraints in \(\mathcal {C}\). A feasible outcome is Pareto-optimal iff it is undominated [6]. In [13], the authors present an approach to finding the Pareto-optimal outcomes by solving a constraint satisfaction problem in the presence of soft and hard constraints. Here, we focus only on the latter. For every variable \(A\) and every instantiation \(\gamma \) of its parents in \(\mathcal {N}\), the conditional preferences for \(Dom(A) \) encoded in \(\mathcal {N}\) yield an optimality constraint. The undominated outcomes of \((\mathcal {N},\mathcal {C})\) are then exactly the solutions of the conjunction of all optimality constraints. For example, consider a variable \(A\) in \(\mathcal {N}\) with domain \(Dom(A) = \{a_1,\ldots ,a_m\} \) and an instantiation \(\gamma \) of its parents in \(\mathcal {N}\). If the conditional preferences encoded in \(\mathcal {N}\) are a total order over the values in \(Dom(A) \), i.e., \(a_1\succ a_2\succ \cdots \succ a_m\), which means that \(a_1\) is undominated relative to all other \(a_i\), then the optimality constraint is given by \(\gamma \rightarrow a_1\). In the most general case, where we have more than one undominated value, the optimality constraint is given by:

$$\begin{aligned} \gamma \rightarrow \mathop {\bigvee }\nolimits _{a_i \in undom (A|\gamma )} a_i,\end{aligned}$$
(1)

where \( undom (A|\gamma )\) denotes the set of all undominated values of \(A\) under \(\gamma \). In the following, we consider only the case with one undominated value, i.e., \(| undom (A|\gamma )| = 1\). The approach can be extended to the general case in a straightforward way.

3 Ontological CP-Nets

We now introduce an approach to ontological CP-net-based preference representation, which combines CP-nets and DLs, harnessing the technologies described in the previous section. Intuitively, the main idea behind this approach is to use certain satisfiable concepts relative to an underlying TBox as values of the variables of a CP-net. More precisely, the values are taken from a finite nonempty set \(\mathcal {C}\) of basic classification concepts (or basic c-concepts for short), which are (not necessarily atomic) concepts \(C\) in \(\mathcal {SHIF}(\mathbf{D})\) (resp., \(\mathcal {SHOIN}(\mathbf{D})\)) that are free of individuals from \(\mathbf {I}\).

Definition 1

(ontological CP-net). Let \(\mathbf{V} \) be a finite set of variables. An ontological CP-net \(( \mathcal {N},\mathcal {T}) \) over \(\mathbf{V} \) consists of a CP-net \(\mathcal {N}\) over \(\mathbf{V} \) and a TBox \(\mathcal {T}\) such that the domain of each variable \(A \in \mathbf{V} \) is of the form \(Dom(A) = \{\alpha _1,\ldots , \alpha _{m}\} \), where:

  1. 1.

    every \(\alpha _i\), \(i{\,{\in }\,}\{1,\ldots ,m\}\), is a concept from \(\mathcal {C}\) that is satisfiable relative to \(\mathcal {T}\) ,

  2. 2.

    \(\mathcal {T} {}\models \alpha _i\sqcap \alpha _{j}\sqsubseteq \bot \) for all \(i,j{\,{\in }\,}\{1,\ldots ,m\}\) with \(i < j\), and

  3. 3.

    \(\mathcal {T} {}\models \top \sqsubseteq \alpha _i\sqcup \cdots \sqcup \alpha _{m}\).

The following example illustrates the above notion of ontological CP-net.

Example 3

(Conference Organization cont’d). An ontological CP-net \(( \mathcal {N},\mathcal {T}) \) over \(\mathbf{V} \) is given by the TBox \(\mathcal {T} \) from Example 1 and the CP-net \(\mathcal {N}\) over \(\mathbf{V} \) from Example 2, where the values of the variables are now defined as the following DL concepts:

$$\begin{aligned} r_s&= \exists \textit{hasRoom.Small};\ r_m=\exists \textit{hasRoom.Medium};\\ r_l&= \exists \textit{hasRoom.Large};\\ w_y&= \exists \textit{hasRoom}.(\exists \textit{hasFeature.Wifi}); w_n=\lnot w_y;\\ b_o&= \exists \textit{hasBuilding.Old}; b_n=\exists \textit{hasBuilding.New};\\ c_y&= \exists \textit{hasRoom}.(\exists \textit{hasFeature.VideoConference}); c_n=\lnot c_y;\\ p_l&= \exists \textit{hasRoom}.(\exists \textit{hasRoomPack}.\textit{LuxuryPackage});\\ p_s&= \exists \textit{hasRoom}.(\exists \textit{hasRoomPack}.\textit{StandardPackage}).\\ \end{aligned}$$

   \(\blacksquare \)

Observe here that even if we do not have any explicit hard constraint expressed among the values of the variables of the CP-net, due to their logical structure and the underlying TBox, we have a set of implicit constraints among these values. We will show in Sect. 4.2 below how to explicitly encode these constraints. Hence, due to these constraints among the values of the variables of the CP-net, some outcomes are infeasible, where outcomes are values \(o\) of the set \(\mathbf{V} \) of all variables of the CP-net. The following definition formally introduces feasible outcomes and undominated feasible outcomes (which are not dominated by any other feasible outcome) as well as the consistency of CP-nets as the existence of at least one undominated feasible outcome.

Definition 2

(feasible outcome, dominance, and consistency). Given an ontological CP-net \((\mathcal {N}\!,\mathcal {T})\) over \(\mathbf{V} \), an outcome \(o{\,{\in }\,}Dom(\mathbf{V})\) is feasible iff \(\sqcap o(\mathbf{V})\) (\({=}\,\sqcap _{A\in \mathbf{V}} o(A)\)) is satisfiable relative to \(\mathcal {T} \). A feasible outcome \(o\) is undominated iff no feasible outcome \(o'\) exists such that \(o' \succ o\). We say that \((\mathcal {N},\mathcal {T})\) is consistent iff it has a feasible outcome.

The following example briefly illustrates the above notions of feasible outcomes, undominated feasible outcomes, and consistent CP-nets.

Example 4

(Conference Organization cont’d). Reconsider the ontological CP-net of the running example. The outcome \(r_l~b_n~w_y~c_y~p_l\) is feasible and undominated, while \(r_l~b_n~w_y~c_n~p_s\) is not feasible (as the availability of wi-fi implies the availability of video conferences). Thus, the ontological CP-net of the running example is consistent.    \(\blacksquare \)

4 Computing Optimal Outcomes

The main computational task around ontological CP-nets that we want to solve in this paper is how to determine all undominated feasible outcomes of a consistent ontological CP-net. In this section, we show how to compute them, given an ontological CP-net. The approach mainly relies on the Hard-Pareto algorithm of [26] (see Algorithm 1).

Generalizing the results of Sect. 2.3 to ontologies, we express the undominated feasible outcomes of an ontological CP-net \((\mathcal {N},\mathcal {T})\), if some exist, in an ontological way as follows. For every variable \(A\) and every value \(\gamma \) of its parents in \((\mathcal {N},\mathcal {T})\), the conditional preferences for \(Dom(A) \) encoded in \((\mathcal {N},\mathcal {T})\) yield the optimality constraint

$$\begin{aligned} \sqcap \gamma (Pa(A))\ \sqsubseteq \ \bigsqcup undom(A|\gamma )\text{. } \end{aligned}$$

Let \(DL\text{- }opt(\mathcal {N})\) denote the set of all these optimality constraints. The undominated feasible outcomes of \((\mathcal {N},\mathcal {T})\) are then exactly the set of all outcomes \(o{\,{\in }\,}Dom(\mathbf{V})\) such that \(\sqcap o(\mathbf{V})\) is satisfiable relative to \(\mathcal {T} \cup DL\text{- }opt(\mathcal {N})\).

4.1 Propositional Compilation of DL Formulas

A TBox can be seen as a set of logical constraints that reduces the set of models for a formula. Given a set of concepts \(\mathcal {F} \), we now show how to compute a compact representation of a TBox \(\mathcal {T}\) as a set of clauses whose variables have a one-to-one mapping to the concepts in \(\mathcal {F} \). Hereafter, we write \(\tilde{\phi }\) to denote \(\tilde{\phi } \in \{\phi , \lnot \phi \} \).

Definition 3

(ontological constraint). Given a TBox \(\mathcal {T}\) and a set of satisfiable concepts \(\mathcal {F} = \{\phi _i\mid i\in \{1,\ldots ,n\}\} \) relative to \(\mathcal {T}\), we say that \(\mathcal {F} \) is minimally constrained relative to \(\mathcal {T}\) iff

  1. 1.

    there exists a concept \(\tilde{\phi _1} \sqcup \cdots \sqcup \tilde{\phi _n}\) such that \(\mathcal {T} \models \top \sqsubseteq \tilde{\phi _1} \sqcup \cdots \sqcup \tilde{\phi _n}\), and

  2. 2.

    there is no proper subset \(\mathcal {E} \subset \mathcal {F} \) such that the previous condition holds.

The ontological axiom \(\top \sqsubseteq \tilde{\phi _1} \sqcup \cdots \sqcup \tilde{\phi _n}\) is an ontological constraint.

An ontological constraint is an explicit representation of the constraints existing among a set of concepts, due to the information encoded in the TBox \(\mathcal {T}\).

Definition 4

(ontological closure).  Given a TBox \(\mathcal {T}\) and a set of satisfiable concepts \(\mathcal {F} = \{\phi _1,\ldots ,\phi _n\}\) relative to \(\mathcal {T}\), the ontological closure of \(\mathcal {F} \) and \(\mathcal {T} \), denoted \(\mathcal {OLC}(\mathcal {F},\) \(\mathcal {T})\), is the set of all ontological constraints, if any, for each subset of \(\mathcal {F} \).

The ontological closure of \(\mathcal {F} \) and \(\mathcal {T} \) is an explicit representation of all the logical constraints among a set of concepts \(\mathcal {F} \), considering also an underlying TBox \(\mathcal {T} \).

Proposition 1

Given a TBox \(\mathcal {T}\) and a set of satisfiable concepts \(\mathcal {F} = \{\phi _1,\ldots ,\phi _n\}\) relative to \(\mathcal {T} \), if \(\mathcal {T} \models \sqcap _{i=1}^n \tilde{\phi _i} \sqsubseteq \bot \), then \({\mathcal {OCL}(\mathcal {F},\mathcal {T}) \models \sqcap _{i=1}^n \tilde{\phi _i} \sqsubseteq \bot }\).

Proof. Since \(\mathcal {T} \models \sqcap _{i=1}^n \tilde{\phi _i} \sqsubseteq \bot \), this means that we have the corresponding clause \(\psi = \bigsqcup _{i=1}^n \lnot \tilde{\phi _i}\) such that \(\mathcal {T} \models \top \sqsubseteq \psi \). If \(\mathcal {F} = \{\phi _1,\ldots ,\phi _n\}\) is minimally constrained, then \(\psi \in \mathcal {OCL}(\mathcal {F},\mathcal {T}) \), otherwise, by definition of \(\mathcal {OCL}(\mathcal {F},\mathcal {T}) \), there will be a clause \(\psi ' \in \mathcal {OCL}(\mathcal {F},\mathcal {T}) \) such that \(\psi ' \subset \psi \). \(\Box \)

Hence, if we are interested only in the relationships between predefined concepts (due to their logical structure and \(\mathcal {T}\)), then the corresponding ontological closure is a compact and complete representation. Note that we are only looking for minimal clauses, as we are interested in computing the actual constraints between the formulas representing the domain of a variable in the CP-net. Hence, to compute the final outcomes, it is preferable to deal with a compact representation of all possible constraints.

Example 5

(Conference Organization cont’d). Given the set of concepts \(\mathcal {F} = \{w_y,c_y,\) \(p_l,p_s\} \), due to the axioms in the TBox, we have the minimally constrained sets \(\mathcal {F} ' = \{w_y, c_y\} \) and \(\mathcal {F} '' = \{p_l, p_s\} \) and the two corresponding ontological constraints \(\top \sqsubseteq \lnot w_y \sqcup c_y\) (indeed \(w_y \sqsubseteq _\mathcal {T} c_y\)) and \(\top \sqsubseteq \lnot p_l \sqcup \lnot p_s\) (as \(p_l \sqcap p_s\sqsubseteq _\mathcal {T} \bot \)). The corresponding ontological closure is then \(\mathcal {OCL}(\mathcal {F},\mathcal {T}) =\{\top \sqsubseteq \lnot w_y \sqcup c_y, \top \sqsubseteq \lnot p_l \sqcup \lnot p_s\} \).   \(\blacksquare \)

The set \(\tilde{\mathcal {F}} = \{\tilde{\phi }_1,\ldots ,\tilde{\phi }_n\}\) is a feasible assignment for \(\mathcal {F} \) and \(\mathcal {T}\) iff

$$ \mathcal {OCL}(\mathcal {F},\mathcal {T}) \not \models \sqcap _{i=1}^n \tilde{\phi _i} \sqsubseteq \bot . $$

We are interested in feasible assignments, since (as we will show in the following), they represent feasible outcomes for an ontological CP-net. Note that by Proposition 1, if \(\tilde{\mathcal {F}}= \{\tilde{\phi }_1,\ldots ,\tilde{\phi }_n\}\) is a feasible assignment for \(\mathcal {F} \) and \(\mathcal {T}\), then \(\mathcal {T} \not \models \sqcap _{i=1}^n \tilde{\phi _i} \sqsubseteq \bot \), i.e., \(\sqcap _{i=1}^n \tilde{\phi _i}\) is satisfiable relative to \(\mathcal {T}\). The next proposition shows that there always exist feasible assignments for sets of satisfiable concepts relative to an underlying TBox.

Proposition 2

Let \(\mathcal {T}\) be a TBox, and \(\mathcal {F} = \{\phi _1,\ldots ,\phi _n\}\) be a set of satisfiable concepts relative to \(\mathcal {T} \). Then, there always exists a feasible assignment for \(\mathcal {F} \) and \(\mathcal {T}\).

Proof. If \(\mathcal {OCL}(\mathcal {F},\mathcal {T}) {\,{=}\,}\emptyset \), then every \(\tilde{\mathcal {F}}= \{\tilde{\phi }_1,\ldots ,\tilde{\phi }_n\}\) is a feasible assignment for \(\mathcal {F} \) and \(\mathcal {T}\). Otherwise, since \(\mathcal {T} \models \mathcal {OCL}(\mathcal {F},\mathcal {T}) \), every interpretation \(\mathcal {I}\) that satisfies \(\mathcal {T} \) also satisfies \(\mathcal {OCL}(\mathcal {F},\mathcal {T}) \). That is, \(\mathcal {I}\) satisfies every \(\top \sqsubseteq \tilde{\phi }_{i_1}\sqcup \cdots \sqcup \tilde{\phi }_{i_{m}} \in \mathcal {OCL}(\mathcal {F},\mathcal {T}) \), which means that \((\tilde{\phi }_{i_j})^\mathcal {I} \ne \emptyset \) for some \(j{\,{\in }\,}\{1,\ldots ,m\}\) (as every interpretation \(\mathcal {I}\) has a nonempty domain \(\varDelta ^\mathcal {I}\)). Thus, there exists a feasible assignment for \(\mathcal {F} \) and \(\mathcal {T}\). \(\Box \)

4.2 Computing Optimal Outcomes

If we have an ontological CP-net \((\mathcal {N},\mathcal {T})\), the variable values (concepts) in a set \(\mathcal {F} \) may constrain each other, and the corresponding constraints are encoded in \(\mathcal {OCL}(\mathcal {F},\mathcal {T}) \). The ontological closure of a set of concepts explicitly represents all the logical constraints among them with respect to an underlying ontology. The computation of all undominated feasible outcomes for an ontological CP-net goes through the Boolean encoding of both the ontology \(\mathcal {T} \) and of the clauses corresponding to the preferences represented in the CPTs of \(\mathcal {N}\) for each variable \(A \in \mathbf{V} \). To use Hard-Pareto, we need a few pre-processing steps. Given the ontological CP-net \(( \mathcal {N},\mathcal {T}) \):

  1. 1.

    for every \(A^i {\,{\in }\,}\mathbf{V} \) and every \(\alpha ^i_j{\,{\in }\,}Dom(A^i) {\,{=}\,}\{\alpha ^i_1, \ldots ,\alpha ^i_{m_i}\} \), choose a fresh atomic concept \(V^i_j\);

  2. 2.

    define the ontology \(\mathcal {T} ' = \mathcal {T} \cup \{V^i_j \equiv \alpha ^i_j\,{\mid }\,A^i \in \mathbf{V},\,j \in \{1,\ldots ,m_i\} \} \);

  3. 3.

    define the ontological CP-net \(( \mathcal {N}',\mathcal {T} ') \), where \(\mathcal {N}'\) is obtained from \(\mathcal {N}\) by isomorphically replacing every \(\alpha ^i_j\) by \(V^i_j\), for all \(A^i \in \mathbf{V} \) and \(j \in \{1,\ldots ,m_i\} \);

  4. 4.

    define \(\mathcal {F} = \{V^i_j \,{\mid }\,A^i \in \mathbf{V},\,j \in \{1,\ldots ,m_i\} \} \);

  5. 5.

    compute \(\mathcal {OCL}(\mathcal {F},\mathcal {T} ')\);

  6. 6.

    introduce a Boolean variable \(v_j^i\) for each \(V_j^i \in \mathcal {F} \);

  7. 7.

    transform \(\mathcal {OCL}(\mathcal {F},\mathcal {T} ')\) into the corresponding set of Boolean clauses \(\mathcal {C}\) by replacing \(V_j^i\) by the corresponding binary variable \(v_j^i\) (and the ontological constant “\(\top \)” and the ontological connectives “\(\sqcup \)” and “\(\sqsubseteq \)” by the Boolean constant “\( true \)” and the Boolean connectives “\(\vee \)” and “\(\rightarrow \)”, respectively);

  8. 8.

    transform \(\textit{DL-opt}( \mathcal {N}' ) \) into the set of Boolean clauses \( opt(\mathcal {N}') \) by replacing every \(V_j^i\) by the corresponding variable \(v_j^i\) (and the ontological connectives “\(\sqcap \)”, “\(\sqcup \)”, and “\(\sqsubseteq \)” by the Boolean connectives “\(\wedge \)”, “\(\vee \)”, and “\(\rightarrow \)”, respectively).

Note that \(\mathcal {T}\) is logically equivalent to \(\mathcal {T} '\), as we only use equivalence axioms to define new concepts \(V_j^i\) as synonyms of complex concepts \(\alpha _j^i\). The same holds for \(( \mathcal {N},\mathcal {T}) \) and \(( \mathcal {N}',\mathcal {T} ') \), as we just replace concepts in \(Dom(A^i) \) by equivalent concepts.

Once we have \(\mathcal {C}\) and \( opt(\mathcal {N}') \), we can compute the optimal outcome of \(( \mathcal {N},\mathcal {T}) \) by using the slightly modified version of Hard-Pareto, shown in Algorithm 1. The function \(sol({\cdot })\) used in Algorithm 1 computes all the solutions for the Boolean constraint satisfaction problem represented by \(\mathcal {C}\), \( opt(\mathcal {N}') \) and \(\mathcal {C} \cup opt(\mathcal {N}') \). Differently from the original Hard-Pareto, by Proposition 2, we know that \(\mathcal {C}\) is always consistent, and so we do not need to check its consistency at the beginning of the algorithm. Moreover, note that the algorithm works with propositional variables although we are computing undominated feasible solutions for an ontological CP-net. That is, the dominance test in line 11 can be computed using well-known techniques for Boolean problems.

figure b

The outcomes returned by Algorithm 1 in \(S_{opt}\) are true/false assignments to the Boolean variables \(v_j^i\). To compute undominated outcomes for the original ontological CP-net \(( \mathcal {N},\mathcal {T}) \), we need to revert to a DL setting. Hence, we build the set DL- \(S_{opt}\), where for each outcome \(o \in S_{opt}\), we add to DL- \(S_{opt}\) the following value \(o'\):

$$ o'(A^i) = V_j^i \text{ iff } o(v_j^i) = true \text{, } \text{ for } \text{ all } A_i\in \mathbf{V} \text{ and } j{\,{\in }\,}\{1,\ldots ,m_i\}. $$

The following example shows a trace of Algorithm 1 for our running example.

Example 6

(Conference Organization cont’d). For the CP-net in Fig. 1, we obtain:

  • \(\mathcal {T} ' = \mathcal {T} \cup \{V_1^1 \equiv \exists \textit{hasRoom.Small},\ V_2^1 \equiv \exists \textit{hasRoom.Medium},\)

                       \(V_3^1 \equiv \exists \textit{hasRoom.Large},\ V_1^2 \equiv \exists \textit{hasRoom}.(\exists \textit{hasFeature.Wifi}),\)

                       \( V_2^2 \equiv \lnot \exists \textit{hasRoom}.(\exists \textit{hasFeature.Wifi}),\)

                       \(V_1^3 \equiv \exists \textit{hasBuilding.Old},\ \) \( V_2^3 \equiv \exists \textit{hasBuilding.New},\)

                       \(V_1^4 \equiv \exists \textit{hasRoom}.(\exists \textit{hasFeature.VideoConference}),\)

                       \( V_2^4 \equiv \lnot \exists \textit{hasRoom}.(\exists \textit{hasFeature.VideoConference}),\)

                       \(V_1^5 \equiv \exists \textit{hasRoom}.(\exists \textit{hasRoomPack}.\textit{LuxuryPackage}),\)

                       \( V_2^5 \equiv \exists \textit{hasRoom}.(\exists \textit{hasRoomPack}.\textit{StandardPackage})\)};

  • \(\mathcal {F} = \{V_1^1, V_2^1, V_3^1, V_1^2, V_2^2, V_1^3, V_2^3, V_1^4, V_2^4, V_1^5, V_2^5\} \);

  • \(\mathcal {OCL}(\mathcal {F},\mathcal {T} ') = \{\top \sqsubseteq \lnot V_1^2 \sqcup V_1^4, \ \top \sqsubseteq \lnot V_1^1 \sqcup \lnot V_2^1, \ \top \sqsubseteq \lnot V_2^1 \sqcup \lnot V_3^1, \ \)

                                \( \top \sqsubseteq \lnot V_1^1 \sqcup \lnot V_3^1, \ \top \sqsubseteq V_1^1 \sqcup V_2^1 \sqcup V_3^1, \ \top \sqsubseteq \lnot V_1^2 \sqcup \lnot V_2^2, \)

                                \(\top \sqsubseteq V_1^2 \sqcup V_2^2, \ \top \sqsubseteq \lnot V_1^3 \sqcup \lnot V_2^3,\top \sqsubseteq V_1^3 \sqcup V_2^3, \)

                                \(\top \sqsubseteq \lnot V_1^4\sqcup \lnot V_2^4, \ \top \sqsubseteq V_1^4 \sqcup V_2^4, \ \top \sqsubseteq \lnot V_1^5 \sqcup \lnot V_2^5, \ \)

                                \( \top \sqsubseteq V_1^5 \sqcup V_2^5\};\)

  • \(\mathcal {C} = \{\lnot v_1^2 \vee v_1^4, \ \lnot v_1^1 \vee \lnot v_2^1, \ \lnot v_2^1 \vee \lnot v_3^1, \ \lnot v_1^1 \vee \lnot v_3^1, \ v_1^1 \vee v_2^1 \vee v_3^1,\ \lnot v_1^2 \vee \lnot v_2^2,\)

              \( v_1^2 \vee v_2^2, \ \lnot v_1^3 \vee \lnot v_2^3, \ v_1^3 \vee v_2^3,\ \lnot v_1^4\vee \lnot v_2^4, \ v_1^4 \vee v_2^4, \ \lnot v_1^5 \vee \lnot v_2^5, \ v_1^5 \vee v_2^5 \} \);

  • \(\textit{DL-opt}( N' ) = \{ V_3^1, \ V_1^2, \ V_1^1 \sqsubseteq V_1^3, \ V_2^1 \sqsubseteq V_2^3, \ V_1^4, \ V_3^1 \sqsubseteq V_2^3,\ V_2^3 \sqcap V_1^4 \sqsubseteq V_1^5,\)

                                \( V_1^3 \sqcap V_1^4 \sqsubseteq V_2^5, \ V_2^3 \sqcap V_2^4 \sqsubseteq V_2^5, \ V_1^3 \sqcap V_2^4 \sqsubseteq V_2^5 \}\);

  • \( opt(N') = \{ v_3^1, \ v_1^2, \ v_1^1 \,{\rightarrow }\,v_1^3, \ v_2^1 \,{\rightarrow }\,v_2^3, \ v_1^4, \ v_3^1 \,{\rightarrow }\,v_2^3,\ v_2^3 \wedge v_1^4 \,{\rightarrow }\,v_1^5, \)

                       \( v_1^3 \wedge v_1^4 \,{\rightarrow }\,v_2^5, \ v_2^3 \wedge v_2^4 \,{\rightarrow }\,v_2^5, \ v_1^3 \wedge v_2^4 \,{\rightarrow }\,v_2^5 \}\).

Then, \(S_{opt} =\{ v_3^1~v_1^2~v_2^3~v_1^4~v_1^5\}\), and \(r_l~w_y~b_n~c_y~p_l\) is the only optimal outcome.    \(\blacksquare \)

The following theorem shows the correctness of the algorithm.

Theorem 1

Given an ontological CP-net \(( \mathcal {N},\mathcal {T}) \) over \(\mathbf{V} \), the values \(o' \in DL\)-\(S_{opt}\) are all the undominated feasible outcomes for \(( \mathcal {N},\mathcal {T}) \).

Proof. We start by showing that \(o'\) is a feasible outcome. If we consider the final assignment \(o = \bigwedge _{i=1}^{|\mathbf{V} |}\bigwedge _{j=1}^{m_i} \tilde{v}^i_j\), the corresponding formula \(o' = \sqcap _{i=1}^{|\mathbf{V} |}\sqcap _{j=1}^{m_i} \tilde{V}^i_j\) is a feasible assignment. In fact, if we had \(\mathcal {OCL}(\mathcal {F},\mathcal {T} ') \models \sqcap _{i=1}^{|\mathbf{V} |}\sqcap _{j=1}^{m_i} \tilde{V}^i_j \sqsubseteq \bot \), then we should have the corresponding constraint (or one that implies) \(\bigvee _{i=1}^{|\mathbf{V} |}\bigvee _{j=1}^{m_i} \lnot \tilde{v}^i_j\) in \(\mathcal {C} \), thus not allowing \(o\) to be a solution. By Definition 1, for each variable \(A^i\), both \(\mathcal {T} \models a^i_j \sqcap a^i_{j'}\sqsubseteq \bot \), for all \(j,j'{\,{\in }\,}\{1,\ldots ,m_i\}\) with \(j < j'\), and \(\mathcal {T} \models \top \sqsubseteq a^i_1\sqcup \cdots \sqcup a^i_{m_i}\). These axioms are encoded in the corresponding binary constraints \(\lnot v^i_j \vee \lnot v^i_{j'}\) and \(v^i_1 \vee \cdots \vee v^i_{m_i}\) saying that, given \(A^i\), in \(o\), we have all \(v_j^i\) negated but one. As a consequence, in \(o'\), we have only one \(V_j^i\) for each \(A^i\), i.e., \(o'\) is an outcome. Overall, \(o'\) is a feasible outcome. Finally, as \(o\) satisfies all the optimality constraints, \(o'\) is an undominated outcome. \(\Box \)

5 Computational Complexity

We now explore the complexity of the main computational problems in ontological CP-nets for underlying ontological languages with typical complexity of deciding knowledge base satisfiability, namely, tractability and completeness for EXP and NEXP. We also provide some special tractable cases of dominance testing in ontological CP-nets.

5.1 General Results

For tractable ontology languages (i.e., those for which deciding knowledge base satisfiability is tractable), the complexity of ontological CP-nets is dominated by the complexity of CP-nets. That is, deciding (a) consistency, (b) whether a given outcome is undominated, and (c) dominance of two given outcomes are all PSPACE-complete. Note also that the same complexity results hold for ontology languages with PSPACE-complete knowledge base satisfiability checks and that even computing the set of all undominated outcomes (generalizing (b)) is PSPACE-complete under the condition that there are only polynomially many of them.

Theorem 2

Given an ontological CP-net \(( \mathcal {N},\mathcal {T}) \) over a tractable ontology language,

  1. (a)

    deciding whether \(( \mathcal {N},\mathcal {T}) \) is consistent,

  2. (b)

    deciding whether a given outcome \(o\) is undominated,

  3. (c)

    deciding whether \(o \,{\succ }\, o'\) for two given outcomes \(o\) and \(o'\)

are all PSPACE-complete.

Proof (sketch). The lower bounds follow immediately from the fact that ontological CP-nets generalize CP-nets, for which these problems are all PSPACE-complete [16].

As for the upper bounds, compared to standard CP-nets, these problems additionally involve knowledge base satisfiability checks, which can all be done in polynomial time and thus also in polynomial space. Note that in (a) (resp., (b)), one has to go through all outcomes \(o'\) and check that it is not the case that \(o \succ o'\) (resp., \(o' \succ o\)), which can each and thus overall be done in polynomial space.\(\Box \)

In particular, if the ontological CP-net is defined over a DL of the DL-Lite family [9] (which all allow for deciding knowledge base satisfiability in polynomial time, such as DL-Lite \(_\mathcal {R}\), which stands behind the important OWL 2 QL profile [31]), deciding (a) consistency, (b) whether a given outcome is undominated, and (c) dominance of two given outcomes are all PSPACE-complete.

Corollary 1

Given an ontological CP-net \(( \mathcal {N},\mathcal {T}) \) over a DL from the DL-Lite family,

  1. (a)

    deciding whether \(( \mathcal {N},\mathcal {T}) \) is consistent,

  2. (b)

    deciding whether a given outcome \(o\) is undominated,

  3. (c)

    deciding whether \(o \,{\succ }\, o'\) for two given outcomes \(o\) and \(o'\)

are all PSPACE-complete.

For EXP (resp., NEXP) complete ontology languages (i.e., those for which knowledge base satisfiability is complete for EXP (resp., NEXP)), the complexity of ontological CP-nets is dominated by the complexity of the ontology languages. That is, deciding (a) inconsistency, (b) whether a given outcome is dominated, and (c) dominance of two given outcomes are all complete for EXP (resp., NEXP). Note that computing the set of all undominated outcomes (generalizing (b)) is also EXP-complete for EXP-complete ontology languages.

Theorem 3

Given an ontological CP-net \(( \mathcal {N},\mathcal {T}) \) over an EXP (resp., NEXP) complete ontology language,

  1. (a)

    deciding whether \(( \mathcal {N},\mathcal {T}) \) is inconsistent,

  2. (b)

    deciding whether a given outcome \(o\) is dominated,

  3. (c)

    deciding whether \(o \,{\succ }\, o'\) for two given outcomes \(o\) and \(o'\)

are all complete for EXP (resp., NEXP).

Proof (sketch). The lower bounds follow from the fact that all three problems in ontological CP-nets can be used to decide knowledge base satisfiability in the underlying ontology language.

As for the upper bounds, in (a) and (b), we have to go through all outcomes, which is in EXP (resp., NEXP). Then, we have to perform knowledge base satisfiability checks, which are also in EXP (resp., NEXP), and dominance checks in standard CP-nets, which are in PSPACE, and thus also in EXP (resp., NEXP). Overall, (a) to (c) are thus in EXP (resp., NEXP). \(\Box \)

In particular, if the ontological CP-net is defined over the expressive DL \(\mathcal {SHIF}(\mathbf {D})\) (resp., \(\mathcal {SHOIN}(\mathbf {D})\)) [18] (which stands behind OWL Lite (resp., OWL DL) [30, 32], and allows for deciding knowledge base satisfiability in EXP [18, 29] (resp., NEXP, for both unary and binary number encoding; see [25, 29] and the NEXP-hardness proof for \(\mathcal {ALCQIO}\) in [29], which implies the NEXP-hardness of \(\mathcal {SHOIN}(\mathbf {D})\))), deciding (a) inconsistency, (b) whether a given outcome is dominated, and (c) dominance of two given outcomes are all complete for EXP (resp., NEXP).

Corollary 2

Given an ontological CP-net \(( \mathcal {N},\mathcal {T}) \) over the DL \(\mathcal {SHIF}(\mathbf {D})\) (resp., \(\mathcal {SHOIN}(\mathbf {D})\)),

  1. (a)

    deciding whether \(( \mathcal {N},\mathcal {T}) \) is inconsistent,

  2. (b)

    deciding whether a given outcome \(o\) is dominated,

  3. (c)

    deciding whether \(o \,{\succ }\, o'\) for two given outcomes \(o\) and \(o'\)

are all complete for EXP (resp., NEXP).

5.2 Tractability Results

If the ontological CP-net is a polytree (i.e., the underlying undirected graph has no cycles) and defined over a tractable ontology language, deciding dominance of two outcomes can be done in polynomial time. Note that polytree ontological CP-nets are always consistent.

Theorem 4

Given an ontological CP-net \(( \mathcal {N},\mathcal {T}) \) over a tractable ontology language, where \(\mathcal {N}\) is a polytree, deciding whether \(o \succ o'\) for two given outcomes \(o\) and \(o'\) can be done in polynomial time.

Proof (sketch). We have to decide whether (i) \(o\succ o'\) holds in \(\mathcal {N}\) and (ii) \(o\) and \(o'\) are feasible outcomes of \(( \mathcal {N},\mathcal {T}) \). The former can be done in polynomial time, as for standard polytree CP-nets, dominance can be decided in polynomial time [5], while the latter can also be done in polynomial time in tractable ontology languages. \(\Box \)

In particular, if the ontological CP-net is a polytree and defined over a DL of the DL-Lite family, deciding dominance of two outcomes can be done in polynomial time.

Corollary 3

Given an ontological CP-net \(( \mathcal {N},\mathcal {T}) \) over a DL from the DL-Lite family, where \(\mathcal {N}\) is a polytree, deciding whether \(o \succ o'\) for two given outcomes \(o\) and \(o'\) can be done in polynomial time.

6 Related Work

Modeling and dealing with preferences has traditionally been studied in several areas within computer science. In the databases community, the work of [21] stands out as the seminal work in the area; see [28] for a survey of notable works in this line. Much work has also been carried out in the intersection of databases and knowledge representation and reasoning, such as in preference logic programs [17], incorporation of preferences into formalisms such as answer set programs [8], and answering \(k\)-rank queries in ontological languages [22].

On the other hand, in the philosophical tradition, preferences are usually expressed over mutually exclusive “worlds”, such as truth assignments to formulas. The work of [2] is framed in this interpretation of preferences, aiming at bridging the gap between several formalisms from the AI community such as CP-nets and those studied traditionally in philosophy. In this regard, CP-nets [5] is one of the most widely known formalisms. More recently, the work of Wang et al. [33] proposes an efficient algorithm and indexing scheme for top-\(k\) retrieval in CP-nets.

Constrained CP-nets were originally proposed in [6], along with algorithm Search-CP, which uses branch and bound to compute undominated outcomes. The algorithm has an anytime behavior: it can be stopped at any time, and the set of computed solutions are a subset of the set containing all the undominated outcomes. This means that in case one is interested in any undominated outcome, one can use the first one returned by Search-CP. In [26], Hard-Pareto is presented; the most notable difference is that Hard-Pareto does not rely on topological information like Search-CP, but it exploits only the CP-statements, thus allowing to work also with cyclic CP-nets. Differently from the previous two papers, in our work, we allow the variable domains to contain DL formulas constrained via ontological axioms.

Recently, there has been some interest regarding the combination of Semantic Web technologies with preference representation and reasoning. A combination of conditional preferences (very different from CP-nets) with DL reasoning for ranking objects is introduced in [24]. A ranking function is described that exploits conditional preferences to perform a semantic personalized search and ranking over a set of resources annotated via an ontological description. In [22], Datalog+/– is extended with preference management formalisms closely related to those previously studied for relational databases; the authors further extend this formalism to the case where ontological inferences involve probabilistic uncertainty [23]. Another interesting approach to mixing qualitative preferences with Semantic Web technology is presented in [27], where an extension of SPARQL that can encode user preferences in the query is proposed.

There is, however, very little work on the particular combination of Semantic Web technologies and CP-nets. To our knowledge, the most notable work is that of [3], developed within an information retrieval context; in this work, Wordnet is used to add semantics to CP-net variables.

7 Summary and Outlook

In classical decision theory and analysis, the preferences of decision makers are modeled by utility functions. Unfortunately, the effort needed to obtain a good utility function requires a significant involvement of the user [15]. This is one of the main reasons behind the success obtained by CP-nets since they were originally proposed [4]: they are compact, easily understandable, and well-suited for combinatorial domains, such as multi-attribute ones. In this paper, we have described how to reason with CP-nets that are augmented by assigning description logic axioms to its variable values—such axioms refer to a common underlying ontology and constrain the possible outcomes in the CP-net. Furthermore, we studied the complexity of the problems of consistency checking, whether a given outcome is undominated, and dominance testing for ontological CP-nets, showing how the complexity of checking satisfiability of the underlying ontological language and the structure of the CP-net affects the complexity of solving these problems. The proposed framework is very useful in many semantic retrieval scenarios, among which we distinguish semantic search.

Other formalisms related to the original CP-nets have been subsequently proposed in the literature, such as TCP-nets (Trade-off CP-nets) [7] or CP-theories [34]. TCP-nets extend CP-nets by allowing to express also statements of relative importance between variables. With TCP-nets, the user is allowed to express her preferences over compromises that sometimes may be required. CP-theories generalize (T)CP-nets allowing conditional preference statements on the values of a variable, along with a set of variables that are allowed to vary when interpreting the preference statement. In future work, we plan to enrich these frameworks by introducing ontological descriptions and reasoning, thus allowing the development of more powerful semantic-enabled preference-based retrieval systems.