<!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>Scalable Performance of FCbO Update Algorithm on Museum Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tim Wray</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Outrata</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Peter Eklund</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. Computer Science, Palacky University Olomouc</institution>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>IT University of Copenhagen</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Formal Concept Analysis { known as a technique for data analysis and visualisation { can also be applied as a means of creating interaction approaches that allow for knowledge discovery within collections of content. These interaction approaches rely on performant algorithms that can generate conceptual neighbourhoods based on a single formal concept, or incrementally compute and update a set of formal concepts given changes to a formal context. Using case studies based on content from museum collections, this paper describes the scalability limitations of existing interaction approaches and presents an implementation and evaluation of the FCbO update algorithm as a means of updating formal concepts from large and dynamically changing museum datasets.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Formal Concept Analysis is best known as a technique for data analysis,
knowledge representation and visualisation. A number of case studies have been
developed that also use FCA as a means of creating and visualising the semantic spaces
within museum collections { allowing users to visualise, explore and discover new
objects within these collections based on their associations and commonalities
with other objects. Some of these applications include Virtual Museum of the
Paci c [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], the Brooklyn Museum Canvas [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and the A Place for Art [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] iPad
app. These case studies led to the development of a set of web services called
the CollectionWeb framework [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ]. Their analysis gave rise to new
interactions approaches based on FCA that required the use of fast algorithms for
computing the upper and lower neighbours of a formal concept, and for
computing and updating a set of formal concepts based on incremental changes to their
formal contexts. These approaches are described as the conceptual
neighbourhood approach and concept layer approach, respectively. This paper focuses on
the implementation and scalability limitations of the conceptual neighbourhood
approach, along with the FCbO update algorithm, its implementation within the
concept layer approach and its performance evaluation.
      </p>
      <p>
        The case studies are motivated by emerging museological movements that
have occurred since the 1970s that recognise the museum's role in collecting,
creating and shaping knowledge in which the context of an object has become
an increasingly important part of its analysis, interpretation and
communication. [6{9]. Context can refer to an object's materials, construction, design,
ornamentation, provenance, history, environment, connection to people and human
society [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ]. This focus towards context re ects a shift from a classical
worldview, where objects were classed in terms of order, hierarchy and taxonomy, to
a modern perspective where objects are analysed in terms of links to other
objects, people, social and cultural histories [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The natural association between
these modern perspectives of information and knowledge sharing within
museums are in accord with the foundations of Formal Concept Analysis in its ability
to augment human thought, communication and interpretation. [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ]. This
association motivates the research into new design and interaction approaches that
emphasise concept generation and discovery within museum collections that rely
on fast and e cient algorithms for computing formal concepts and their
conceptual neighbours.
2
2.1
      </p>
      <p>FCA algorithms: scalability and performance evaluation</p>
    </sec>
    <sec id="sec-2">
      <title>The conceptual neighbourhood approach</title>
      <p>
        In the museum-based case studies reported, FCA is used to provide conceptual
structures that can be navigated by a user. The conceptual neighbourhood
approach, as reported in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], o ers the ability to view individual concepts and move
between neighbouring concepts within a concept lattice. One implementation of
this approach is to compute and store a complete concept lattice that can then
be traversed by the user. However as is well known, complete concept lattices {
while adequate for visualising small datasets { are computationally prohibitive
and visually complex on medium to larger datasets typically associated with
museum collections that typically contain tens of thousands of objects [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        The time and space complexities of pre-computing and storing a complete
concept lattice can be understood by a discussion of how the approach scales
with respect to the size of a formal context. Following an analysis of algorithms
that build complete concept lattices, Carpineto and Romano [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] identify their
time complexities: the best result being the ConceptsCover algorithm which
has a worst-case time complexity of O(jCjjM j(jGj + jM j)) which is dependent,
in part, on the number of formal concepts generated from a formal context. The
number of formal concepts jCj generated from a formal context K := hG; M; Ii,
can be linear (in the best case) or quadratic (in the worst case) with respect
to jGj (the number of objects) or jM j (the number of attributes) within the
formal context depending on the number of attributes per object. However, even
withstanding the time and space complexities for initially computing and storing
concept lattices from a large formal context (which, if the system employed
update algorithms to update the concept lattice, would only need to be run once),
the worst-case time complexity for updating a pre-computed concept lattice {
i.e., only computing a portion of a concept lattice given changes to a formal
context { is quadratic with respect to the number of formal concepts jCj;
although experimental results [
        <xref ref-type="bibr" rid="ref15 ref16">15, 16</xref>
        ] (cited in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]) suggest that in practice, the
growth may be linear, rather than quadratic. Despite this, updating and storing
a complete concept lattice for conceptual navigation poses major scalability and
space concerns for large formal contexts.
      </p>
      <p>
        CollectionWeb implements an alternate approach that does not require
computation of the complete concept lattice and therefore negates the above
scalability issues, but still allows the user to navigate between neighbouring
formal concepts { via the reduction and inclusion of query attributes. This method,
called the conceptual neighbourhood approach, was used in ImageSleuth [
        <xref ref-type="bibr" rid="ref12 ref13">13, 12</xref>
        ]
and again in the Virtual Museum of the Paci c [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In both cases interaction
follows a partial view of the concept lattices in the form of a single formal concept
and its immediate neighbours.
      </p>
      <p>
        The algorithm used by CollectionWeb for generating conceptual
neighbourhoods is the NearestNeighbours algorithm [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], presented in Algorithm 1.
The conceptual neighbourhood of a formal concept can be formed by nding
both the upper and lower neighbours of a formal concept which can be
computed separately. In the description of the algorithm that follows, a formal
context is denoted by the triplet hG; M; Ii with the nite non-empty sets of objects
G = f0; 1; : : : ; gg and attributes M = f0; 1; : : : ; mg and I G M being an
incidence relation with hg; mi 2 I, meaning that object g 2 G has attribute
m 2 M . Concept-forming operators de ned on I are denoted by 0 : 2G 7! 2M
and 0 : 2M 7! 2G [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>
        The worst-case time complexity of Algorithm 1 is O(jGjjM j(jGj + jM j)), the
sum of the time to nd its lower neighbours, O(jGjjM j2), and the time to nd
its upper neighbours, O(jGj2jM j). Hence, the maximum running time of the
algorithm is quadratic with respect to the number of objects or the number
of attributes within the formal context { whichever is larger. As implemented
in CollectionWeb, the NearestNeighbours algorithm runs dynamically at
query time { i.e., everytime a user views a formal concept or moves to an upper or
lower neighbour, the new concept and its neighbouring concepts are computed.
For ImageSleuth [
        <xref ref-type="bibr" rid="ref12 ref13">13, 12</xref>
        ] and Virtual Museum of the Paci c case studies [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] this
means that any changes to the underlying formal context { new attributes or
objects added or removed from the collection { are immediately re ected in its
underlying concept lattice, allowing the collection and the relationships among
the objects to dynamically respond to user tagging and curatorial management.
      </p>
      <p>
        However, the advantage o ered by dynamically computing the conceptual
neighbourhood { namely in that it negates the need to compute or store a
potentially large concept lattice while still o ering the ability to dynamically expose
sections of it for user interaction { also presents another scalability limitation
as the size of the collection grows. Given the dynamic nature of the query and
the quadratic time complexity with respect to the number of objects in a
collection, the conceptual neighbourhood approach becomes less suited for use in
larger collections, as the response time for user interaction (in the worst case
Algorithm 1: The NearestNeighbours algorithm used for generating
a conceptual neighbourhood for formal concept hX; Y i in formal context
hG; M; Ii, cf. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]
      </p>
      <p>Input: Formal concept hX; Y i of formal context hG; M; Ii
Output: The set of lower and upper neighbours of hX; Y i in the concept
lattice of hG; M; Ii
// Returns the lower neighbours of hX; Y i
lowerN eighbours := ;;
lN Candidates := ;;
foreach m 2 M n Y do</p>
      <p>X1 := X \ fmg0;
Y1 := X10;
if hX1; Y1i 2= lN Candidates then</p>
      <p>Add hX1; Y1i to lN Candidates;
count(hX1; Y1i) := 1;
else</p>
      <p>count(hX1; Y1i) := count(hX1; Y1i) + 1;
if (jY1j jY j) = count(hX1; Y1i) then</p>
      <p>Add hX1; Y1i to lowerN eighbours;
// Returns the upper neighbours of hX; Y i
upperN eighbours := ;;
uN Candidates := ;;
foreach g 2 G n X do</p>
      <p>Y2 := Y \ fgg0;
X2 := Y 0;</p>
      <p>2
if hX2; Y2i 2= uN Candidates then</p>
      <p>Add hX2; Y2i to uN Candidates;
count(hX2; Y2i) := 1;
else</p>
      <p>count(hX2; Y2i) := count(hX2; Y2i) + 1;
if (jX2j jXj) = count(hX2; Y2i) then</p>
      <p>Add hX2; Y2i to upperN eighbours;
scenario) grows quadratically with respect to the number of objects in the
collection. While the approach is well suited for dynamically presenting relatively
smaller-sized collections at a specialist or `exhibition' sized scale, such as the 427
objects present in the Virtual Museum of the Paci c or the 80 objects present
in A Place for Art, the approach remains unsuited for larger collections, such as
the the Brooklyn Museum Canvas case study with many thousands of objects.
2.2</p>
    </sec>
    <sec id="sec-3">
      <title>The concept layer approach</title>
      <p>For all other case studies, CollectionWeb constructs and maintains a set of
formal concepts from a formal context of collection objects. The set of all
formal concepts for the formal context in CollectionWeb is called the concept
layer. The framework relies on a concept layer in order to e ciently create the
required data visualisations and semantic structures so that users can
associatively browse, visualise and navigate the the collection.</p>
      <p>To create and maintain the concept layer, CollectionWeb relies on an
algorithm with a low running time for computing formal concepts from a formal
context, and for recomputing formal concepts if any objects or attributes in the
formal context changes. Speci cally, the algorithm should accommodate changes
to a formal context in large museum datasets if a single object (or a relatively
small batch of objects) changes, ensuring that it can dynamically update the
concept layer for a large museum dataset in real time.</p>
      <p>
        There are many high performance algorithms that compute formal concepts
from formal contexts [18{22], along with a recent evaluation study of those
algorithms applied to data from the Web [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. As these algorithms o er high
performance batch computation of an entire set of formal concepts from a
formal context, they work well for large museum collections that do not change
over time. However, this is not a common use case: as part of their curatorial
practices, museums continually add or modify objects in their online collections,
and some require the data to be kept up-to-date as it changes. For instance, the
Brooklyn Museum dataset used for the Brooklyn Museum Canvas case study [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ],
along with other large public facing datasets such as the one provided by the
Rijksmuseum 3 { also used in this evaluation { require as part of their terms
of use, that all front-facing applications or representation of content must be
up-to-date. 4 In these cases, such changes from these data sources should be
propogated to these front-facing applications as quickly as possible. In addition,
large-scale collaborative tagging e orts such as the steve.museum project [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]
and the Flickr Commons recognise museum collections as dynamic, rather than
static datasets. As discussed further in Section 2.3, the ability to quickly
recompute a set of formal concepts given incremental updates to its formal context
can lead to real-time interaction and visualisation of museum data-sets. Such
scenarios call for an e cient FCA algorithm that can accommodate incremental
3 https://www.rijksmuseum.nl/
4 http://www.brooklynmuseum.org/opencollection/api/docs/terms
changes to a formal context, rather than require the recomputation of the entire
set of formal concepts when one or a few of its objects changes.
      </p>
      <p>
        CollectionWeb employs the FCbO algorithm to initially compute all
concepts of a formal context [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] (the algorithm is an improved version of Kuznetsov's
Close-by-One algorithm [
        <xref ref-type="bibr" rid="ref25 ref26">25, 26</xref>
        ]) and, more importantly, a modi cation of that
algorithm called FCbO update [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] (earlier version also in [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]) to update
formal concepts as objects in the formal context are added, modi ed or deleted.
We brie y present FCbO update here for the purposes of self-containment. The
presentation uses a scenario where new objects are added to the formal context
which results in the algorithm producing new and updated formal concepts.
      </p>
      <p>In the description of the algorithm that follows we use the same notation for
formal context and concept-forming operators that were used in Algorithm 1. In
addition, new objects to be added to hG; M; Ii and not present in G are denoted
by GN = fg + 1; : : : ; gU g (i.e. GN \ G = ;), MN = fi; : : : ; kg is the set of
attributes shared by at least one of the objects GN and either present or not
present in M (but usually MN M ) and N GN MN is an incidence relation
between GN and MN . By the triplet hGU ; MU ; IU i we denote the formal context
which results as a union of hG; M; Ii and hGN ; MN ; N i, both extended to GU and
MU , i.e. GU = G [ GN = f0; : : : ; gU g, MU = M [ MN = f0; : : : ; mU g, mU = k if
k &gt; m and mU = m otherwise, and IU GU MU such that IU \ (G M ) = I,
IU \ (GN MN ) = N and IU \ (G (MN n M )) = IU \ (GN (M n MN )) = ;.</p>
      <p>
        The algorithm is represented by the recursive procedure
UpdateFastGenerateFrom, presented in Algorithm 2. The procedure is a modi ed form of the
recursive procedure FastGenerateFrom { the core of the FCbO algorithm
as described in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] (Algorithm 2). The procedure accepts as its arguments a
formal concept hX; Y i of hGU ; MU ; IU i (an initial formal concept), an attribute
m 2 MN ( rst attribute to be processed) and a set fNm MU j m 2 MU g of
subsets of attributes MU , and uses a local variable queue as a temporary storage
for computed formal concepts and Mm (m 2 MU ) as sets of attributes which are
used in place of Nm for further invocations of the procedure. When the procedure
is invoked, it recursively descends, in a combined depth- rst and breadth- rst
search, the space of new and updated formal concepts of hGU ; MU ; IU i resulted
by adding new objects GN described by attributes MN to hG; M; Ii, beginning
with hX; Y i. For a full description of the procedure, see [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] or [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], recalling that
the set MU;j MU in Algorithm 2 is de ned by: MU;j = fm 2 MU j m &lt; jg. In
order to compute all new and updated formal concepts of hGU ; MU ; IU i which
are not formal concepts of hG; M; Ii, each of them exactly once,
UpdateFastGenerateFrom shall be invoked with h;0; ;00i, m being the rst attribute in
MN and fNm = ; j m 2 M g as its initial arguments.
      </p>
      <p>The worst-case time complexity of Algorithm 2 remains the same as of the
original FCbO (and CbO) algorithm, O(jCjjM j2jGj), because when adding all
objects to the empty formal context it actually performs FCbO.</p>
      <p>
        For updating a set of formal concepts given by incremental object-by-object
updates of a formal context, there are a number of other incremental algorithms
that can be used for determine a set of formal concepts and, subsequently, for
Algorithm 2: The UpdateFastGenerateFrom(hX; Y i, m, fNm j m 2
MU g) algorithm used for computing all new and updated formal concepts
of formal context hGU ; MU ; IU i, cf. [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]
      </p>
      <p>Input: Formal concept hX; Y i of formal context hGU ; MU ; IU i, attribute
m 2 MN (or a number &gt; mU ) and set fNm MU j m 2 MU g of
subsets of attributes MU
Output: The set of all new and updated formal concepts of hGU ; MU ; IU i
// output hX; Y i, e.g., print it on screen or store it
if (X \ G)0 6= Y then</p>
      <p>output hX; Y i as new;
else
if (X \ G) X then</p>
      <p>output hX; Y i as updated;
else</p>
      <p>return
if Y = MU or m &gt; mU then</p>
      <p>return
for j from m upto mU do
set Mj to Nj;
// go through attributes from MN only
if j 62 Y and j 2 MN and Nj \ MU;j Y \ MU;j then
set X1 to X \ fjg0;
set Y1 to X10;
if Y \ MU;j = Y1 \ MU;j then</p>
      <p>put hhX1; Y1i; j + 1i to queue;
else</p>
      <p>set Mj to Y1;
while get hhX1; Y1i; ji from queue do</p>
      <p>
        UpdateFastGenerateFrom(hX1; Y1i; j; fMm j m 2 MU g);
return
computing the concept lattice, such as [
        <xref ref-type="bibr" rid="ref16 ref29 ref30">16, 29, 30</xref>
        ] along with the algorithms
in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. AddIntent [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] is considered to be one of the most e cient of these
algorithms, however, along with the other algorithms, it requires the complete
concept lattice prior to computation. The FCbO update algorithm [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] described
above, di erentiates itself from other incremental algorithms in that it does not
require the concept lattice (nor the set of all formal concepts) as its input.
However, the number of concepts computed from datasets we use { even without
the complexities of storing a complete concept lattice { is of the order hundreds
of thousands (see Figures 1 and 2). In light of this, the FCbO update algorithm
not only computes changes based only on a set of objects marked for update,
but it also outputs only the new and updated formal concepts, rather than the
entire set of formal concepts. This allows for quick execution of the algorithm
and ingestion of its results where changes to formal context are relatively minor:
strengthening the algorithm's utility in applications where datasets are large but
updated frequently and in small increments.
2.3
      </p>
    </sec>
    <sec id="sec-4">
      <title>Performance Evaluation</title>
      <p>The algorithm was evaluated on two museum datasets: the rst being the
Brooklyn Museum collection consisting of 10,000 objects and 8,952 attributes and the
second being the Rijksmuseum collection consisting of 100,000 objects and 1,716
attributes. The purpose of the performance evaluation was to determine the total
running time and performance bene t of using the FCbO update algorithm to
incrementally update a set of formal concepts given changes to a formal context,
rather than recomputing its entire set of formal concepts.</p>
      <p>Table 1 shows the running time to compute the entire set of formal concepts
from the formal contexts generated from the Brooklyn Museum and
Rijksmuseum datasets. For the sake of clarity, a batch or non-update computation {
such as the one demonstrated in the table above { is de ned as a computation
that computes the entire set of formal concepts from formal context, whereas
an update formal concept computation is de ned as a computation that uses a
set of objects to add, remove or update within the formal context as its input
and outputs a set of changed concepts. The above gures in Table 1 are used as
a benchmark in the evaluation of the performance bene t of the update, rather
than the batch computations of the FCbO algorithm.</p>
      <p>An update computation can be triggered by three di erent events: adding
new objects to the formal context, removing existing objects from the formal
context, or updating the attribute sets of existing objects within the formal
context. Given that objects can be added, removed or updated within a museum
dataset, these three operations are de ned and evaluated separately with respect
to the running time of the algorithm. Assuming a full set of formal concepts have
already been computed, each operation produces a number of modi ed concepts
that refer to the set of formal concepts added, removed or updated as a result of
each operation. In addition to the time it takes to perform each operation, the
number of modi ed concepts serves as an important indicator of complexity.</p>
      <p>The results of a performance evaluation demonstrating add, remove and
update operations for the FCbO update algorithm are shown in Fig. 1 for the
Brooklyn Museum dataset, and Fig. 2 for the Rijksmuseum dataset. The gures
demonstrate how the algorithm scales with each operation for adding, removing
or updating 1, 5, 50 or 500 objects to their respective datasets. In each gure,
the horizontal axis rst groups the number of objects N , which is then further
sub-divided into its three operations with respect to the formal context:
incrementally compute the set of formal concepts when N objects are added, removed
and updated from the formal context. As a way of comparing the running time of
the FCbO update algorithm to its batch counterpart, the performance metrics
of the update algorithm { its running time and number of modi ed concepts
{ are shown along with the total running time and number of formal concepts
produced by the non-update algorithm, the dashed line in Figures 1 and 2.</p>
      <p>For the smaller Brooklyn Museum collection, the number of modi ed concepts
and time taken to compute them is reasonable when adding 5 or 50 objects, with
running times far less than the time it takes for the algorithm to recompute the
entire set of formal concepts. However, in the larger Rijksmuseum collection {
due to the smaller number of attributes and higher context density { removing
and updating a larger batch of objects requires the re-computation of a large
number of formal concepts where in some cases, Figures 1 and 2, the time taken
to update the set of formal concepts is greater than the time to recompute the
entire set as a batch operation.</p>
      <p>
        The bene ts of an incremental FCbO update algorithm with a low running
time with respect to museum curation practices and visitor experiences can be
realised with respect to user interactions that lead to dynamically changing
contexts. For example, in many online collections such as the Powerhouse Museum
Online Collection 5 and the Brooklyn Museum Online Collection 6, visitors can
add their own interpretations to the objects by adding their own keywords or
`tags'. These interactions can introduce new perspectives on the works [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] that
can potentially reframe the way objects are related to one another [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ] in that
audiences are invited to shape the context, and subsequently, the knowledge
that surrounds the objects. Given that formal concepts can be used to represent
contextual knowledge of a domain where museum objects are treated as formal
5 http://www.powerhousemuseum.com/collection/database/menu.php
6 https://www.brooklynmuseum.org/opencollection/collections/
objects and tags as formal attributes, user tagging can provide the ability to
update representations of knowledge in real-time. Due to the low running time of
the FCbO update algorithm on small sets of objects as their input, a user could
potentially tag an object and then, through the use of incremental concept
computation coupled with data visualisation, immediately realise not only how their
tagging enhances the content of the objects, but also shapes the knowledge that
surrounds it in relation to other objects.
      </p>
      <p>In many other cases, updates to museum collection data are provided as a
batch { i.e., whole groups of objects added or modi ed as a result of changes
to objects within a museum dataset. For example, the Smithsonian
CooperHewitt National Design Museum uses GitHub 7 to host their collection data 8 {
allowing anyone to access, update and provide updates to the collection. Many
other museums provide a timestamp in their object records to indicate when it
was last updated, so that data harvesters can collect changes. In other situations
it may be more feasible to implement updates to the dataset as a batch rather
than as a set of small frequently occurring object updates.
3</p>
      <p>Conclusion
Overall, the FCbO update algorithm { as implemented by CollectionWeb to
construct and maintain its concept layer { provides a fast way to update formal
concepts from large and dynamically changing museum datasets, given that the
changes within those datasets are relatively small relative to the size of the
formal context. The algorithm provides a scalable way to construct and maintain
a concept layer once the initial and potentially time costly computation of the
entire set of formal concepts from a formal context is complete. The algorithm
is less e cient at adding, removing or updating large changes to the collection
where, in such cases, it may be preferential to recompute the entire set of formal
concepts.
7 GitHub is a popular source code management system traditionally used for making
available, committing and providing updates to, program source code.
8 See: http://www.cooperhewitt.org/collections/data</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Eklund</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goodall</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wray</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Cluster-based Navigation for a Virtual Museum</article-title>
          .
          <source>In: 9th RIAO Conference { Adaptivity, Personalization and Fusion { of Heterogeneous Information</source>
          , Paris, ACM Press (
          <year>April 2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Wray</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eklund</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Concepts and Collections: A Case Study using Objects from the Brooklyn Museum</article-title>
          . In Predoiu, L.,
          <string-name>
            <surname>Hennicke</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nurnberger</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mitschick</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ross</surname>
          </string-name>
          , S., eds.
          <source>: Proceedings of the 1st International Workshop on Semantic Digital Archives</source>
          . (
          <year>2011</year>
          )
          <volume>109</volume>
          {
          <fpage>120</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Wray</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eklund</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kautz</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Pathways through Information Landscapes: Alternative Design Criteria for Digital Art Collections</article-title>
          . In: ICIS 2013 Proceedings, Milan, Italy (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Eklund</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wray</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ducrou</surname>
          </string-name>
          , J.:
          <article-title>Linking Objects and their Stories: An API For Exploring Cultural Heritage Using Formal Concept Analysis</article-title>
          .
          <source>Journal of Emerging Technologies in Web Intelligence</source>
          <volume>3</volume>
          (
          <issue>3</issue>
          ) (
          <year>2011</year>
          )
          <volume>239</volume>
          {
          <fpage>252</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Eklund</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wray</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ducrou</surname>
          </string-name>
          , J.:
          <article-title>Web services and Digital Ecosystem Support using Formal Concept Analysis</article-title>
          .
          <source>In: Proceedings of the International Conference on Management of Emergent Digital EcoSystems. MEDES '09</source>
          , New York, NY, USA, ACM (
          <year>2009</year>
          )
          <volume>36</volume>
          {
          <fpage>245</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ross</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Interpreting the new museology</article-title>
          .
          <source>Museum and Society</source>
          <volume>2</volume>
          (
          <issue>2</issue>
          ) (
          <year>2004</year>
          )
          <volume>84</volume>
          {
          <fpage>103</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Styliani</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fotis</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kostas</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Petros</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Virtual museums, a survey and some issues for consideration</article-title>
          .
          <source>Journal of Cultural Heritage</source>
          <volume>10</volume>
          (
          <issue>4</issue>
          ) (
          <year>October 2009</year>
          )
          <volume>520</volume>
          {
          <fpage>528</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Skov</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The Reinvented Museum: Exploring Information Seeking Behaviour in a Digital Museum Context</article-title>
          .
          <source>PhD thesis</source>
          , Royal School of Library and Information
          <string-name>
            <surname>Science</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Hooper-Greenhill</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Museums and the Shaping of Knowledge</article-title>
          .
          <source>Routledge</source>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Pearce</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Thinking about Things</article-title>
          . In Pearce, S., ed.:
          <source>Interpreting Objects and Collections. Routledge</source>
          , London (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Wille</surname>
          </string-name>
          , R.:
          <article-title>Formal Concept Analysis as Mathematical Theory of Concepts and Concept Hierarchies</article-title>
          . In Ganter,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Stumme</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Wille</surname>
          </string-name>
          , R., eds.:
          <source>Formal Concept Analysis. Volume 3626 of Lecture Notes in Computer Science</source>
          . Springer Berlin / Heidelberg (
          <year>2005</year>
          )
          <volume>47</volume>
          {
          <fpage>70</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Ducrou</surname>
          </string-name>
          , J.:
          <article-title>Design for conceptual knowledge processing: case studies in applied formal concept analysis</article-title>
          .
          <source>PhD thesis</source>
          , University of Wollongong (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Ducrou</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vormbrock</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eklund</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>FCA-based Browsing and Searching of a Collection of Images</article-title>
          .
          <source>In: Proceedings of 14th International Conference on Conceptual Structures. LNAI 4068</source>
          , Springer (
          <year>2006</year>
          )
          <volume>203</volume>
          {
          <fpage>214</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Carpineto</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Romano</surname>
          </string-name>
          , G.:
          <article-title>Concept data analysis: Theory and applications</article-title>
          . J. Wiley (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Carpineto</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Romano</surname>
          </string-name>
          , G.:
          <article-title>A lattice conceptual clustering system and its application to browsing retrieval</article-title>
          .
          <source>Machine Learning 24(2)</source>
          (
          <year>1996</year>
          )
          <volume>1</volume>
          {
          <fpage>28</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Godin</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Missaoui</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alaoui</surname>
          </string-name>
          , H.:
          <article-title>Incremental concept formation algorithms based on Galois (concept) lattices</article-title>
          .
          <source>Computational Intelligence</source>
          <volume>11</volume>
          (
          <issue>2</issue>
          ) (
          <year>1995</year>
          )
          <volume>246</volume>
          {
          <fpage>247</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Wille</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ganter</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <source>Formal Concept Analysis: Mathematical Foundations</source>
          . Springer-Verlag, Berlin (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Andrews</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>In-Close2, a High Performance Formal Concept Miner</article-title>
          . In Andrews, S.,
          <string-name>
            <surname>Polovina</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hill</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Akhgar</surname>
          </string-name>
          , B., eds.:
          <article-title>Conceptual Structures for Discovering Knowledge</article-title>
          . Volume
          <volume>6828</volume>
          of Lecture Notes in Computer Science. Springer Berlin Heidelberg (
          <year>2011</year>
          )
          <volume>50</volume>
          {
          <fpage>62</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <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>
          </string-name>
          , V.:
          <article-title>Advances in algorithms based on CbO</article-title>
          . In Kryszkiewicz,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Obiedkov</surname>
          </string-name>
          , S., eds.
          <source>: Proceedings of the 7th International Conference on Concept Lattices and Their Applications</source>
          , Sevilla, Spain (
          <year>October 2010</year>
          )
          <volume>71</volume>
          {
          <fpage>82</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <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>Computing formal concepts by attribute sorting</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>115</volume>
          (
          <issue>4</issue>
          ) (
          <year>2012</year>
          )
          <volume>395</volume>
          {
          <fpage>417</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <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 xpoints of Galois connections</article-title>
          .
          <source>Annals of Mathematics and Arti cial Intelligence</source>
          <volume>59</volume>
          (
          <issue>2</issue>
          ) (
          <year>2010</year>
          )
          <volume>257</volume>
          {
          <fpage>272</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <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>Fast Algorithm for Computing Fixpoints of Galois Connections Induced by Object-Attribute Relational Data</article-title>
          .
          <source>Information Sciences</source>
          <volume>185</volume>
          (
          <issue>1</issue>
          ) (
          <year>2012</year>
          )
          <volume>114</volume>
          {
          <fpage>127</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Kirchberg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leonardi</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tan</surname>
            ,
            <given-names>Y.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Link</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ko</surname>
            ,
            <given-names>R.K.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>B.S.</given-names>
          </string-name>
          :
          <article-title>Formal Concept Discovery in Semantic Web Data</article-title>
          .
          <source>In: Formal Concept Analysis. Volume 7278 of Lecture Notes in Computer Science</source>
          . (
          <year>2012</year>
          )
          <volume>164</volume>
          {
          <fpage>179</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Trant</surname>
          </string-name>
          , J.: Tagging,
          <article-title>Folksonomy and Art Museums: Results of steve.museum's research</article-title>
          .
          <source>Technical report</source>
          , University of Toronto (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <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 nite semi-lattice. Nauchno-tekhnicheskaya Informatsiya (1) (</article-title>
          <year>1993</year>
          )
          <volume>17</volume>
          {
          <fpage>20</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Learning of Simple Conceptual Graphs from Positive and Negative Examples</article-title>
          .
          <source>In: PKDD</source>
          <year>1999</year>
          .
          <article-title>(</article-title>
          <year>1999</year>
          )
          <volume>384</volume>
          {
          <fpage>391</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Outrata</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A lattice-free concept lattice update algorithm</article-title>
          .
          <source>International Journal of General Systems</source>
          <volume>45</volume>
          (
          <issue>2</issue>
          ) (
          <year>2016</year>
          )
          <volume>211</volume>
          {
          <fpage>231</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Outrata</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A lattice-free concept lattice update algorithm based on CbO</article-title>
          . In Ojeda-Aciego,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Outrata</surname>
          </string-name>
          , J., eds.
          <source>: Proceedings of the 10th International Conference on Concept Lattices and their Applications</source>
          , La Rochelle, France (
          <year>2013</year>
          )
          <volume>261</volume>
          {
          <fpage>274</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Norris</surname>
            ,
            <given-names>E.M.:</given-names>
          </string-name>
          <article-title>An Algorithm for Computing the Maximal Rectangles in a Binary Relation</article-title>
          .
          <source>Revue Roumaine de Mathematiques Pures et Appliquees</source>
          <volume>23</volume>
          (
          <issue>2</issue>
          ) (
          <year>1978</year>
          )
          <volume>243</volume>
          {
          <fpage>250</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>van der Merwe</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Obiedkov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kourie</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>AddIntent: A New Incremental Algorithm for Constructing Concept Lattices</article-title>
          .
          <source>In: Proceedings of the International Conference on Formal Concept Analysis. Volume 2961 of Lecture Notes in Arti cial Intelligence</source>
          . Springer Berlin Heidelberg (
          <year>2004</year>
          )
          <volume>205</volume>
          {
          <fpage>206</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Cairns</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Mutualizing Museum Knowledge: Folksonomies and the Changing Shape of Expertise</article-title>
          .
          <source>Curator: The Museum Journal</source>
          <volume>56</volume>
          (
          <issue>1</issue>
          ) (
          <year>January 2013</year>
          )
          <volume>107</volume>
          {
          <fpage>119</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>