<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Discovering Functional Dependencies and Association Rules by Navigating in a Lattice of OLAP Views</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pierre Allard⋆</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>S´ebastien Ferr´e</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Olivier Ridoux</string-name>
          <email>ridoux@irisa.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IRISA, Universit ́e de Rennes 1</institution>
          ,
          <addr-line>Campus de Beaulieu 35042 Rennes Cedex</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <fpage>199</fpage>
      <lpage>210</lpage>
      <abstract>
        <p>Discovering dependencies in data is a well-know problem in database theory. The most common rules are Functional Dependencies (FDs), Conditional Functional Dependencies (CFDs) and Association Rules (ARs). Many tools can display those rules as lists, but those lists are often too long for inspection by users. We propose a new way to display and navigate through those rules. Display is based on On-Line Analytical Processing (OLAP), presenting a set of rules as a cube, where dimensions correspond to the premises of rules. Cubes reflect the hierarchy that exists between FDs, CFDs and ARs. Navigation is based on a lattice, where nodes are OLAP views, and edges are OLAP navigation links, and guides users from cube to cube. We present an illustrative example with the help of our prototype.</p>
      </abstract>
      <kwd-group>
        <kwd>Functional Dependencies</kwd>
        <kwd>Association Rules</kwd>
        <kwd>FCA</kwd>
        <kwd>OLAP</kwd>
        <kwd>Navigation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Discovering dependencies in data is a well-know problem in database theory.
Using dependency rules can help to prevent redundancy, to optimize queries
and to avoid update errors. There are many softwares for computing dependency
rules in a table. They generally provide the rules as a list. The main problem
for users is to find the relevant information in those lists. Therefore, users need
tools to navigate among them, and to check them. In this paper, we present how
to create views over a table, such that users are able to visualize rules. Then we
present how to guide users to navigate from a view to another.</p>
      <p>
        We study the discovery of the following kinds of rules. Functional
Dependencies (FDs) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] are dependencies that are valid on entire tables. Conditional
Functional Dependencies (CFDs) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] are FDs that apply on a subset of a table.
⋆ Pierre Allard benefits from a doctoral grant from R´egion Bretagne.
      </p>
      <p>
        Association Rules (ARs) [
        <xref ref-type="bibr" rid="ref1 ref19">1, 19</xref>
        ] are dependencies that apply for particular values
of some attributes. An AR can be exact or approximate. Medina and Nourine
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] present the hierarchy that exists between FDs, CFDs and ARs [
        <xref ref-type="bibr" rid="ref16 ref19">19, 16</xref>
        ], with
the help of Formal Concept Analysis (FCA) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Those rules are always in the
form premises → conclusion.
      </p>
      <p>
        The number of rules extracted from a table is often too high. We must
therefore provide to the user synthetic views showing a subset of rules. In a number
of works, those views are defined by premises and conclusion [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Most works
is about rule visualization, rather than on which view to choose [
        <xref ref-type="bibr" rid="ref18 ref5">18, 5</xref>
        ]. In this
paper, we use another database tool, On-Line Analytical Processing (OLAP) to
create and navigate between views. OLAP [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is often used in Business
Intelligence environments. It allows users to aggregate (e.g. sum, average) data at
several granularity levels, without knowing a query langage, and to display
results in charts. We are interested in OLAP because of the OLAP data structure:
cubes, i.e. multidimensional representations of data. A cube is defined by a
measure (the values, e.g. the sales) and a set of dimensions (e.g., by month). In this
paper, we show that dependency rules can be found visually in a cube, because
of the similarity of the form premises → conclusion of the dependency rules and
the form dimensions → measure of the cubes. Several papers use lattices along
OLAP, often for supporting the precomputation of OLAP cubes [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Casali et
al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] show a method to organize cubes in a closed cube lattice, to improve
the computation of aggregations. Medina and Nourine [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] create a concept
lattice, where each concept is a set of dimensions. Their work allows to discover
dependency rules from the lattice.
      </p>
      <p>
        The number of different cubes can be too high to vizualize them all.
Therefore, users need tools to navigate from cube to cube. We relate this work to
Logical Information Systems (LIS) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. LIS allow users to browse a context (in
the sense of FCA) by navigating from concept to concept. The most common
OLAP navigation links allow to add or remove a dimension, or to change the
granularity level of a dimension. We show that the OLAP navigation links can
be used in addition to LIS navigation links.
      </p>
      <p>The main motivation for this paper is to demonstrate that OLAP offers a
good support to display and navigate the dependency rules. First we introduce
the concepts and definitions, along with illustrative examples, that are needed
in our study (Section 2). Next we present how to visualize dependency rules in a
cube (Section 3). Then we present how to navigate from cube to cube (Section 4).
Finally, we detail an example of navigation (Section 5), and conclude (Section 6).
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background and Definitions</title>
      <p>
        A relation, as in databases, is comparable to a many-valued context. A relation
schema R is defined by a set of attributes Attr(R). The domain of each attribute
A ∈ Attr(R) is denoted by Dom(A). An instance of a relation schema R, a
relation r, is a set of transactions. Each transaction t maps a value to each
attribute. The notation t[X] represents the values of the transaction t, for the
Seller
J ohn
Abby
Abby
Abby
Abby
J im
Bob
J ohn
J im
Bob
attribute sequence X. Table 1 shows the example relation re, which is an instance
of Re and contains a set of sales. This relation is extracted from [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. We only
changed the labels of values to render the relation less abstract and to add
granularity levels (used in Section 3.2).
      </p>
      <p>
        In this article, we only study dependency rules whose conclusion has a single
attribute. A Functional Dependency (FD) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] expresses the fact that some
attribute (the conclusion) of a relation is determined by a set of other attributes
(the premises). We only study exact FDs and not Approximate Dependencies
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>A FD X → Y , with X ⊆ Attr(R) and Y ∈ Attr(R), is valid on r if ∀t1, t2 ∈
r, (t1[X] = t2[X]) ⇒ (t1[Y ] = t2[Y ]).</p>
      <p>
        A Conditional Functional Dependency (CFDs) [
        <xref ref-type="bibr" rid="ref14 ref8">8, 14</xref>
        ] is defined by a pair
ϕ = (X → Y, Tp), where X → Y is a FD, and Tp ⊆ r is a set of patterns
called tableau. ϕ is valid if ∀t1, t2 ∈ Tp, (t1[X] = t2[X]) ⇒ (t1[Y ] = t2[Y ]).
For example, ϕe = (P roduct → N umber, {( , , , BM X, , ), (01/23, , , , , )})
represents the FD P roduct → N umber restricted to the subset of sales where
P roduct = BM X or Date = 01/23, whatever the other attribute values are.
The notation represents any value of the corresponding attribute.
      </p>
      <p>
        An Association Rule (AR) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] expresses the fact that the value of an attribute
(the conclusion) is determined by the values of other attributes (the premises).
An AR d is denoted by d = X → Y , where X = ((A1 = b1) ∧ . . . ∧ (Ap = bp) and
Y = (Aq = bq)), with Ai ∈ Attr(R) and bi ∈ Dom(Ai). The support of an AR
is the number of transactions matching both the premises and the conclusion.
The confidence conf (d, r) of d is the ratio of transactions respecting the AR.
When conf (d, r) = 1, the AR is said exact. Traditionally, users are interested
in exact ARs. Approximate ARs (AAR) [
        <xref ref-type="bibr" rid="ref16 ref19">19, 16</xref>
        ] are ARs having a confidence
&lt; 1.
      </p>
      <p>
        Huhtala et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] use the notion of X-complete relation [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and a closure
operator to find FDs. A relation r is X-complete if ∀t1, t2 ∈ r, t1[X] = t2[X].
A relation r can be decomposed into a set of subsets r′ ⊆ r, where each r′ is
      </p>
      <p>
        X-complete. Applying a closure operator, it is possible to form FDs. The
Xcomplete partition lattice consists of concepts which represent the partitions,
ordered by FD and labelled to find CFD. Medina and Nourine [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] show the
Xcomplete partition lattice of a relation. Each concept shows the set of attributes
X and a tableau Tp, such that the transactions of Tp are X-complete. Each edge
(X, Y ) is labelled by a tableau Tp, such that r |= (X → Y, Tp). The benefits of
this lattice is that it gives a synthetic view of the CFDs and ARs of a relation.
      </p>
      <p>
        Codd introduced the concept of On-Line Analytical Processing (OLAP) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
Originally, OLAP is designed for Business Intelligence. Indeed, it allows users
to aggregate quickly large sets of values, depending on study axes, and to
create charts. OLAP users do not need to know a specific language to query the
database. Data contained in OLAP warehouses are multidimensionally
structured. Each fact of the table contains a measure value (the data that will be
aggregated), and dimension values for each study axe. For example, the sale
amounts (measure) by store, and by date (dimensions). Each dimension can have
several levels of granularity. For example, the date dimension can be expressed
by day, month or year. An OLAP table is represented by a cube, reflecting the
multidimentional structure. OLAP users can trigger navigation links to navigate
from cube to cube.
      </p>
      <p>
        The main problem of OLAP is that the navigation space is restricted by the
starting cube. For instance, OLAP users can neither change the measure (e.g.,
set the store as measure), nor add a dimension (e.g., add a seller dimension).
A request to the database administrator is necessary to extract a new starting
cube. Some authors present an OLAP model that overcomes this limitation [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
The measure is considered as a special dimension, and can be exchanged with the
help of an additional navigation link. In recent years, works on OLAP allowed it
to scale to large databases, especially with the help of precomputation [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. In
this paper, we focus on the OLAP concepts of cube structure, granularity levels
and navigation links. We do not consider here aspects related to the display of
charts, and the precomputation of views. We define cube schemas and cubes.
Definition 1 (Cube Schema, Cube). A cube schema C is defind by a tuple
of dimensions, Dim(C) = (A1, . . . , Ap), and a measure, M eas(C) = Aq. A cube
c that is an instance of C is defined as a function: Dom(A1) × . . . × Dom(Ap) →
Dom(Aq). This total function allows to access the contents of each cell of the
cube.
      </p>
      <p>We study OLAP because of the representation of a cube. Indeed, each cell of a
cube represents a transaction or a set of transactions, ordered in a cube structure.
The mining of FD implies to check, for any combination of the premise values, if
the conclusion value is the same. The cube structure presents all combinations
of premise values.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Relation Projections</title>
      <p>In our mining of dependency rules, we introduced OLAP, because of the
similarity between the form premises → conclusion of the dependency rules, and the</p>
      <p>Date
01/09 01/16 01/23 02/06 02/13 02/20 02/27
{{J ohn}} {{Abby, Abby}} {{Abby, J im}} {{Bob}} {{J ohn}} {{J im}} {{Bob}}
form dimensions → measure of the cubes. In order to extract rules from a cube,
we need to project the relation into a cube.
3.1</p>
      <sec id="sec-3-1">
        <title>Projection of a Relation into a Cube</title>
        <p>A cube actually forms a particular view of a relation. The main difference is
the distinction between dimensions and the measure, which does not exist in a
relation. We use this distinction to form dependency rules. For each transaction
of the relation, we place the measure value in the cell of the cube corresponding to
the dimension values. The measure values of each cell are usually aggregated. In
our study, we retain the measure values as a multiset, because we are interested
in dependency rules. Therefore, a cube is defined by a total function c that
returns for each cell a multiset of measure values. Thereafter, we consider that
an attribute has the same domain in the relation schema and the cube schema.
Definition 2 (Projection of a relation into a cube). Let r be a relation
with attributes Attr(r). A cube c is obtained by the projection of the relation r
on dimensions Dim(c) = (D1, . . . , Dp) such that Di ∈ Attr(r) for i ∈ [1, p],
and on the measure M eas(c) = Dq ∈ Attr(r). The domain of the dimensions
are the same as the domain of their corresponding attributes in the relation.
The domain of the measure M eas(Dq) is made of multisets over Dom(Dq). The
cube c is defined by (the double curly braces denote multisets):
c(b0, . . . , bp) = {{bq|t ∈ r, (t[D1] = b0) ∧ . . . ∧ (t[Dp] = bp) ∧ (t[Dq] = bq)}}.</p>
        <p>For example, Table 2 shows the projection ce of re, where the dimensions
are Dim(ce) = (Date) and the measure is M eas(ce) = Seller. The result of the
projection is like a traditional OLAP cube, but data are not aggregated. The
advantages are that any kind of value can be studied (e.g. strings), and there is
no information loss for rule visualization.</p>
        <p>Now we show that FDs, CFDs and exact ARs can be visually found in the
relation projection (cube), and that the hierarchy between those rules is
respected. Indeed, a cell of the cube at coordinates D1 = d1, . . . , Dp = dp contains
the multiset of values taken by the attribute Dq, in all transactions such that
D1 = d1, . . . , Dp = dp. The definition of exact ARs D1 = d1 ∧ . . . ∧ Dp =
dp → Dq = dq is that for any transaction such that D1 = d1 ∧ . . . ∧ Dp = dp,
then Dq = dq. Then, in this cell, if there is only one value in the multiset (e.g.
{{a, a}}), there is an exact AR at this coordinate. If there is more than one value
(e.g. {{a, a, b}}), the AR is approximate. Therefore, the cube is a synthetic view
of all the possible ARs following the dimensions and measure.</p>
        <p>Theorem 1 (Association Rule in the cube). Let d = (D1 = b1)∧. . .∧(Dp =
bp) → (Dq = bq) be an AR, and c be a cube with Dim(c) = (D1, . . . , Dp), and
M eas(c) = Dq. The support of this rule is equal to the number of elements that
have value bq in the cell of c at coordinates (b1, . . . , bp):</p>
        <p>sup(d, r) = k{{b|b ∈ c(b1, . . . , bp) ∧ b = bq}}k.</p>
        <p>The confidence is equal to the ratio of elements bq on all the elements on the
cell at coordinates (b1, . . . , bp):
conf (d, r) =</p>
        <p>sup(d, r)
kc(b1, . . . , bp)k
.</p>
        <p>
          There exists a hierarchy between FDs, CFDs and ARs [
          <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
          ]. Indeed, a FD
X → Y is equivalent to a CFD (X → Y, Tp) where Tp = r (i.e. Tp selects all
transactions in the relation). Moreover, a CFD is equivalent to a set of ARs.
For example, the CFD (Date → Seller, {(01/09, , , , , ), (01/23, , , , , )})
is equivalent to the set of ARs {(Date = 01/09 → Seller = J ohn), (Date =
01/23 → Seller = Abby)}. There is a complete hierarchy between FDs, CFDs
and ARs. Following the same reasoning as for ARs, it is possible to find CFDs
and FDs in a cube. Let c be a cube. If each cell of c contains one or zero element
in its multiset, then the FD Dim(c) → M eas(c) is valid. That can be justified
by the fact that a FD can be decomposed into a set of ARs, from [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
Theorem 2 (Functional Dependency in the cube). Let D1, . . . , Dp → Dq
be an FD in a relation r, and c be a cube with Dim(c) = (D1, . . . , Dp), and
M eas(c) = Dq. This FD is valid in r iff, in c:
∀(b1, . . . , bp) ∈ (Dom(D1) × . . . × Dom(Dp)), ∀v1, v2 ∈ c(b1, . . . , bp), v1 = v2.
        </p>
        <p>
          The definition of a CFD in the cube is between the definition of an AR and
a FD. If each cell in a subset of the cube (e.g. a line or a square subset) contains
one or zero element in its multiset, then there is a valid CFD, whose pattern
tableau covers the subset of the cube. The hierarchy established by [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] is here
confirmed, according to the number of cells with one or zero element.
        </p>
        <p>For example, Table 2 shows dependency rules. We note that each cell except
{{Abby, J im}} has one distinct value. This implies that there are ARs at those
cells (e.g. Date = 01/06 → Seller = Abby), and a CFD whose pattern covers
those cells ((Date → Seller, {(01/09, , , , , ), . . .})). On the contrary, no FD
can be found from this view.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Granularity Levels</title>
        <p>
          A major strength of OLAP is the definition of taxonomies on the dimensions.
Indeed, the dimension values are hierarchically organized, according to several
levels of granularity. In traditional OLAP, an aggregation function can synthesize
the grouped data, using a function (e.g., sum, average, count). Han and Fu [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]
show methods to find ARs at several levels of granularity. It is interesting to see
how ARs, then FDs, can be seen in a cube with taxonomies. We now formalize
the taxonomy of dimensions.
        </p>
        <p>Definition 3 (Dimension taxonomy). Let D be a dimension. This
dimension, at granularity level δ, is denoted by D ∼ δ. A dimension taxonomy on
D is defined by a set of n ordered levels Δ = {1, . . . , n} (1 is the most general
level), and a set of subsumption axioms bi ⊑ bj (i.e., bi is more specific than bj ),
with bi ∈ Dom(D ∼ i), bj ∈ Dom(D ∼ j), and j = i − 1. The levels form
a partition of the dimension domain, i.e., Dom(D) = ∪i∈nDom(D ∼ i) and
∀i, j ∈ 1 . . . n, Dom(D ∼ i) ∩ Dom(D ∼ j) = ∅. To get a more concise notation,
a dimension without taxonomy keeps its old notation.</p>
        <p>Definition 4 (Projection of a relation in a cube with taxonomies). Let
r be a relation with attributes Attr(r). A cube c is the projection of the relation
with taxonomies, on dimensions Dim(c) = (D1, . . . , Dp) such that Di ∈ Attr(r),
and a set of levels (δ1, . . . , δp) for each dimension, and a measure M eas(c) = Dq,
with Dq ∈ Attr(r) and δq a level of Dq. The domains of elements of Dim(c) are
equivalent to the domains of the corresponding elements of Dom(Di ∼ δi). The
domain of M eas(c) is equivalent to the multiset of Dom(Dq ∼ δq). The projected
cube c is defined by:</p>
        <p>c(b′1, . . . , b′p) = {{b′q|t ∈ r, ∀k ∈ 1 . . . p, q, (t[Dk] = bk ∧ bk ⊑ b′k)}}.</p>
        <p>This definition allows users to create new cubes, at several granularity levels.
This implies that more dependency rules can be extracted from the relation.
For instance, Table 3 shows the result of the projection of re in cet, with the</p>
        <p>Seller</p>
        <p>J ohn
Abby
J im
Bob
dimensions Dim(cet) = (Date ∼ δmonth, Seller) and the measure M eas(cet) =
N umber. We can then deduce that the CFD ϕ2 = (Date ∼ δmonth ∧ Seller →
N umber, {( , J ohn, , , , ), ( , J im, , , , )}) is valid on re.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Navigation</title>
      <p>In the previous section we show that a projection of a relation into a cube allows
to see the FDs, CFDs and ARs, following the dimensions and the measure of the
cube. To give access to all dependency rules, we need to give access to cubes for
all dimension combinations, granularity levels, and measures.</p>
      <p>To navigate from cube to cube, changing granularity levels, adding or
removing dimensions, we use OLAP navigation links. Traditionally, OLAP systems do
not have an add navigation link, to add a dimension (because of the initial cube
problem). We add this navigation link. The set of navigation links is:
Roll-up (dimension / measure) Traditionnaly, a roll-up changes the granularity
level of a dimension. Our choice is to consider the measure as a special
dimension, then a roll-up can here be used on the measure. Formally, a
roll-up on D ∼ δi will modify it into D ∼ (δi−1).</p>
      <p>Drill-down (dimension / measure) Such as roll-up, drill-down changes the
granularity level of a dimension or a measure. A drill-down on D ∼ δi will modify
it into D ∼ (δi+1).</p>
      <p>Delete Deletes a dimension. Delete a dimension is a special case of roll-up (at
the top level).</p>
      <p>Add Adds a dimension.</p>
      <p>Those six navigation links change the number of values in the chosen
dimension, and hence the visible dependency rules. A roll-up (resp. drill-down) on a
dimension increases (resp. decreases) the number of values in this dimension.
This means that the multisets of measure values are splitted (resp. regrouped),
which promotes the appearance (resp. disappearance) of rules. Figure 2 shows
the set of accessible navigation links. The effect of each navigation link is given
for two starting cubes: one verifying an FD, and another not verifying an FD.
We detail the two phenomena explained above.</p>
      <p>The first phenomena is the splitting of the measure values (e.g. when the
user adds a dimension or drill-down a dimension). This splitting is important in
the mining of dependency rules. Indeed, we see that when values are dispatched
into separate cells, they have less chance to be with different values, then there
is a greater chance to have an AR or a FD. There is a similar phenomenon when
mining rules directly from relations. However, one has to be careful neither to
over-increase the granularity of the dimensions, nor to over-reduce the
granularity of the measure. Indeed, rules have more chance to appear, but their quality
and precision decrease.</p>
      <p>The second phenomena is the regroupment of the measure values (e.g. when
the user deletes a dimension or roll-up a dimension). If equal values are grouped
into a same cell, this does not change the rule at this coordinate. On the contrary,
if different values are grouped into a same cell, this breaks the dependency rule
at this coordinate. Figure 2 shows the two cases of value regroupments. This
figure helps the user to choose navigation links, to find new rules with the help
of OLAP navigation links.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Navigation Scenario</title>
      <p>
        In this section, we present our prototype Abilis and we show its use with the
example re. Abilis is a web application based on Logical Information System
(LIS) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. LIS allow users to query and navigate from concept to concept. LIS
defines navigation links to refine the set of objects by navigating to other
concepts. We have added a new view of the selected objects as a cube, as well as
the OLAP navigation links.
      </p>
      <p>We navigate with the example re, adding a taxonomy on each dimension.
Dates are organized by day and month; stores are organized by city and region;
products are organized by article and by type. We search for dependency rules
between products, numbers and stores. Table 4 presents the steps of our
navigation scenario. Figure 3 shows our prototype at step 8. It contains (1) the</p>
      <p>Step Dimensions Measure Query
0 () / All
1 () N umber All
2 (P roduct) N umber All
3 (P roduct) N umber not(P roduct = “AT V ′′)
4 (P roduct) Store not(P roduct = “AT V ′′)
5 (P roduct) Store All
6 (P roduct, N umber) Store All
7 (P roduct, N umber) Store ∼ δRegion All
8 (P roduct ∼ δT ype, N umber) Store ∼ δRegion All
9 (P roduct ∼ δT ype) Store ∼ δRegion All
current query (All means all the transactions), (2) the navigation tree (to add a
dimension or refine the query) and (3) the view, displayed as a cube. Each cell
of the cube shows the multiset of measure values as a tag cloud. For example,
(4) shows that the support of the rule P roduct ∼ δT ype = Bike ∧ N umber =
3 → Store ∼ δRegion is 2. The size of an item in a cell depends on the support
of the rule.</p>
      <p>The first view presents a single cell containing the 10 transactions (0). We
set N umber as the measure (1). The cube has always one cell, and displays
the proportion of the seven different number values (e.g. there is two sales with
N umber = 4). We add a dimension P roduct (2), to check dependencies like
P roduct → N umber. The resulting cube partitions the numbers into six cells,
one per product. Each case except ATVs contains one number value. We select all
transactions such that the product is not ATV (3). All cells of the resulting cube
contains one number value. Therefore, there is a CFD (P roduct → N umber, Tp),
where Tp contains cells where the product is not ATV.</p>
      <p>
        Now we want to work with the store locations. We change the measure to
Store (4) then we select all transactions (5). The resulting cube does not contain
a FD. Figure 2 shows that adding a dimension helps to have more dependencies.
We then add N umber as a new dimension (6). The resulting cube has two
dimensions and shows the CFD (P roduct, N umber → Store, Tp) with Tp containing
all the transactions except those where N umber = 3 and P roduct = BM X.
Indeed, this cell contains {{Quimper, Brest}}. Those two cities being in the same
region, we change the granularity level of the measure to Store ∼ δ Region
(7). The resulting cube shows a FD, because each cell contains zero or one
region. Figure 2 shows two possibilities of a roll-up in a dimension, with a
starting cube containing FD: either the FD is still valid, or it is made invalid. We
roll-up the P roduct dimension to P roduct ∼ δT ype (8). The FD is still valid.
Finally, we see that in each column of the current cube, there is only one
region. Then we delete the dimension N umber (9). The final cube shows a FD
P roduct ∼ δT ype → Store ∼ δRegion.
In this paper, we show that projecting a relation into a cube brings relevant
properties. First, Association Rules, Conditional Functional Dependencies and
Functional Dependencies are made visible in this synthetic view, through the
number of values in each cell. This is due to the similarity between the form
premises → conclusion of the dependency rules, and the form dimensions →
measure of the rules. Then, we show that the hierarchy established in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] is
consistent with our approach, and related to the number of cells containing one
or zero values. Using OLAP implies that we can now see the rules at several
levels of granularity.
      </p>
      <p>A cube is a representation of a subset of all rules that can be extracted from
a relation. We use the conventional OLAP navigation links to allow users to
navigate from cube to cube, to add or to remove dimensions, or to change the
granularity levels. This paper shows how to guide the user to choose navigation
links. The navigation links show that some operators have a predictable behavior
about the appearance or disappearance of rules.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Agrawal</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srikant</surname>
          </string-name>
          , R.:
          <article-title>Fast algorithms for mining association rules in large databases</article-title>
          .
          <source>In: VLDB '94: Proceedings of the 20th International Conference on Very Large Data Bases</source>
          . pp.
          <fpage>487</fpage>
          -
          <lpage>499</lpage>
          . Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bimonte</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tchounikine</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miquel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Towards a spatial multidimensional model</article-title>
          .
          <source>In: DOLAP '05: Proceedings of the 8th ACM international workshop on Data warehousing and OLAP</source>
          . pp.
          <fpage>39</fpage>
          -
          <lpage>46</lpage>
          . ACM, New York, NY, USA (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bra</surname>
            ,
            <given-names>P.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paredaens</surname>
          </string-name>
          , J.:
          <article-title>Conditional dependencies for horizontal decompositions</article-title>
          .
          <source>In: Proceedings of the 10th Colloquium on Automata, Languages and Programming</source>
          . pp.
          <fpage>67</fpage>
          -
          <lpage>82</lpage>
          . Springer-Verlag, London, UK (
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Casali</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cicchetti</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lakhal</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Extracting semantics from data cubes using cube transversals and closures</article-title>
          .
          <source>In: KDD '03: Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining</source>
          . pp.
          <fpage>69</fpage>
          -
          <lpage>78</lpage>
          . ACM, New York, NY, USA (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Chakravarthy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Zhang, H.:
          <article-title>Visualization of association rules over relational DBMs</article-title>
          .
          <source>In: SAC '03: Proceedings of the 2003 ACM Symposium on Applied Computing</source>
          . pp.
          <fpage>922</fpage>
          -
          <lpage>926</lpage>
          . ACM, New York, NY, USA (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Codd</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Codd</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salley</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Provinding</surname>
            <given-names>OLAP</given-names>
          </string-name>
          (
          <article-title>On-Line Analytical Processing) to User-Analysts: An IT Mandate</article-title>
          . Codd &amp; Date,
          <string-name>
            <surname>Inc</surname>
          </string-name>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Codd</surname>
            ,
            <given-names>E.F.</given-names>
          </string-name>
          :
          <article-title>The relational model for database management: version 2</article-title>
          . AddisonWesley Longman Publishing Co., Inc., Boston, MA, USA (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Fan</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Geerts</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jia</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kementsietsidis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Conditional functional dependencies for capturing data inconsistencies</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .
          <volume>33</volume>
          (
          <issue>2</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>48</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. Ferr´e, S.:
          <article-title>Camelis: a logical information system to organize and browse a collection of documents</article-title>
          .
          <source>Int. J. General Systems</source>
          <volume>38</volume>
          (
          <issue>4</issue>
          ) (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Ganter</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wille</surname>
          </string-name>
          , R.:
          <source>Formal Concept Analysis - Mathematical Foundations</source>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Han</surname>
            ,
            <given-names>J</given-names>
          </string-name>
          .,
          <string-name>
            <surname>Fu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Discovery of multiple-level association rules from large databases (</article-title>
          <year>1995</year>
          ), http://citeseerx.ist.psu.edu/viewdoc/summary?doi=?
          <source>doi=10.1.1.39.8968</source>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Huhtala</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , K¨arkk¨ainen, J.,
          <string-name>
            <surname>Porkka</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toivonen</surname>
          </string-name>
          , H.:
          <article-title>Tane: An efficient algorithm for discovering functional and approximate dependencies (</article-title>
          <year>1999</year>
          ), http://comjnl.oxfordjournals.org/cgi/content/short/42/2/100
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Kivinen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mannila</surname>
          </string-name>
          , H.:
          <article-title>Approximate inference of functional dependencies from relations</article-title>
          .
          <source>Theor. Comput. Sci</source>
          .
          <volume>149</volume>
          (
          <issue>1</issue>
          ),
          <fpage>129</fpage>
          -
          <lpage>149</lpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Medina</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nourine</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>A unified hierarchy for functional dependencies, conditional functional dependencies and association rules</article-title>
          .
          <source>In: ICFCA '09: Proceedings of the 7th International Conference on Formal Concept Analysis</source>
          . pp.
          <fpage>98</fpage>
          -
          <lpage>113</lpage>
          . Springer-Verlag, Berlin, Heidelberg (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Medina</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nourine</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Conditional functional dependencies: An FCA point of view</article-title>
          .
          <source>In: ICFCA</source>
          . pp.
          <fpage>161</fpage>
          -
          <lpage>176</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Pasquier</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bastide</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taouil</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lakhal</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Discovering frequent closed itemsets for association rules</article-title>
          .
          <source>In: ICDT '99: Proceedings of the 7th International Conference on Database Theory</source>
          . pp.
          <fpage>398</fpage>
          -
          <lpage>416</lpage>
          . Springer-Verlag, London, UK (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Shanmugasundaram</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fayyad</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bradley</surname>
            ,
            <given-names>P.S.</given-names>
          </string-name>
          :
          <article-title>Compressed data cubes for OLAP aggregate query approximation on continuous dimensions</article-title>
          .
          <source>In: KDD '99: Proceedings of the fifth ACM SIGKDD international conference on Knowledge discovery and data mining</source>
          . pp.
          <fpage>223</fpage>
          -
          <lpage>232</lpage>
          . ACM, New York, NY, USA (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Techapichetvanich</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Datta</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>VisAR : A new technique for visualizing mined association rules</article-title>
          .
          <source>In: ADMA</source>
          . pp.
          <fpage>88</fpage>
          -
          <lpage>95</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Zaki</surname>
            ,
            <given-names>M.J.:</given-names>
          </string-name>
          <article-title>Generating non-redundant association rules</article-title>
          .
          <source>In: KDD '00: Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining</source>
          . pp.
          <fpage>34</fpage>
          -
          <lpage>43</lpage>
          . ACM, New York, NY, USA (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>