<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Logic Programs for Repairing Inconsistent Dimensions in Data Warehouses</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Loreto</forename><surname>Bravo</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Universidad de Concepción</orgName>
								<address>
									<country key="CL">Chile</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Mónica</forename><surname>Caniupán</surname></persName>
							<affiliation key="aff1">
								<orgName type="institution">Universidad de Bio-Bio</orgName>
								<address>
									<country key="CL">Chile</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Carlos</forename><surname>Hurtado</surname></persName>
							<affiliation key="aff2">
								<orgName type="institution">Universidad Adolfo Ibáñez</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">Logic Programs for Repairing Inconsistent Dimensions in Data Warehouses</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">6CDD0F2D0D0B965092B63B922A80136C</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T23:29+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>A Data Warehouse (DW) is a data repository that integrates data from multiple sources and organizes the data according to a set of data structures called dimensions. Each dimension provides a perspective upon which the data can be viewed. In order to support an efficient processing of queries, a dimension is usually required to satisfy different classes of integrity constraints. In this paper, we study the problem of repairing a dimension when it fails to satisfy a set of two classes of integrity constraints: strictness constraints and covering constraints. We introduce the notion of minimal repair of a dimension in this context. A minimal repair is defined as a new dimension that is consistent with respect to the integrity constraints, which is obtained by applying a minimal amount of updates to the original dimension. We study the complexity of computing minimal repairs. Finally, we show how to characterize and compute minimal repairs of a dimension using Datalog programs with stable model semantics.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Data Warehouses (DWs) are data repositories that integrate data from different sources, and keep historical data for analysis and decision support <ref type="bibr" target="#b25">[10]</ref>. When generating reports, it is of central importance for these systems to compute queries that are summaries of data in a simple and efficient way. In order to do this, DWs organize data according to the multidimensional model. In the multidimensional model, dimensions reflect the perspectives upon which facts are viewed. Facts correspond to events which are usually associated to numeric values known as measures, and are referenced using the dimension elements. Dimensions are modeled as hierarchies whose nodes are called elements, where each element belongs to a category. The categories are also organized into a hierarchy called hierarchy schema.</p><p>Example 1. Consider a company that manages an online repository of research articles. The company maintains a DW to generate summaries used to analyze the download behavior of its users. The DW contains the dimensions Time and Publication. The Time dimension is structured using a hierarchy schema with a bottom category Date, which goes to the category Month, which in turn goes to the category Year. On the other hand, the Publication dimension is structured using the hierarchy schema shown in Figure <ref type="figure" target="#fig_5">1(a)</ref>, where the Article category goes to Journal, which in turn goes to Area. Also the Article category is connected to Subject category. The top category is All. <ref type="bibr">Figure 1(b)</ref> shows the elements of the Publication dimension, along with the relations between elements of different categories, called rollup relations. For example, a1 and a2 are elements of category Article and b1, b2 are elements of category Journal. For each edge in the hierarchy schema, there is a rollup relation. For example, the rollup relation from the category Article to the category Journal contains the pairs or elements: (a1, b1) and (a2, b2). The fact table of the DW is shown in Figure <ref type="figure" target="#fig_5">1(c)</ref>. Each fact stored in the table represents the numbers of times an article was downloaded in a given date. As an example, article a1 was downloaded three times on January 1, 2007.</p><p>The hierarchical structure of dimensions allows users to access facts at different levels of granularity. As an example, using the aforementioned DW it is easy to compute summaries such as: number of times that each article was downloaded per month, or number of downloads broken down by area and year.</p><p>In order to compute summaries efficiently, DWs use pre-computed summaries at low level categories to derive summaries at higher level categories. Two main classes of integrity constraints, strictness and covering constraints, are used to check whether such computations, called summarizations, are correct <ref type="bibr" target="#b28">[13,</ref><ref type="bibr" target="#b34">19,</ref><ref type="bibr" target="#b40">25]</ref>. In a consistent summarization, each fact is aggregated once and not more than once. Strictness constraints are used to require rollup relations to be strict (manyto-one) relations. If a rollup relation is required to be strict, then there cannot exist an element connected to two different elements in the rollup relation. As an example, in the Publication dimension (Figure <ref type="figure" target="#fig_0">1</ref>(a) and (b)) the rollup relation from Article to Journal is strict. In contrast, the rollup relation from Article to Subject is not strict, because a2 is connected to two different elements in the category Subject. Covering constraints are used to require a rollup relation to connect all the elements that belongs to the category from which the rollup relation departs. As an example, in the dimension of Figure <ref type="figure" target="#fig_0">1</ref>(b), the rollup relation from Article to Subject it is not covering since the element a1 is not connected to any element in Subject.</p><p>Example 2. The summary S Area (Area, N ) = {(c 1 , 8), (c 2 , 7)} (Figure <ref type="figure" target="#fig_0">1</ref>) can be correctly derived from the summary S Article (Article, N ) = {(a 1 , 8), (a 2 , 7)} by summing up the number of downloads for each group of articles that go to the same area in the dimension (element a 1 goes to c 1 , and a 2 goes to c 2 ). The correctness of this derivation follows from the fact that the rollup relation from It has been shown that the dimensions that arise in real-world applications do not always have strict and covering rollup relations. The flexibility to represent rollup relations has been incorporated as a central feature of several dimension models <ref type="bibr" target="#b28">[13,</ref><ref type="bibr" target="#b39">24]</ref>. In order to keep the ability to check consistency of summarizations, it is important for DW systems to know the set of strictness and covering constraints that hold. This can be achieved by allowing DW designers to formulate the constraints that must hold when the dimensions are modeled. In this paper, we study the form of inconsistency that arises when a dimension does not satisfy a set of strictness and covering constraints. Similar to the vast majority of the work on inconsistency handling in databases (cf. <ref type="bibr">[4]</ref>), we address the scenario where the constraints prevail over the data and the dimension must be updated in order for it to satisfy the constraints.</p><p>Example 3. Suppose that the DW administrator considers that the following constraints should be satisfied by the dimension D in Figure <ref type="figure" target="#fig_1">2</ref> We introduce the notion of a minimal repair of a dimension that does not satisfy a set of constraints. A minimal repair is defined as a new dimension that satisfies the constraints and is obtained by applying a minimal number of changes to the original dimension. We study the complexity of the problem of computing minimal repairs, and show that in general the problem is NP-hard. We also explore the use of Datalog programs with stable model semantics <ref type="bibr" target="#b26">[11]</ref> to characterize minimal repairs. Logic programs act as a compact and executable logical specification of dimension repairs. The rest of the paper is organized as follows: Section 2 presents DW dimensions, and strictness and covering constraints. Next, Section 3 presents the notion of repair and describes complexity issues. Section 4 presents the logic programs to compute repairs. Finally, Sections 5 and 6 present related work and the conclusions of the paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Preliminaries</head><p>In this section we formalize dimensions using standard concepts from multidimensional models obtained from <ref type="bibr" target="#b24">[9,</ref><ref type="bibr" target="#b30">15,</ref><ref type="bibr" target="#b32">17,</ref><ref type="bibr" target="#b39">24]</ref>, with some minor modifications to facilitate presentation.</p><p>A  Then D is as follows</p><formula xml:id="formula_0">c i ∈ C H such that (All H , c i ) ∈ր H and for every c j ∈ C, (c j , All H ) ∈ր * H . Sometimes, we will write c a ր H c b instead of (c a , c b ) ∈ր H . Example 4. The hierarchy schema H = (C H , ր H ), depicted in Figure 1(a), is as follows: C H = {Article, Journal, Subject, Area, All}; All H = All; and ր H ={ (Article, Journal), (Journal, Area), (Area, All), (Article, Subject), (Subject, All)}. A dimension D is a tuple (H D , E D , Cat D , &lt; D ),</formula><formula xml:id="formula_1">E D = {all, a 1 , a 2 , b 1 , b 2 , c 1 , c 2 , d 1 , d 2 }; all D = all; Cat D = {all → All, a 1 → Article, a 2 → Article, b 1 → Journal, b 2 → Journal, c 1 → Area, c 2 → Area, d 1 → Subject, d 2 → Subject, }; and &lt; D = {(a1,b1), (a2,b2), (b1,c1), (b2,c2), (c1,all),</formula><p>(c2,all), (a2,d1), (a2,d2), (d1,all), (d2,all)}.</p><p>The set of rollup relations of a dimension D is defined as follows. For each pair of categories We say that the rollup relation</p><formula xml:id="formula_2">c i , c j ∈ C HD such that c i ր * HD c j ,</formula><formula xml:id="formula_3">R D (c i , c j ) is strict if for all elements x, y, z in E, if (x, y) ∈ R D (c i , c j ) and (x, z) ∈ R D (c i , c j ) then y = z. The rollup relation R D (c i , c j</formula><p>) is covering if for all elements e ∈ E such that Cat(e) = c i , there exists an element e ′ ∈ E such that (e, e ′ ) ∈ R D (c i , c j ). A dimension is strict if all its rollup relations are strict. Otherwise, the dimension is said to be non-strict. Similarly, we use the notions of covering and non-covering dimension. Covering dimensions are also called homogeneous and non-covering dimensions are called heterogeneous.</p><p>The vast majority of research and industrial applications of DWs consider dimensions that are strict and covering <ref type="bibr" target="#b33">[18]</ref>. For strict and covering dimensions <ref type="bibr" target="#b28">[13]</ref> summarization operations that aggregate facts between two categories that are connected in the hierarchy schema are always correct. However, it has been shown that in some real situations dimensions fail to satisfy these conditions <ref type="bibr" target="#b29">[14,</ref><ref type="bibr" target="#b39">24]</ref>. In these cases, in order to keep the ability to verify summarizability, it is useful to allow the DW administrator to specify integrity constraints to identify rollup relations that are strict or covering <ref type="bibr" target="#b29">[14]</ref>.</p><p>Let H = (C H , ր H ) be a hierarchy schema and let</p><formula xml:id="formula_4">D = (H D , E D , Cat D , &lt; D ) be a dimension such that H D = H. (i) A strictness constraint over H is an expression of the form c i → c j where c i , c j ∈ C H and c i ր * H c j . The dimension D satisfies the strictness constraint c i → c j if and only if the rollup relation R D (c i , c j ) is strict. (ii) A covering constraint over H is an expression of the form c i ⇒ c j where c i , c j ∈ C H and c i ր * H c j . The dimension D satisfies the covering constraint c i ⇒ c j if and only if the rollup relation R D (c i , c j ) is covering.</formula><p>We denote by Σ s (H) and Σ c (H) the set of all possible strictness constraints and covering constraints, respectively, over hierarchy schema H. We say that a dimension D satisfies a set of constraints Σ if D satisfies every constraint in Σ. Otherwise, we say that the dimension D is inconsistent with respect to Σ.</p><p>Example 7. Let D be the publication dimension depicted in Figure <ref type="figure" target="#fig_5">1(b)</ref>. This dimension satisfies the following set Σ of strictness constraints: {Article → Journal, Article → Area, Journal → Area}. However, D does not satisfy Article → Subject, since an element of Article may reach more than one element in Subject. In contrast, dimension given in Figure <ref type="figure" target="#fig_1">2</ref> is inconsistent with respect to Σ since it violates the strictness constraint Article → Area. Indeed, the rollup relation</p><formula xml:id="formula_5">R D (Article, Area) = {(a1, c1), (a1, c2)} is non-strict.</formula><p>The problem of determining if a dimension D satisfies a set of constraints can be solved in polynomial time by computing &lt; * D .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Dimension Repairs</head><p>If a dimension D does not satisfy a set of constraints Σ, we propose to compute the minimal repairs of D, that is, dimensions over the hierarchy schema of D that satisfy Σ and that stay as close as possible to the inconsistent dimension.</p><p>Example 8. Let D be the dimension given in Figure <ref type="figure" target="#fig_1">2</ref>, and let Σ = {Article ⇒ All, Journal ⇒ All, Area ⇒ All, Subject ⇒ All, Article → Area}. Clearly, D is inconsistent with respect to Σ. </p><formula xml:id="formula_6">Given two dimensions D = (H D , E D , Cat D , &lt; D ) and D ′ = (H D ′ , E D ′ , Cat D ′ , &lt; D ′ ), the distance between them, dist (D, D ′ ), is defined as |(&lt; D ′ \ &lt; D ) ∪ (&lt; D \ &lt; D ′ )|.</formula><p>The distance dist (D, D ′ ) is the size of the symmetric difference between the child/parent relations of the two dimensions. Next, we define the notions of repair and minimal repair. (i) A repair of D with respect to Σ is a dimension</p><formula xml:id="formula_7">D ′ = (H D ′ , E D ′ , Cat D ′ , &lt; D ′ ) such that H D ′ = H D , E D ′ = E D , Cat D ′ = Cat D , and D ′ satisfies Σ. (ii) A minimal repair of D with respect to Σ is a repair D ′ , such that dist (D, D ′ )</formula><p>is minimal among all the repairs of D with respect to Σ.</p><p>In the notion of repair we propose, the set of elements in each category of the original dimension is preserved over all the repairs, that is deletions or additions of new elements are not allowed. It can be shown that there always exists a repair of a dimension provided that the dimension has at least one element in each category. However, there might be an exponential number of them. Thus, it becomes relevant to study the problem of finding one.</p><p>Theorem 1. Let D be a dimension, and k an integer. The problem of deciding if there exists a repair</p><formula xml:id="formula_8">D ′ of D such that dist (D, D ′ ) ≤ k is NP-complete.</formula><p>Hardness is proven by reduction from the set covering problem. It follows then, that the problem of computing a minimal repair is NP-hard and that deciding if a dimension is a minimal repair is co-NP-complete.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Computing Repairs</head><p>Computing repairs of dimensions inconsistent with respect to a set of covering and strictness constraints can be expensive in terms of computational resources. However, we can use Datalog programs with negation under stable model semantics <ref type="bibr" target="#b26">[11]</ref> to represent and compute the minimal repairs of a dimension. Because of space limitations, we will present here the programs with examples.</p><p>Even though Datalog programs with negation under stable models semantics can be used to express NP problems, current implementations, such as DLV 4  [20] and Smodels 5 <ref type="bibr" target="#b41">[26]</ref>, have shown to be quite efficient in practice <ref type="bibr" target="#b35">[20]</ref>. In what follows, we will present a Datalog program with negation using predicates in Table <ref type="table" target="#tab_2">1</ref> that can be used to obtain the minimal repairs of a dimension.  In order to simplify the presentation, we will first discuss the case where Σ = Σ s (H) ∪ Σ c (H), that is we have to fix a dimension that, according to the constraints, should be strict and covering. Let us observe that a covering and strict dimension is such that every element will rollup to exactly one element in each parent category. The repair program relies on this observation and first computes a set of candidate dimensions that contains the same elements as the inconsistent dimension and only one rollup between every element and every parent category (note that all these candidate dimensions satisfy the covering constraints). Then, it discards the models that do not satisfy the strictness constraints. </p><formula xml:id="formula_9">RT ′ (X, Y, N1, N2) ← R ′ (X, Y, N1, N2). (7) RT ′ (X, Z, N1, N3) ← RT ′ (X, Y, N1, N2), R ′ (Y, Z, N2, N3). (8) ← RT ′ (X, Y, N1, N2), RT ′ (X, Z, N1, N2), Y = Z. (9) Ins(X, Y, N1, N2) ← R ′ (X, Y, N1, N2), not R(X, Y, N1, N2). (10) Del (X, Y, N1, N2) ← R(X, Y, N1, N2), not R ′ (X, Y, N1, N2). (11) ⇐ Ins(X, Y, N1, N2)[1 : 1]. (12) ⇐ Del (X, Y, N1, N2)[1 : 1]. (<label>13</label></formula><formula xml:id="formula_10">)</formula><p>Facts of the repair program correspond to the elements and rollup relations in D P hone . The rest of the rules in the repair program are used to compute the repairs. In general terms, the program: generates all possible dimensions</p><formula xml:id="formula_11">D ′ = (H D ′ , E D ′ , Cat D ′ , &lt; D ′ ) such that H D ′ = H D P hone , E D ′ = E D P hone , Cat D ′ =</formula><p>Cat D P hone and such that every element has a unique parent in every parent category (using rules (1) to ( <ref type="formula">6</ref>)), then discards the ones that are not strict (with rules (7) to ( <ref type="formula">9</ref>)) and finally chooses the ones that are at a minimal distance (using rules (10) to ( <ref type="formula" target="#formula_9">13</ref>)).</p><p>More specifically, rules (1) to ( <ref type="formula">6</ref>) populate predicate R ′ with a new covering child-parent relation for the elements in E D P hone . This new relation assigns to each element a a new parent in every category c j such that Cat(a) ր HD P hone c j . This parent is obtained by using the choice operator <ref type="bibr" target="#b27">[12]</ref> that generates one model for each c such that Cat(c) =cj. In fact, choice((X, c j ), (Y )) will assign a unique value to Y in each stable model for each combination (X, c j ). Rules ( <ref type="formula">7</ref>) and ( <ref type="formula">9</ref>) compute the transitive closure of the child-parent relation of the repair. Rule ( <ref type="formula">9</ref>) is a program constraint (a rule without head) which enforces that it is not possible to have that an element x rolls-up to two different parents in the same category. Namely, it discards all the models in which the rollup relations, captured in predicate RT ′ , are not strict. Rules <ref type="bibr" target="#b25">(10)</ref> and <ref type="bibr" target="#b26">(11)</ref> keep track of the insertion and deletions, respectively, that are needed to obtain the repair. The weak constraints <ref type="bibr" target="#b23">[8]</ref>, denoted by ⇐, in rules ( <ref type="formula">12</ref>) and ( <ref type="formula" target="#formula_9">13</ref>) are used to minimize the number of insertion and deletions needed to restore consistency. In general, a weak constraint is of the form ⇐ ϕ [weight : level ], where ϕ is a conjunction of atoms, and weight and level are integers. If ϕ is true in the model the weak constraint is violated and the weight is added up to the cost of the level. The stable models which minimize the sum of the weights of the violated weak constraints are called the best models of the program.</p><p>This program has three best models of total weight three The correctness of the program relies on the fact that in strict and covering dimensions every element contains exactly one parent in each parent category. In the general case, where the dimension is not necessarily required to be strict and covering, this does not hold anymore. However, in a minimal repair of a dimension D, the number of parents in a category for every element can be shown to be between zero and the maximum between one (1) and the number of parents for that same element in D. Thus, in the general case, in order to compute the minimal repairs, we have to be able to reduce the number of parents an element can have. This is achieved by constructing a new dimension D del from D for which the repairs of D can be computed only through reclassification of child-parent relations of D del . Example 11. Figure <ref type="figure" target="#fig_10">4</ref>(a) shows the del-dimension D del obtained from dimension D in Figure <ref type="figure" target="#fig_1">2</ref>(a) which is inconsistent with respect to Σ = {Article ⇒ All, Journal ⇒ All, Area ⇒ All, Subject ⇒ All, Article → Area}. From it we can compute a set of candidate repairs by reclassifying all the child/parent relations. From these candidate repairs, the only two that satisfy the constraints (ignoring the child/parent relations that involve any del-elements) are shown in Figure <ref type="figure" target="#fig_10">4</ref> R(a1,b2,Article,Journal). R(b1,c1,Journal,Area). R(b2,c2,Journal,Area). R(c1,all,Area,All). R(c2,all,Area,All). R(d1,all,Subject,All). R(a1,del,Article,Subject). R(a2,del,Article,Subject).</p><formula xml:id="formula_12">R ′ (X, Y ′ , Z, Journal) ← R(X, Y, Z, Journal), Journal(Y ′ ), choice((X, Y, Journal)(Y ′ )). (14) R ′ (X, Y ′ , Z, Area) ← R(X, Y, Z, Area), Area(Y ′ ), choice((X, Y, Area)(Y ′ )). (15) R ′ (X, Y ′ , Z, Subject) ← R(X, Y, Z, Subject), Subject(Y ′ ), choice((X, Y, Subject)(Y ′ )). (16) R ′ (X, Y ′ , Z, All) ← R(X, Y, Z, All), All(Y ′ ), choice((X, Y, All)(Y ′ )). (<label>17</label></formula><formula xml:id="formula_13">) RT ′ (X, Y, N1, N2) ← R ′ (X, Y, N1, N2), X = del, Y = del. (18) RT ′ (X, Z, N1, N3) ← RT ′ (X, Y, N1, N2), R ′ (Y, Z, N2, N3), X = del, Y = del, Z = del. (19) ← RT ′ (X, Y, Article, Area), RT ′ (X, Z, Article, Area), Y = Z. (20) ← Article(X), not aux All (X), X = del. ← Journal(X), not aux All (X), X = del. (21) ← Area(X), not aux All (X), X = del. ← Subject(X), not aux All (X), X = del. (22) aux All (X) ← RT ′ (X, Y, Area1, All). (23) Ins(X, Y, N1, N2) ← R ′ (X, Y, N1, N2), not R(X, Y, N1, N2), Y = del. (24) Del (X, Y, N1, N2) ← R(X, Y, N1, N2), not R ( X, Y, N1, N2), Y = del. (25) ⇐ Ins(X, Y, N1, N2).[1 : 1] ⇐ Del(X, Y, N1, N2).[1 : 1]. (<label>26</label></formula><formula xml:id="formula_14">)</formula><p>The facts of the repair program correspond to the elements and rollup relations in D del . Rules ( <ref type="formula">14</ref>) to (17) compute a new candidate child-parent relation for the elements in E D del . Then, the consistency of each candidate repair with respect to strictness (rules <ref type="bibr" target="#b33">(18)</ref> to <ref type="bibr" target="#b35">(20)</ref>) and covering (rules ( <ref type="formula">21</ref>) to ( <ref type="formula">23</ref>)) constraints is checked ignoring every child/parent relation with a del-element. Next, rules <ref type="bibr" target="#b39">(24)</ref> and ( <ref type="formula" target="#formula_13">26</ref>) chooses the ones that are at a minimal distance. Finally, the repairs are obtained from the consistent candidate repairs by removing every del-element.</p><p>The best models of this program correspond to the repairs of D as shown in Figure <ref type="figure" target="#fig_1">2</ref>(b)-(c).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Related Work</head><p>Letz et al. <ref type="bibr" target="#b36">[21]</ref> motivate the importance of enforcing strictness constraints in dimensions using constraints represented in dimensions hierarchies. In particular, the constraints are used to keep dimensions strict upon successive update operations. Pedersen et al. <ref type="bibr" target="#b38">[23]</ref> present a method to model non-strict dimensions as strict dimensions when the OLAP implementation requires the dimensions to be strict. In our setting, in contrast, the objective is to clean errors that turn a dimension inconsistent with respect to a set of constraints. The problem of repairing relational databases with respect to a set of integrity constraints (e.g. functional dependencies and inclusion dependencies) has been extensively studied (see <ref type="bibr">[4]</ref> for a survey). Even though there are several ways to represent a data warehouse using relations (e.g. star schema or snowflake schema <ref type="bibr" target="#b25">[10,</ref><ref type="bibr" target="#b33">18]</ref>) it is not possible to use the relational repair techniques to compute DW's repairs. This is because, it is either not possible to represent the required strictness and covering constraints with the relational constraints, or the minimal relational repairs obtained by tuple deletions, insertions or updates do not coincide with the minimal repairs of DWs. Indeed, they might result in the removal of more roll-up relations than needed or in discarding repairs that are minimal in the DWs sense, but not in the relational case.</p><p>Logic programs have been used to specify the repairs of relational databases with respect to relational integrity constraints (e.g. functional dependencies, foreign key constraints) <ref type="bibr">[2,</ref><ref type="bibr">3,</ref><ref type="bibr" target="#b22">7]</ref>. As far as we know, this paper is the first work on the application of logic programs to restore consistency of DWs.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusions</head><p>In this paper we propose logic programs to compute repairs of dimensions, which are obtained by performing insertions and deletions of edges between dimension elements. We do not consider the insertion or elimination of dimension elements, options that might be helpful to restore consistency of dimensions. We leave this analysis for future work.</p><p>Since an enterprise data warehouses can contain terabytes of data <ref type="bibr" target="#b25">[10]</ref> ensuring that the dimensions satisfy the required integrity constraints can be vital for an efficient computation of reports and summaries. Therefore, it is important to develop tools to allow the designer of a DW to check integrity constraints and to help in the process of repairing inconsistencies with respect to them. We believe that such tools would be particularly useful in the creation and cleaning stage of DWs and when the dimensions are updated and adapted due to changes in data sources or modifications to the business rules <ref type="bibr" target="#b21">[6,</ref><ref type="bibr" target="#b30">15,</ref><ref type="bibr" target="#b31">16,</ref><ref type="bibr" target="#b37">22]</ref>.</p><p>We have explored a novel line of research which is the application of logic programming to support data cleaning tasks in data warehousing. An interested idea for future research is to compute consistent answers to queries over DWs, following the framework proposed in <ref type="bibr">[1,</ref><ref type="bibr">4]</ref>, where repairs are used as auxiliary concepts to characterize consistent answers to queries. A preliminary analysis in this direction is presented in <ref type="bibr">[5]</ref>.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Dimension for Example 1</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. A Publication dimension inconsistent with respect to Article→Area and Article⇒All</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head></head><label></label><figDesc>where H D = (C HD , ր HD ) is a hierarchy schema; E D is a set of constants, called elements; Cat D : E D → C HD is a function that defines to which category each element in E D belongs to; and the relation &lt; D ⊆ E D × E D represents the child/parent relations between elements of different categories. We denote by &lt; * D the reflexive and transitive closure of &lt; D . The following conditions hold: (i) all D is the only element in category All HD (ii) for all pair of elements a, b ∈ E D if a &lt; D b then Cat D (a) ր HD Cat D (b). Condition (ii) ensures that the child/parent relation (&lt; D ) only connects elements of categories that are connected in the schema. Example 5. Let D = (H D , E D , Cat D , &lt; D ) be the dimension given in Figure 1(b).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Example 6 .</head><label>6</label><figDesc>there is a rollup relation denoted by R D (c i , c j ) that has the following set of pairs {(a, b)|Cat D (a) = c i , Cat D (b) = c j and a &lt; * D b}. Dimension in Figure 1 has, for example, R D (Article, Journal) = {(a1,b1), (a2,b2)} and R D (Article, Subject) = {(a2,d1), (a2,d2)}.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Figure 2 (</head><label>2</label><figDesc>b)-(c) shows repairs of the dimension D with respect to Σ. Repair D 1 is obtained by deleting edge (a1,b2) and inserting (a2,d1), and repair D 2 is obtained by deleting (a1,b1) and inserting (a2,d1). There are other possible repairs, for instance, a repair D 3 can be obtained by deleting edge (b1,c1) and inserting edges (b1,c2) and (a2,d1). Even though repair D 3 get rid of the inconsistencies, repairs D 1 , and D 2 remain closer to dimension D.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Definition 1 .</head><label>1</label><figDesc>[Repair, Minimal Repair] Let D = (H D , E D , Cat D , &lt; D ) be a dimension and Σ be a set of integrity constraints over H D .</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Example 9 .</head><label>9</label><figDesc>The distance between D and the repairs in Figure 2(b)-(c) are dist (D, D 1 ) = dist (D, D 2 ) = 2. Indeed, D 1 , and D 2 are the minimal repairs of D with respect to Σ.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head></head><label></label><figDesc>element a belongs to category C in dimension D R(a, b, C1, C2) in D, the parent of element a is b, CatD(a) = C1 and CatD(b) = C2 R ′ (a, b, C1, C2) in D ′ , the parent of element a is b, CatD(a) = C1 and CatD(b) = C2 RT ′ (a, b, C1, C2) transitive closure of R ′ Ins(a, b, C1, C2) the child/parent relation (a, b) with CatD(a) = C1 and CatD(b) = C2, was inserted to get D ′ Del(a, b, C1, C2) the child/parent relation (a, b) with CatD(a) = C1 and CatD(b) = C2, was removed to get D ′</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head>Example 10 .Fig. 3 .</head><label>103</label><figDesc>Fig. 3. Phone Dimension and repairs of it with respect to Σc(H) ∪ Σs(H)</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_9"><head>6 : M 1 =</head><label>61</label><figDesc>{Ins(N2, 45, Number, AreaCode), Ins(CCP, IX, City, Region), Del (CCP, VIII, City, Region)}, M 2 = { Ins(N3, 41, Number, AreaCode), Ins(N2, 45, Number, AreaCode), Del (N3, 45, Number, AreaCode)} and M 3 ={Ins(N3, TEM, Number, City), Ins(N2, 45, Number, AreaCode), Del (N3, CCP, Number, City)}. The total weight of each best model corresponds to the distance between each of the repairs and dimension D. Each of these models corresponds indeed to the repairs of D P hone with respect to Σ c (H) ∪ Σ s (H) shown in Figure 3(c)-(e).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_10"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. del-Dimension for Example 11</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>: ϕ 1 : Article ⇒ All, ϕ 2 : Journal ⇒ All, ϕ 3 : Area ⇒ All, ϕ 4 : Subject ⇒ All, which state that the rollup relations from categories Article, Journal, Area and Subject to All are covering, and the constraint ϕ 5 : Article → Area establishing that the rollup relation from Article to Area is strict. However, dimension D fail to satisfy constraint ϕ 5 , since element a1 goes to two different elements: c1 and c2 in the Area category. Also, D violates ϕ 1 because element a2 does not reach all. Repair D 1 is obtained by deleting edge (a 1 , b 2 ) to remove the violation of ϕ 5 and inserting (a 2 , d 1 ) to remove the violation of ϕ 1 . Repair D 2 is obtained by deleting edge (a 1 , b 1 ) and inserting (a 2 , d 1 ).</figDesc><table><row><cell>The DW administrator considers that</cell></row><row><cell>the constraints properly capture the semantics of the data, and therefore their</cell></row><row><cell>violation indicates the presence of errors. Therefore, the dimension should be</cell></row><row><cell>repaired (corrected) in order to resolve the inconsistency. Figure 2(b)-(c) are</cell></row><row><cell>two possible repairs of D.</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>hierarchy schema H consists of a pair (C H , ր H ), where (C H , ր H ) is an acyclic directed graph. Vertices in the set C H are categories and the edges ր H represent the child/parent relations between categories. The transitive and reflexive closure of ր H is denoted by ր * H . The set of categories C H contains a distinguished top category denoted All H , which is reachable from every other category in C H and has no outgoing edges, that is, there is no category</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table 1 .</head><label>1</label><figDesc>Predicates of the repair program Π(D, Σ) that computes a repair D ′ of D with respect to Σ</figDesc><table /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_0">To simplify the presentation we show only the Ins and Del atoms which show the modifications needed to restore consistency.</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgements: Loreto Bravo is funded by CONICYT grant PSD-57. Mónica Caniupán is funded by FONDECYT grant #11070186.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title/>
		<author>
			<persName><forename type="first">R</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AreaCode). R</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<author>
			<persName><forename type="first">R(n1</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Tch</forename></persName>
		</author>
		<title level="m">R(N2,TEM</title>
				<meeting><address><addrLine>City; City</addrLine></address></meeting>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title/>
		<author>
			<persName><forename type="first">R(</forename></persName>
		</author>
		<imprint>
			<date>N3</date>
			<publisher>CCP</publisher>
			<pubPlace>City</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<author>
			<persName><forename type="first">R</forename></persName>
		</author>
		<title level="m">IX,AreaCode,Region). R(41,VIII,AreaCode,Region). R</title>
				<meeting><address><addrLine>TCH,VIII,City,Region</addrLine></address></meeting>
		<imprint>
			<biblScope unit="volume">45</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<author>
			<persName><forename type="first">R(</forename><surname>Tem</surname></persName>
		</author>
		<title level="m">R(CCP,VIII</title>
				<meeting><address><addrLine>City,Region; City,Region</addrLine></address></meeting>
		<imprint>
			<biblScope unit="volume">IX</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<author>
			<persName><forename type="first">R</forename></persName>
		</author>
		<title level="m">(IX</title>
				<meeting><address><addrLine>Region,All</addrLine></address></meeting>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">R</forename></persName>
		</author>
		<title level="m">(VIII</title>
				<meeting><address><addrLine>Region,All</addrLine></address></meeting>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">areaCode) ← Number(X)</title>
		<author>
			<persName><forename type="first">R ′ (x</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Number</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">AreaCode(Y ), choice</title>
				<meeting><address><addrLine>X, areaCode; Y</addrLine></address></meeting>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<author>
			<persName><forename type="first">R ′ (x</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Number</surname></persName>
		</author>
		<title level="m">city) ← Number(X)</title>
				<meeting><address><addrLine>City(Y ), choice; X, city)(Y</addrLine></address></meeting>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<author>
			<persName><forename type="first">R ′ (x</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename></persName>
		</author>
		<title level="m">region) ← AreaCode(X), Region(Y ), choice</title>
				<meeting><address><addrLine>X, region; Y )</addrLine></address></meeting>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<author>
			<persName><forename type="first">R ′ (x</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>City</surname></persName>
		</author>
		<title level="m">region) ← City(X), Region(Y ), choice</title>
				<meeting><address><addrLine>X, region; Y</addrLine></address></meeting>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<author>
			<persName><forename type="first">R ′ (x</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename></persName>
		</author>
		<title level="m">← AreaCode(X), All(Y ), choice</title>
				<meeting><address><addrLine>X, all; Y</addrLine></address></meeting>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">← City(X), All(Y ), choice</title>
		<author>
			<persName><forename type="first">R ′ (x</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>City</surname></persName>
		</author>
		<imprint>
			<pubPlace>X, all; Y</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<ptr target="http://www.dbai.tuwien.ac.at/proj/dlv/" />
		<title level="m">DLV System</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<ptr target="http://www.tcs.hut.fi/Software/smodels/" />
		<title level="m">Smodels System</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title/>
		<author>
			<persName><forename type="first">R</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<date>a1</date>
		</imprint>
	</monogr>
	<note>Article</note>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Consistent Query Answers in Inconsistent Databases</title>
		<author>
			<persName><forename type="first">M</forename><surname>Arenas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Bertossi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Chomicki</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">PODS&apos;99</title>
				<imprint>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="68" to="79" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Answer Sets for Consistent Query Answering in Inconsistent Databases</title>
		<author>
			<persName><forename type="first">M</forename><surname>Arenas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Bertossi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Chomicki</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">TPLP</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">4-5</biblScope>
			<biblScope unit="page" from="393" to="424" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Logic Programs for Querying Inconsistent Databases</title>
		<author>
			<persName><forename type="first">P</forename><surname>Barceló</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Bertossi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">PADL 03</title>
		<title level="s">Springer LNCS</title>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="volume">2562</biblScope>
			<biblScope unit="page" from="208" to="222" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Consistent Query Answering in Databases</title>
		<author>
			<persName><forename type="first">L</forename><surname>Bertossi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Sigmod Record</title>
		<imprint>
			<biblScope unit="volume">35</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="68" to="76" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Consistent Query Answering in Data Warehouses</title>
		<author>
			<persName><forename type="first">L</forename><surname>Bertossi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Bravo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Caniupan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AMW&apos;</title>
		<imprint>
			<biblScope unit="volume">09</biblScope>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Handling Evolutions in Multidimensional Structures</title>
		<author>
			<persName><forename type="first">M</forename><surname>Body</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Miquel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Bédard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Tchounikine</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICDE&apos;03</title>
				<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="581" to="591" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Semantically Correct Query Answers in the Presence of Null Values</title>
		<author>
			<persName><forename type="first">L</forename><surname>Bravo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Bertossi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IIDB 06</title>
		<title level="s">Springer LNCS</title>
		<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">4254</biblScope>
			<biblScope unit="page" from="336" to="357" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Enhancing Disjunctive Datalog by Constraints</title>
		<author>
			<persName><forename type="first">F</forename><surname>Buccafurri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Rullo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">TKDE</title>
		<imprint>
			<biblScope unit="volume">12</biblScope>
			<biblScope unit="issue">5</biblScope>
			<biblScope unit="page" from="845" to="860" />
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">Querying Multidimensional Databases</title>
		<author>
			<persName><forename type="first">L</forename><surname>Cabibbo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Torlone</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">DBLP&apos;98</title>
				<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="1998">1998</date>
			<biblScope unit="page" from="319" to="335" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">An Overview of Data Warehousing and OLAP Technology</title>
		<author>
			<persName><forename type="first">S</forename><surname>Chaudhuri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">U</forename><surname>Dayal</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SIGMOD Record</title>
		<imprint>
			<biblScope unit="volume">26</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="65" to="74" />
			<date type="published" when="1997">1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">The Stable Model Semantics for Logic Programming</title>
		<author>
			<persName><forename type="first">M</forename><surname>Gelfond</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Lifschitz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICLP&apos;88</title>
				<imprint>
			<date type="published" when="1988">1988</date>
			<biblScope unit="page" from="1070" to="1080" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">Programming with Nondeterminism in Deductive Databases</title>
		<author>
			<persName><forename type="first">F</forename><surname>Giannotti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Greco</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Saccà</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Zaniolo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AMAI</title>
		<imprint>
			<biblScope unit="volume">19</biblScope>
			<biblScope unit="issue">1-2</biblScope>
			<biblScope unit="page" from="97" to="125" />
			<date type="published" when="1997">1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">Capturing Summarizability with Integrity Constraints in OLAP</title>
		<author>
			<persName><forename type="first">C</forename><surname>Hurtado</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Gutierrez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Mendelzon</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">TODS</title>
		<imprint>
			<biblScope unit="volume">30</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="854" to="886" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">Reasoning about Summarizability in Heterogeneous Multidimensional Schemas</title>
		<author>
			<persName><forename type="first">C</forename><surname>Hurtado</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Mendelzon</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICDT&apos;01</title>
				<imprint>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="375" to="389" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title level="a" type="main">Maintaining Data Cubes under Dimension Updates</title>
		<author>
			<persName><forename type="first">C</forename><surname>Hurtado</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Mendelzon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Vaisman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICDE&apos;99</title>
				<imprint>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="346" to="355" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<analytic>
		<title level="a" type="main">Updating OLAP Dimensions</title>
		<author>
			<persName><forename type="first">C</forename><surname>Hurtado</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Mendelzon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Vaisman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">DOLAP&apos;99</title>
				<imprint>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="60" to="66" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b32">
	<analytic>
		<title level="a" type="main">What can Hierarchies do for Data Warehouses?</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">V</forename><surname>Jagadish</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Lakshmanan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Srivastava</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">VLDB&apos;99</title>
				<imprint>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="530" to="541" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b33">
	<monogr>
		<title level="m" type="main">The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling</title>
		<author>
			<persName><forename type="first">R</forename><surname>Kimball</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ross</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>John Wiley &amp; Sons, Inc</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b34">
	<analytic>
		<title level="a" type="main">Summarizability in OLAP and Statistical Data Bases</title>
		<author>
			<persName><forename type="first">H</forename><surname>Lenz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Shoshani</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SSDBM&apos;97</title>
				<imprint>
			<date type="published" when="1997">1997</date>
			<biblScope unit="page" from="132" to="143" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b35">
	<analytic>
		<title level="a" type="main">The DLV System for Knowledge Representation and Reasoning</title>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Pfeifer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Gottlob</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Koch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Mateis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Perri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Scarcello</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">TOCL</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="499" to="562" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b36">
	<analytic>
		<title level="a" type="main">Consistency in Data Warehouse Dimensions</title>
		<author>
			<persName><forename type="first">C</forename><surname>Letz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Henn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Vossen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IDEAS&apos;02</title>
				<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="224" to="232" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b37">
	<analytic>
		<title level="a" type="main">Temporal Queries in OLAP</title>
		<author>
			<persName><forename type="first">A</forename><surname>Mendelzon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Vaisman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">VLDB&apos;00</title>
				<imprint>
			<date type="published" when="2000">2000</date>
			<biblScope unit="page" from="242" to="253" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b38">
	<analytic>
		<title level="a" type="main">Extending Practical Pre-Aggregation in On-Line Analytical Processing</title>
		<author>
			<persName><forename type="first">T</forename><surname>Pedersen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Jensen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Dyreson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">VLDB&apos;99</title>
				<imprint>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="663" to="674" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b39">
	<analytic>
		<title level="a" type="main">A Foundation for Capturing and Querying Complex Multidimensional Data</title>
		<author>
			<persName><forename type="first">T</forename><surname>Pedersen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Jensen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Dyreson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Inf. Syst</title>
		<imprint>
			<biblScope unit="volume">26</biblScope>
			<biblScope unit="issue">5</biblScope>
			<biblScope unit="page" from="383" to="423" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b40">
	<analytic>
		<title level="a" type="main">STORM: a Statistical Object Representation Model</title>
		<author>
			<persName><forename type="first">M</forename><surname>Rafanelli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Shoshani</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SSDBM&apos;90</title>
				<imprint>
			<date type="published" when="1990">1990</date>
			<biblScope unit="page" from="14" to="29" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b41">
	<analytic>
		<author>
			<persName><forename type="first">T</forename><surname>Syrjänen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Niemelä</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LPNMR&apos;01, chapter The Smodels System</title>
				<imprint>
			<date type="published" when="2001">2173. 2001</date>
			<biblScope unit="page" from="434" to="438" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
