A Multidimensional DataWarehouse (MDW) is a historical data repository that integrates data from multiple sources. MDWs are organized according to dimensions and fact tables. While dimensions provide the perspectives upon which data are viewed, fact tables store tuples that can be viewed as points in spaces formed by dimensions. A dimension is modeled as a hierarchy of elements, where each element belongs to a category from a hierarchy of categories. A fundamental consistency property of a dimension, known as strictness, requires each element to have no more than one ancestor in each category. This property is crucial for the efficiency of MDWs since it allows for the correct computation of aggregate queries using pre-computed views. Strictness of a dimension is usually checked when the dimension data are loaded or after update operations. If strictness is violated, it might not be feasible for MDW developers and administrators to manually repair large dimensions.
In this talk, we present a logic programming framework to support this task. We show the importance of the strictness property for MDW query processing, introduce the notion of a minimal repair of a MDW dimension and present some complexity results. We also characterize repairs using Datalog programs with stable model semantics and show some preliminary experiments.