<!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>Merging Closed Pattern Sets in Distributed Multi-Relational Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Hirohisa Seki⋆</string-name>
          <email>seki@nitech.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yohei Kamiya</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. of Computer Science, Nagoya Inst. of Technology</institution>
          ,
          <addr-line>Showa-ku, Nagoya 466-8555</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We consider the problem of mining closed patterns from multi-relational databases in a distributed environment. Given two local databases (horizontal partitions) and their sets of closed patterns (concepts), we generate the set of closed patterns in the global database by utilizing the merge (or subposition) operator, studied in the field of Formal Concept Analysis. Since the execution times of the merge operations increase with the increase in the number of local databases, we propose some methods for improving the merge operations. We also present some experimental results using a distributed computation environment based on the MapReduce framework, which shows the effectiveness of the proposed methods.</p>
      </abstract>
      <kwd-group>
        <kwd>multi-relational data mining</kwd>
        <kwd>closed patterns</kwd>
        <kwd>merge (subposition) operator</kwd>
        <kwd>FCA</kwd>
        <kwd>distributed databases</kwd>
        <kwd>MapReduce</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Multi-relational data mining (MRDM) has been extensively studied for more
than a decade (e.g., [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ] and references therein), and is still attracting
increasing interest in the fields of data mining (e.g., [
        <xref ref-type="bibr" rid="ref14 ref29">14, 29</xref>
        ]) and inductive logic
programming (ILP). In the framework of MRDM, data and patterns (or queries)
are represented in the form of logical formulae such as datalog (a class of first
order logic). This expressive formalism of MRDM allows us to use complex and
structured data in a uniform way, including trees and graphs in particular, and
multi-relational patterns in general.
      </p>
      <p>
        On the other hand, Formal Concept Analysis (FCA) has been developed as
a field of applied mathematics based on a clear mathematization of the notions
of concept and conceptual hierarchy [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. While it has attracted much interest
from various application areas including, among others, data mining, knowledge
acquisition and software engineering (e.g., [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]), research on extending the
capabilities of FCA for AI (Artificial Intelligence) has recently been attracted much
attention [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>
        The notion of iceberg query lattices , proposed by Stumme [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ], combines the
notions of MRDM and FCA; frequent datalog queries in MRDM correspond
to iceberg concept lattices (or frequent closed itemsets ) in FCA. Ganter and
Kuznetsov [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] have extensively studied the framework of more expressive
pattern structures. In MRDM, condensed representations such as closed patterns
and free patterns have been also studied in c-armr by De Raedt and Ramon [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
and in RelLCM2 by Garriga et al. [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>We consider in this paper the problem of mining closed patterns (or queries)
in multi-relational data, particularly applying the notion of iceberg query
lattices to a distributed mining setting. The assumption that a given dataset is
distributed and stored in different sites will be reasonable for some situations
where we might not be able to move local datasets into a centralized site due to
too much data size and/or privacy concerns.</p>
      <p>
        Given two local databases (horizontal partitions) and their sets of closed
patterns (concepts), the set of closed patterns in the global database can be
constructed by using subposition) operator [
        <xref ref-type="bibr" rid="ref11 ref33">11, 33</xref>
        ] or the merge operator [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. From
our preliminary experiments [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] using a distributed computation environment
MapReduce [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], we have found that the execution times of computing the merge
operations have increased with the increase in the number of local databases. In
this paper, we therefore propose some methods for computing the merge
operations so that we can efficiently construct the set of global closed patterns from
the sets of local closed patterns. Our methods are based on the properties of the
merge operator.
      </p>
      <p>The organization of the rest of this paper is as follows. After summarizing
some basic notations and definitions of closed patterns mining in MRDM in
Sect. 2, we consider distributed closed pattern mining in MRDB and the merge
operator in Sect. 3. We then explain our approach to improving the merge
operations in Sect. 4. In Section 5, we show the effectiveness of our methods by some
experimental results. Finally, we give a summary of this work in Section 6.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Iceberg Query Lattices in</title>
    </sec>
    <sec id="sec-3">
      <title>Mining</title>
      <p>2.1</p>
      <sec id="sec-3-1">
        <title>Multi-Relational Data Mining</title>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Multi-Relational Data</title>
      <p>
        In the task of frequent pattern mining in multi-relational databases, we assume
that we have a given database r, a language of patterns, and a notion of
frequency which measures how often a pattern occurs in the database. We use
datalog, or Prolog without function symbols other than constants, to represent
data and patterns. We assume some familiarity with the notions of logic
programming (e.g., [
        <xref ref-type="bibr" rid="ref22 ref24">22, 24</xref>
        ]), although we introduce some notions and terminology
in the following.
      </p>
      <p>Example 1. Consider a multi-relational database r in Fig. 1 (above), which
consists of five relations, Customer; Parent; Buys; Male and Female. For each
relation, we introduce a corresponding predicate, i.e., customer ; parent ; buys; male
and female, respectively.</p>
      <sec id="sec-4-1">
        <title>Customer</title>
        <p>key
allen
carol
diana
fred</p>
      </sec>
      <sec id="sec-4-2">
        <title>Parent</title>
        <p>SR.
allen
allen
carol
diana
fred
fred
JR.
bill
jim
bill
eve
eve
hera
key(X)
{a, c, d, f}
Buys
key
allen
carol
diana
fred
item
pizza
pizza
cake
cake</p>
      </sec>
      <sec id="sec-4-3">
        <title>Male</title>
        <p>person
bill
jim
Female
person
eve
hera
key(X), buys(X, pizza)
{a, c}
key(X), parent(X, Y )</p>
        <p>key(X), buys(X, cake)
{(a, b), (a, j), (c, b),
(d, e), (f, e), (f, h)}</p>
        <p>{d, f}
key(X), buys(X, pizza),
parent(X, Y ), male(Y )
{(a, b), (a, j), (c, b)}
key(X), buys(X, cake),</p>
        <p>parent(X, Y ), female(Y )
{(d, e), (f, e), (f, h)}</p>
        <p>Consider the following pattern P = customer (X); parent (X; Y ); buys(X; pizza).
For a substitution , P is logically entailed by r, denoted by r |= P , if there
exists a tuple (a1; a2) such that a1 ∈ Customer, (a1; a2) ∈ Parent, and tuple
(a1; pizza) ∈ Buys. Then, answerset (P; r) = {{X=allen; Y =bill }; {X=allen; Y =jim},
{X=carol ; Y =bill }}. 2</p>
        <p>An atom (or literal ) is an expression of the form p(t1; : : : :tn), where p is a
predicate (or relation) of arity n, denoted by p=n, and each ti is a term, i.e., a
constant or a variable.</p>
        <p>A substitution = {X1=t1; : : : ; Xn=tn} is an assignment of terms to variables.
The result of applying a substitution to an expression E is the expression E ,
where all occurrences of variables Vi have been simultaneously replaced by the
corresponding terms ti in . The set of variables occurring in E is denoted by
Var (E).</p>
        <p>A pattern is expressed as a conjunction of atoms (literals) l1 ∧· · ·∧ln, denoted
simply by l1; : : : ; ln. A pattern is sometimes called a query . We will represent
conjunctions in list notation, i.e., [l1; : : : ; ln]. For a conjunction C and an atom
p, we denote by [C; p] the conjunction that results from adding p after the last
element of C.</p>
        <p>Let C be a pattern (i.e., a conjunction) and a substitution of Var (C).
When C is logically entailed by a database r, we write it by r |= C . Let
answerset (C; r) be the set of substitutions satisfying r |= C .</p>
        <p>
          In multi-relational data mining, one of the predicates is often specified as a
key (or target ) (e.g., [
          <xref ref-type="bibr" rid="ref4 ref6">4, 6</xref>
          ]), which determines the entities of interest and what is
to be counted. The key (target) is thus to be present in all patterns considered.
In Example 1, the key is predicate customer .
        </p>
        <p>Let r be a database and Q be a query containing a key atom key(X). Then,
the support (or frequency) of Q, denoted by supp(Q; r; key), is defined to be
the number of different keys that answer Q (called the support count or
absolute support ), divided by the total number of keys. Q is said to be frequent , if
supp(Q; r; key) is no less than some user defined threshold min sup.</p>
        <p>
          A pattern containing a key will not be always meaningful; for example, let
C = [customer (X); parent (X; Y ); buys(Z; pizza)] be a conjunction in Example 1.
Variable Z in C is not linked to variable X in key atom customer (X); an object
represented by Z will have nothing to do with key object X. It will be
inappropriate to consider such a conjunction as an intended pattern to be mined. In
ILP, the following notion of linked literals [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] is used to specify the so-called
language bias.
        </p>
        <p>
          Definition 1 (Linked Literal). [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] Let key(X) be a key atom and l a literal.
l is said to be linked to key(X), if either X ∈ Var (l) or there exists a literal l1
such that l is linked to key(X) and Var (l1) ∩ Var (l) ̸= ∅. 2
        </p>
        <p>Given a database r and a key atom key(X), we assume that there are
predefined finite sets of predicate (resp. variables; resp. constant symbols), and
that, for each literal l in a conjunction C, it is constructed using the predefined
sets. Moreover, each pattern C of conjunctions satisfies the following conditions:
key(X) ∈ C and, for each l ∈ C; l is linked to key(X): In the following, we
denote by Q the set of queries (or patterns) satisfying the above bias condition.</p>
        <sec id="sec-4-3-1">
          <title>2.2 Iceberg Query Lattices with Key</title>
          <p>
            We now consider the notion of a formal context in MRDM, following [
            <xref ref-type="bibr" rid="ref30">30</xref>
            ].
Definition 2. [
            <xref ref-type="bibr" rid="ref30">30</xref>
            ] Let r be a datalog database and Q a set of datalog queries.
The formal context associated to r and Q is defined by Kr; Q = (Or; Q; Ar; Q; Ir; Q),
where Or; Q = { | is a grounding substitution for all Q ∈ Q}, and Ar; Q = Q,
and ( ; Q) ∈ Ir; Q if and only if ∈ answerset (Q; r). 2
          </p>
          <p>
            From this formal context, we can define the concept lattice the same way as
in [
            <xref ref-type="bibr" rid="ref30">30</xref>
            ]. We first introduce an equivalence relation ∼r on the set of queries: Two
queries Q1 and Q2 are said to be equivalent with respect to database r if and
only if answerset (Q1; r) = answerset (Q2; r). We note that Var (Q1) = Var (Q2)
when Q1 ∼r Q2.
          </p>
          <p>Definition 3 (Closed Query). Let r be a datalog database and ∼r the
equivalence relation on a set of datalog queries Q. A query (or pattern) Q is said to be
closed (w.r.t. r and Q), iff Q is the most specific query among the equivalence
class to which it belongs: {Q1 ∈ Q | Q ∼r Q1}. 2</p>
          <p>For any query Q1, its closure is a closed query Q such that Q is the most
specific query among {Q ∈ Q | Q ∼r Q1}. Since it uniquely exists, we denote
it by Clo(Q1; r). We note again that Var (Q1) = Var (Clo(Q1; r)) by definition.
We refer to this as the range-restricted condition here.</p>
          <p>
            Stumme [
            <xref ref-type="bibr" rid="ref30">30</xref>
            ] showed that the set of frequent closed queries forms a lattice,
called an iceberg query lattice. In our framework, it is necessary to take our bias
condition into consideration. To do that, we employ the well-known notion of
the most specific generalization (or least generalization) [
            <xref ref-type="bibr" rid="ref24 ref26">26, 24</xref>
            ].
          </p>
          <p>For queries Q1 and Q2, we denote by lg (Q1; Q2) the least generalization of
Q1 and Q2. Moreover, the join of Q1 and Q2, denoted by Q1 ∨ Q2, is defined
as: Q1 ∨ Q2 = lg (Q1; Q2)|Q, where, for a query Q, Q|Q is the restriction of Q to
Q, defined by a conjunction consisting of every literal l in Q which is linked to
key (X), i.e., deleting every literal in Q not linked to key (X).</p>
          <p>
            Definition 4. [
            <xref ref-type="bibr" rid="ref30">30</xref>
            ] Let r be a datalog database and Q a set of datalog queries.
The iceberg query lattice associated to r and Q for minsupp ∈ [0; 1] is defined as:
Cr; Q = ({Q ∈ Q | Q is closed w.r.t. r and Q; and Q is frequent}; |=); where |=
is the usual logical implication. 2
Example 2. Fig. 1 (below) shows the iceberg query lattice associated to r in Ex. 1
and Q with the support count 1, where each query Q ∈ Q has customer (X) as
a key atom, denoted by key (X) for short, Q is supposed to contain at most two
variables (i.e., X; Y ), and the 2nd argument of predicate buys is a constant. 2
Theorem 1. [
            <xref ref-type="bibr" rid="ref28">28</xref>
            ] Let r be a datalog database and Q a set of datalog queries
where all queries contain an atom key and they are linked. Then, Cr; Q is a
∨-semi-lattice. 2
3
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Distributed Closed Pattern Mining in MRDB</title>
      <sec id="sec-5-1">
        <title>Horizontal Decomposition of MRDB and Mining Local Concepts</title>
        <p>Our purpose in this work is to mine global concepts in a distributed setting,
where a global database is supposed to be horizontally partitioned appropriately,
and stored possibly in different sites. We first consider the notion of a horizontal
decomposition of a multi-relational DB. Since a multi-relational DB consists of
multiple relations, its horizontal decomposition is not immediately clear.
Definition 5. Let r be a multi-relational datalog database with a key
predicate key . We call a pair r1; r2 a horizontal decomposition of r, if (i) keyr =
keyr1 ∪· keyr2 , i.e., the key relation keyr in r is disjointly decomposed into keyr1
and keyr2 in r1 and r2, respectively, and (ii) for any query Q, answerset (Q; r) =
answerset (Q; r1) ∪ answerset (Q; r2). 2
The second condition in the above states that the relations other than the key
relation in r are decomposed so that any answer substitution in answerset (Q; r)
is computed either in partition r1 or r2, thereby being preserved in this
horizontal decomposition. An example of a horizontal decomposition of r is shown in
Example 3 below.</p>
        <p>
          Given a horizontal decomposition of a multi-relational DB, we can utilize
any preferable concept (or closed pattern) mining algorithm for computing local
concepts on each partition, as long as the mining algorithm is applicable to
MRDM and its resulting patterns satisfy our bias condition. We use here an
algorithm called ffCLM [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ], which is based on the notion of closure extension
due to Pasquier et al. [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] and Uno et al. [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ] in frequent itemset mining.
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>Computing Global Closed Patterns by Merge Operator in MRDM</title>
        <p>To compute the set of global closed patterns from the sets of local closed patterns
in MRDM, we need the following merge operator ⊕. For patterns C1 and C2, we
denote by C1 ∩ C2 a possibly empty conjunction of the form: l1 ∧ · · · ∧ lk (k ≥ 0)
such that, for each li (i ≤ k), li ∈ C1 and li ∈ C2.</p>
        <p>
          Theorem 2. [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ] Let r be a datalog database, and r1; r2 a horizontal
decomposition of r. Let C (Ci) (i = 1; 2) be the set of closed patterns of r (ri), respectively.
Then, we have the following:
        </p>
        <p>The set of global closed patterns C is obtained by the union of the local
closed patterns C1 and C2, and, in addition to that, by intersecting each
pattern C1 ∈ C1 and C2 ∈ C2. Furthermore, the pattern obtained by the
intersection, C1 ∩ C2, should satisfy the bias condition (Def. 1). We note that
C1 ∩ C2 does not necessarily satisfy the linkedness condition; for example,
suppose that C1 (C2) is a closed pattern of the form: C1 = key(X); p(X; Y ); m(Y )
(C2 = key(X); q(X; Y ); m(Y )), respectively. Then, C1 ∩ C2 = key(X); m(Y ),
which is not linked to key (X), and thus does not satisfy the bias condition.</p>
        <p>
          We note that, in the case of transaction databases, the above theorem
coincides with the one by Lucchese et al. [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ].
        </p>
        <p>Example 3. We consider a horizontal decomposition r1; r2 of r in Example 1
such that the key relation keyr (i.e., Customer) in r is decomposed into keyr1 =
{allen; carol} and keyr2 = {dian; fred}, and the other relations than Customer
are decomposed so that they satisfy the second condition of Def. 5.</p>
        <p>Consider a globally closed pattern C = [key (X); parent (X; Y )] in Fig. 1.
In r1, there exists a closed pattern C1 of the form: [C; buys(X; pizza); male(Y )],
while, in r2, there exists a closed pattern C2 of the form: [C; buys(X; cake); female(Y )].
Then, we have that C coincides with C1 ∩ C2. 2</p>
        <p>We can now formulate our problem as follows:
Mining Globally Closed Patterns from Local DBs:
Input: A set of local databases {DB 1; : : : ; DB n}
Output: the set of global closed patterns C1..n.</p>
        <p>In order to compute C1..n, our approach consists of two phases: we first
compute each set Ci (i = 1; : : : ; n) of local closed patterns from DB i, and then
we compute C1..n by applying the merge operators. We call the first phase the
mining phase, while we call the second phase the merge phase.
4</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Making Merge Computations Efficient in MRDM</title>
      <p>In the merge operation in conventional data mining such as itemsets,
computing the intersection of two sets in the merge operation ⊕ is straightforward. In
MRDM, on the other hand, the computation of ⊕ operator becomes somewhat
involved due to handling variables occurring in patterns. Namely, two additional
tests are required: checking the bias condition (linkedness), and checking
equivalence modulo variable renaming for eliminating duplicate patterns.</p>
      <p>For closed patterns C1 and C2, we must check whether the intersection C1∩C2
satisfies the linkedness condition. Moreover, we must check whether C1 ∩ C2 is
equivalent (modulo variable renaming) to the other patterns obtained so far.
For example, let C1 (C2) be a pattern of the form: C1 = key(X); p(X; Y ); m(Y )
(C2 = key(X); p(X; Z); m(Z)), respectively. Then, C1 is equivalent to C2 modulo
variable renaming.</p>
      <p>When implementing a data mining system, such handling variables in
patterns will necessarily require string manipulations, and such string operations
would lead to undesirable overhead in actual implementation. In the following,
we therefore propose two methods for reducing the computational costs in the
merge operation.
4.1</p>
      <sec id="sec-6-1">
        <title>Partitioning Pattern Sets</title>
        <p>When computing the merge operation, we can use the following property:
Proposition 1. Let DB = DB1 ∪ DB2, and C (Ci) the set of closed patterns of
DB (DBi) (i = 1; 2), respectively. Then,
Proof. Let C be a closed pattern in C such that C is linked with key. From
Theorem 2, it suffices to show that there exist patterns Ci ∈ Ci (i = 1; 2) such
that C = C1 ∩ C2 and Var (C1) = Var (C2).</p>
        <p>Let Ci = Clo(C; DB i) (i = 1; 2). Then, we have from the definition of Clo(·; ·)
that Var (C) = Var (C1) = Var (C2). Moreover, we can show that C = C1 ∩ C2,
which is to be proved. 2</p>
        <p>From the above proposition, when computing the intersection of each pair of
patterns C1 ∈ C1 and C2 ∈ C2 in (1), we can perform the intersection of only those
pairs (C1; C2) containing the same set of variables, i.e., Var (C1) = Var (C2).
When compared with the original definition of the merge operator ⊕ (Theorem
2), the above property will be utilized to reduce the cost of the merge operations.
4.2</p>
      </sec>
      <sec id="sec-6-2">
        <title>Merging Diff-Sets</title>
        <p>
          Next, we consider another method for making the merge operation efficient,
which is based on the following simple observation:
Observation 1. Given sets of closed patterns C1 and C2, let D1 = C1 \ C2 and
D2 = C2 \ C1, namely, Di is a difference set (diff-set for short) (i = 1; 2). Suppose
that C is a new (or generator [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ]) pattern in C1 ⊕ C2, meaning that C ∈ C1 ⊕ C2,
while C ̸∈ C1∪C2. Then, C is obtained by intersection operation, i.e., C = C1∩C2
for some patterns C1 ∈ D1 and C2 ∈ D2.
        </p>
        <p>
          That is, a new closed pattern C will be generated only when intersecting
those patterns in the difference sets in D1 and D2. This fact easily follows from
the property that the set of closed patterns is a semi-lattice: suppose otherwise
that C1 ∈ D1, while C2 ̸∈ D2. Then, C2 ∈ C1. Since both C1 and C2 are in C1, we
have that C = C1 ∩ C2 is a closed pattern also in C1, which implies that C is not
a new pattern. Algorithm 1 shows the above-mentioned method based on the
difference sets. In the algorithm, the computation of supports (or occurrences)
is omitted, which is done similarly in [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ].
        </p>
        <p>Algorithm 1: Diff-Set Merge(C1; C2)
input : sets of closed patterns C1; C2
output: C1..2 = C1 ⊕ C2
1 C = C1 ∩ C2; D1 = C1 \ C2; D2 = C2 \ C1;
2 foreach pair (C1; C2) ∈ D1 × D2 do
3 C ← C1 ∩ C2;
4 if C satis es the bias condition and C ̸∈ C then
5 C ← C ∪ {C};
6 end
7 end
8 return C
5</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Experimental Results</title>
      <sec id="sec-7-1">
        <title>Implementation and Test Data</title>
        <p>To see the effectiveness of our approach to distributed mining, we have made
some experiments. As for the mining phase, we implemented our approach by
using Java 1.6.0 22. Experiments of the phase were performed on 8 PCs with
Intel Core i5 processors running at 2.8GHz, 8GB of main memory, and 8MB of
L2 cache, working under Ubuntu 11.04. We used Hadoop 0.20.2 using 8 PCs, and
2 mappers working on each PC. On the other hand, experiments of the merging
phase were performed on one of the PCs.</p>
        <p>We use two datasets, often used in the field of ILP; one is the mutagenesis
dataset1, and the other is an English corpus of the Penn Treebank Project2.</p>
        <p>The mutagenesis dataset, for example, contains 30 chemical compounds. Each
compound is represented by a set of facts using predicates such as atom, bond ,
for example. The size of the set of predicate symbols is 12. The size of key atom
(active(X )) is 230, and minimum support min sup = 1=230. We assume that
patterns contain at most 4 variables and they contain no constant symbols. The
number of the closed patterns mined is 5; 784.</p>
      </sec>
      <sec id="sec-7-2">
        <title>Effect of Partitioning Pattern Sets</title>
        <p>Fig. 2 (left) summarizes the results of the execution times for a test data on the
mutagenesis dataset. We can see from the figure that the execution times t1 of
the mining phase are reduced almost linearly with the number of partitions. On
the other hand, the execution times t2 of the merging phase for obtaining global
closed patterns increase almost linearly with the number p of partitions from 1
(i.e., no partitioning) to 16. This is reasonable; the number of applying the merge
operators is (p − 1) when we have p partitions. Note that the execution time for
the merge phase in the case of a single partition means some start-up overheads
such as opening/reading a file of the results of the mining phase, followed by
preparing the inputs of the merge operation.</p>
        <p>In this particular example, the time spent in the merge phase is relatively
small when compared with that for the mining phase. This is because the number
of partitions and the number of local closed patterns are rather small. When the
number of partitions of a global database becomes larger, however, the execution
times for the merging phase will become inevitably larger. Considering efficient
merge algorithms is thus an important issue for scalability in MRDM.</p>
        <p>To see the effect of using Proposition 1, Fig. 2 (right) shows the numbers of
closed patterns in a merge computation C1 ⊕ C2 with input sets C1; C2 of closed
patterns for the mutagenesis dataset with 16 partitions. Each table shows the
number of patterns in Ci (i = 1; 2) containing k variables for 1 ≤ k ≤ 4. The
number of computing intersection operations based on Proposition 1 has been
reduced to about 80% of that of the original computation. The execution times
in Fig. 2 (left) are the results obtained by using this method.
1 http://www.cs.ox.ac.uk/activities/machlearn/mutagenesis.html
2 http://www.cis.upenn.edu/ treebank/
Fig. 2. Execution Times of the Mining Phase and the Merge Phase (left) and No. of</p>
        <sec id="sec-7-2-1">
          <title>Patterns in a Merge Computation (right): An Example in the Mutagenesis Dataset.</title>
          <p>Each number in a quadrangle is the size of a closed pattern set. D1 = C1 \ C2 and
D2 = C2 \ C1.</p>
        </sec>
      </sec>
      <sec id="sec-7-3">
        <title>Effect of Merging Diff-Sets</title>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Concluding Remarks</title>
      <p>We have considered the problem of mining closed patterns from multi-relational
databases in a distributed environment. For that purpose, we have proposed two
methods for making the merge (or subposition) operations efficient, and we have
then exemplified the effectiveness of our method by some preliminary
experimental results using MapReduce/Hadoop distributed computation framework
in the mining process.</p>
      <p>
        In MRDM, efficiency and scalability have been major concerns [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Krajca et
al. [
        <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
        ] have proposed algorithms to compute search trees for closed patterns
simultaneously either in parallel or in a distributed manner. Their approaches
are orthogonal to ours; it would be beneficial to employ their algorithms for
computing local closed patterns in the mining phase in our framework.
      </p>
      <p>
        In this work, we have confined ourselves to horizontal partitions of a global
MRDB. It will be interesting to study vertical partitioning and their mixture in
MRDM, where the apposition operator studied by Valtchev et al. [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ] will play
an important role. As future work, our plan is to develop an efficient algorithm
dealing with such a general case in MRDM.
      </p>
      <p>Acknowledgement The authors would like to thank anonymous reviewers for
their useful comments on the previous version of the paper.</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</article-title>
          .
          <source>in Proc. VLDB Conf</source>
          ., pp.
          <fpage>487</fpage>
          -
          <lpage>499</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Blockeel</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sebag</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Scalability and efficiency in multi-relational data mining</article-title>
          .
          <source>SIGKDD Explorations Newsletter</source>
          <year>2003</year>
          , Vol.
          <volume>4</volume>
          , Issue 2, pp.
          <fpage>1</fpage>
          -
          <lpage>14</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dean</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghemawat</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>MapReduce: simplified data processing on large clusters</article-title>
          .
          <source>Commun. ACM</source>
          , Vol.
          <volume>51</volume>
          , No.
          <issue>1</issue>
          , pp.
          <fpage>107</fpage>
          -
          <lpage>113</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Dehaspe</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Frequent pattern discovery in first-order logic</article-title>
          ,
          <source>PhD thesis</source>
          , Dept. Computer Science, Katholieke Universiteit Leuven,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Dehaspe</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toivonen</surname>
          </string-name>
          , H.:
          <article-title>Discovery of Relational Association Rules</article-title>
          . in S. Dzeroski and N Lavrac (eds.)
          <source>Relational Data Mining</source>
          , pp.
          <fpage>189</fpage>
          -
          <lpage>212</lpage>
          , Springer,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>De Raedt</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramon</surname>
          </string-name>
          , J.:
          <article-title>Condensed representations for Inductive Logic Programming</article-title>
          .
          <source>in Proc. KR'04</source>
          , pp.
          <fpage>438</fpage>
          -
          <lpage>446</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Dzeroski, S.:
          <string-name>
            <surname>Multi-Relational Data</surname>
          </string-name>
          <article-title>Mining: An Introduction</article-title>
          .
          <source>SIGKDD Explorations Newsletter</source>
          <year>2003</year>
          , Vol.
          <volume>5</volume>
          , Issue 1, pp.
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Dzeroski, S., Lavraˇc, N. (eds.):
          <source>Relational Data Mining</source>
          . Springer-Verlag,
          <year>Inc</year>
          .
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Ganter</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Two Basic Algorithms in Concept Analysis</article-title>
          ,
          <source>Technical Report FB4- Preprint No. 831</source>
          ,
          <string-name>
            <given-names>TH</given-names>
            <surname>Darmstadt</surname>
          </string-name>
          ,
          <year>1984</year>
          .
          <article-title>also in Formal Concept Analysis</article-title>
          ,
          <source>LNCS 5986</source>
          , pp.
          <fpage>312</fpage>
          -
          <lpage>340</lpage>
          , Springer,
          <year>2010</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>Kuznetsov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Pattern structures and Their Projections</article-title>
          , ICCS-01, LNCS,
          <volume>2120</volume>
          , pp.
          <fpage>129</fpage>
          -
          <lpage>142</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <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>
          . Springer,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Ganter</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stumme</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wille</surname>
          </string-name>
          , R.:
          <source>Formal Concept Analysis, Foundations and Applications. LNCS 3626</source>
          , Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Garriga</surname>
            ,
            <given-names>G. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khardon</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Raedt</surname>
          </string-name>
          , L.:
          <article-title>On Mining Closed Sets in MultiRelational Data</article-title>
          .
          <source>in Proc. IJCAI</source>
          <year>2007</year>
          , pp.
          <fpage>804</fpage>
          -
          <lpage>809</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Goethals</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Page</surname>
            ,
            <given-names>W. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mampaey</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Mining Interesting Sets and Rules in Relational Databases</article-title>
          .
          <source>in Proc. 2010 ACM Sympo. on Applied Computing (SAC '10)</source>
          , pp.
          <fpage>997</fpage>
          -
          <lpage>1001</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Han</surname>
            ,
            <given-names>J</given-names>
          </string-name>
          .,
          <string-name>
            <surname>Kamber</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Data Mining: Concepts and Techniques, 2nd edition</article-title>
          , Morgan Kaufmann Publishers Inc.,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Helft</surname>
          </string-name>
          , N.:
          <article-title>Induction as nonmonotonic inference</article-title>
          .
          <source>in Proc. KR'89</source>
          , pp.
          <fpage>149</fpage>
          -
          <lpage>156</lpage>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Krajca</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vychodil</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Distributed Algorithm for Computing Formal Concepts Using Map-Reduce Framework</article-title>
          ,
          <source>in Proc. IDA '09</source>
          , Springer-Verlag, pp.
          <fpage>333</fpage>
          -
          <lpage>344</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Krajca</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Outrata</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vychodil</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Parallel algorithm for computing fixpoints of Galois connections</article-title>
          ,
          <source>Annals of Mathematics and Artificial Intelligence</source>
          , Vol.
          <volume>59</volume>
          , No.
          <issue>2</issue>
          , pp.
          <fpage>257</fpage>
          -
          <lpage>272</lpage>
          , Kluwer Academic Publishers,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S. O.:</given-names>
          </string-name>
          <article-title>A Fast Algorithm for Computing All Intersections of Objects in a Finite Semi-lattice</article-title>
          ,
          <source>Automatic Documentation and Mathematical Linguistics</source>
          , Vol.
          <volume>27</volume>
          , No.
          <issue>5</issue>
          , pp.
          <fpage>11</fpage>
          -
          <lpage>21</lpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S. O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rudolph</surname>
          </string-name>
          , S., eds: FCA4AI: “
          <source>What can FCA do for Artificial Intelligence?” IJCAI 2013 Workshop</source>
          , Beijing, China,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S. O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Obiedkov</surname>
            ,
            <given-names>S. A.:</given-names>
          </string-name>
          <article-title>Comparing performance of algorithms for generating concept lattices</article-title>
          .
          <source>J. Exp. Theor. Artif. Intell.</source>
          ,
          <volume>14</volume>
          (
          <issue>2-3</issue>
          ):
          <fpage>189</fpage>
          -
          <lpage>216</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Lloyd</surname>
            ,
            <given-names>J. W.</given-names>
          </string-name>
          :
          <source>Foundations of Logic Programming</source>
          , Springer, Second edition,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Lucchese</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Orlando</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rergo</surname>
          </string-name>
          , R.:
          <article-title>Distributed Mining of Frequent Closed Itemsets: Some Preliminary Results</article-title>
          .
          <source>International Workshop on High Performance and Distributed Mining</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24. Nienhuys-Cheng, S-H., de Wolf, R.:
          <source>Foundations of Inductive Logic Programming, LNAI 1228</source>
          , Springer,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <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 Proc. ICDT'99, LNAI 3245</source>
          , pp.
          <fpage>398</fpage>
          -
          <lpage>416</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Plotkin</surname>
          </string-name>
          , G.D.:
          <source>A Note on Inductive Generalization. Machine Intelligence</source>
          , Vol.
          <volume>5</volume>
          , pp.
          <fpage>153</fpage>
          -
          <lpage>163</lpage>
          ,
          <year>1970</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Seki</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Honda</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nagano</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>On Enumerating Frequent Closed Patterns with Key in Muti-relational Data</article-title>
          .
          <source>LNAI 6332</source>
          , pp.
          <fpage>72</fpage>
          -
          <lpage>86</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Seki</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tanimoto</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Distributed Closed Pattern Mining in Multi-Relational Data based on Iceberg Query Lattices: Some Preliminary Results</article-title>
          .
          <source>in Proc. CLA'12</source>
          , pp.
          <fpage>115</fpage>
          -
          <lpage>126</lpage>
          ,
          <year>2012</year>
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Spyropoulou</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Bie</surname>
          </string-name>
          . T.,
          <string-name>
            <surname>Boley</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Interesting Pattern Mining in MultiRelational Data</article-title>
          .
          <source>Data Min. Knowl. Discov</source>
          .
          <volume>42</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>808</fpage>
          -
          <lpage>849</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Stumme</surname>
          </string-name>
          , G.:
          <article-title>Iceberg Query Lattices for Datalog</article-title>
          .
          <source>In Conceptual Structures at Work, LNCS 3127</source>
          , Springer-Verlag, pp.
          <fpage>109</fpage>
          -
          <lpage>125</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Stumme</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taouil</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bastide</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pasquier</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lakhal</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Computing Iceberg Concept Lattices with Titanic</article-title>
          .
          <source>J. on Knowledge and Data Engineering (KDE) 42(2)</source>
          , pp.
          <fpage>189</fpage>
          -
          <lpage>222</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Uno</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Asai</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Uchida</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arimura</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          :
          <article-title>An Efficient Algorithm for Enumerating Closed Patterns in Transaction Databases</article-title>
          .
          <source>DS'04, LNAI 3245</source>
          , pp.
          <fpage>16</fpage>
          -
          <lpage>31</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Valtchev</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Missaoui</surname>
          </string-name>
          , R.:
          <article-title>Building Concept (Galois) Lattices from Parts: Generalizing the Incremental Methods</article-title>
          .
          <source>In Proc. 9th Int'l. Conf. on Conceptual Structures: Broadening the Base (ICCS '01)</source>
          , Springer-Verlag, London, UK, pp.
          <fpage>290</fpage>
          -
          <lpage>303</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Valtchev</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Missaoui</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pierre</surname>
            <given-names>Lebrun</given-names>
          </string-name>
          ,
          <string-name>
            <surname>P.</surname>
          </string-name>
          :
          <article-title>A Partition-based Approach towards Constructing Galois (Concept) Lattices</article-title>
          .
          <source>Discrete Mathematics</source>
          <volume>256</volume>
          (
          <issue>3</issue>
          ):
          <fpage>801</fpage>
          -
          <lpage>829</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>