# RCAviz: Visualizing and Exploring Relational Conceptual Structures

Emile Muller, Marianne Huchard, Pierre Martin, Pascal Poncelet, Arnaud Sallaberry

<figure><img src="image_1.png" /></figure>

## To cite this version:

Emile Muller, Marianne Huchard, Pierre Martin, Pascal Poncelet, Arnaud Sallaberry. RCAviz: Visualizing and Exploring Relational Conceptual Structures. CLA 2022 - 16th International Conference on Concept Lattices and Their Applications, Tallinn University of Technology, Jun 2022, Tallin, Estonia. pp.135-148. [hal-03702237](https://hal.science/hal-03702237)

HAL Id: hal-03702237

https://hal.science/hal-03702237

Submitted on 22 Jun 2022

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
RCAviz: Visualizing and Exploring Relational
Conceptual Structures*

Emile Muller¹, Marianne Huchard¹[0000-0002-6309-7503], Pierre Martin²[0000-0002-4874-5795], Pascal Poncelet¹[0000-0002-8277-3490], and Arnaud Sallaberry¹,³[0000-0001-7068-176X]

¹ LIRMM, Université de Montpellier, CNRS, Montpellier, France
{emile.muller.contact@gmail.com, marianne.huchard@lirmm.fr, pascal.poncelet@lirmm.fr, arnaud.sallaberry@lirmm.fr}

² CIRAD, UPR AIDA, F-34398 Montpellier, France
AIDA, Univ Montpellier, CIRAD, Montpellier, France
pierre.martin@cirad.fr

³ AMIS, Université Paul-Valéry Montpellier 3, Montpellier, France

**Abstract.** Formal Concept Analysis (FCA) aims at classifying a set of objects described by Boolean attributes as a concept lattice. Among the various FCA extensions, Relational Concept Analysis (RCA) supports multiple binary relationships between several sets of objects. Using such relational data, RCA builds interconnected conceptual structures, i.e. concept lattices or AOC-posets. Analyzing data can benefit from exploring these interconnected structures by navigating from one concept to another. Navigation can be performed within the same structure through the classification links or from one concept of a conceptual structure to a concept of another one through one of the relations linking the lattices. This paper presents RCAviz<fnref n="4" />, an online tool which aims to support such navigation. Once the user has selected a subset of objects and attributes as a starting point for navigation, RCAviz presents the associated concept and its close neighbors. Each concept includes the objects and attributes it introduces. The user can then navigate, i.e. zoom and pan the current view, and move from one concept to another. Additional views show the previous and next conceptual structures. The history allows the user to browse its navigation.

**Keywords:** Formal Concept Analysis · Relational Concept Analysis · Visualization · Navigation · Concept Lattice

# 1 Introduction

Formal Concept Analysis (FCA) aims at classifying a set of objects described by Boolean attributes as a concept lattice [14]. Other conceptual structures may

<footnote>* This work was supported by the French National Research Agency under the Investments for the Future Program, referred as ANR-16-CONV-0004</footnote>

<footnote n="4">⁴ https://rcaviz.lirmm.fr/</footnote>
also be produced, such as AOC-poset or Iceberg lattice. FCA and its various
extensions enable the extraction of frequent patterns, attribute implications,
mutual exclusions within attribute groups, and object similarities. The survey
of [22] shows the variety of applications where different knowledge discovery
methods based on FCA are successfully used [23].

Among the extensions of FCA, Relational Concept Analysis (RCA) sup-
ports multiple binary relations between several sets of objects. As output, RCA
builds conceptual structures (one per object set) interconnected by relational
attributes, that embed the inter-object relations provided as input. Analyzing
multi-relational datasets with RCA may benefit from exploring these intercon-
nected structures by navigating from one concept to another. This navigation
is therefore performed within the same conceptual structure, through the clas-
sification links, or from one concept of a conceptual structure to a concept of
another one, through one of the relations linking the lattices.

FCA and RCA present a strong interest when querying a dataset using a set of attributes. In addition to the objects that respond to the query, they provide the classification of these objects [18, 4, 11]. When some objects respond strictly to the query, these objects are part of the extent of the concept, whose intent is constituted by the query attributes. The sub-concepts of this concept then contain the objects having more attributes than those listed in the query. Conversely, the super-concepts contain the objects having less attributes, corresponding to a constraint release. This latter case is of particular interest to domain experts when the dataset is likely to be incomplete, as constraint release may create hypotheses worth to be investigated. Classification also helps to reformulate the query when the answer set is empty, as it shows the concepts highlighting the partially answering objects.

Several authors investigate the potential offered by the visualization for as-
sisting exploring, querying, and analyzing a classification produced by FCA [8,
11, 15]. For RCA, the most advanced tools propose either a sophisticated vi-
sualization of the conceptual structure (e.g. Galicia<fnref n="5" />) or a simple visualization
of the conceptual structure with the ability to jump from one structure to an-
other through the relational links (e.g. RCAexplore<fnref n="6" />). These tools lack features
enabling full visualization support for gradually navigating between concepts
without being overwhelmed by the size of the structure. This paper addresses
this need by introducing RCAviz<fnref n="7" />, an online tool which aims to support such
navigation.

Section 2 briefly introduces FCA and RCA basics, and a small RCA navi-
gation example to illustrate the main features expected for a navigation tool.
Section 3 presents the visualization and navigation features of RCAviz. in Sec-
tion 4, we present related work on FCA and RCA visualization and exploration.
Section 5 concludes with a summary of the work and a few perspectives.

<footnote n="5">⁵ http://www.iro.umontreal.ca/galicia/</footnote>

<footnote n="6">⁶ http://dataqual.engees.unistra.fr/logiciels/rcaExplore/</footnote>

<footnote n="7">⁷ http://rcaviz.lirmm.fr/</footnote>
## 2 RCA Navigation at a glance

This section briefly introduces FCA and RCA through an example inspired by the Knomana project [25] which motivated the tool presented in this paper. The Knomana dataset deals with the control of pests using plants in agriculture. We then develop the needs addressed by our proposed tool on a small example.

FCA in a nutshell FCA input is a formal context (FC) which includes a binary relation that connects each object with each of the attributes it has. E.g. the FC *Plant* presented in Table 1 describes four plants by their family and a few characteristics like being aromatic or comestible. FCA builds formal concepts on top of the FC and organizes these concepts as a conceptual structure. A formal concept is a maximal group of objects (extent) sharing a maximal group of attributes (intent). For instance, in Table 1, as all the plants of the group $E_9$ = {*chromolaenaOdorata aspiliaAfricana*, *ageratumConyzoide*}, share all the attributes $I_9$ = {*asteraceae*, *aromatic*, *toxic*, *evergreen*, *applicEssentialOil*, *applicExtract*}, $CPl_9$ = ($E_9$, $I_9$) is a concept. The conceptual structure reflects group inclusion and highlights concept specialization. The top right part of Figure 1 presents an example of specialization of plant concepts. Concept $CPl_{11}$, which associates $E_{11}$ = {*ageratumConyzoide*} with its common attributes $I_{11}$ = $I_9$ ∪ {*antidysenteric*} is a subconcept of $CPl_9$, with $I_{11}$ ⊇ $I_9$ and $E_{11}$ ⊆ $E_9$. This figure also presents relational attributes, specific to RCA (i.e. initiated using the quantifier ∃), which are explained here after.

RCA in a nutshell RCA extends FCA to datasets that conform to the entity-relationship model [16]. The top left part of Figure 1 shows such a model presented using the UML syntax: A plant treats (controls) a pest; A pest is found in a country; A country possesses plants. As input, RCA takes a set of FCs and a set of relational contexts (RC) connecting objects of two FCs. FCs correspond to the classes of the UML model (i.e. *Plant*, *Pest*, *Country*), while RCs correspond to the associations (i.e. *treats*, *isFoundIn*, *possesses*). Each FC is computed as a conceptual structure, which has incorporated iteratively the object clustering of the other FCs thanks to the relational attributes. Object clustering propagation applies when a RC (denoted by *r*) connects objects of a source FC (denoted by $FC_s$) to objects of a target FC (denoted by $FC_t$). E.g. The RC $r$ = *treats* connects objects of FC $FC_s$ = *Plant* to objects of FC $FC_t$ = *Pest*. Once a concept $C_t$ is built in $FC_t$, some objects in $FC_s$ may be connected to objects of $C_t$ using *r*. Different schemes of connection can be adopted, e.g. the connection of an object $o_s$ of $FC_s$ by *r* to *at least one* object of $C_t$, the connection of $o_s$ to *all* objects of $C_t$, or *half* of $o_s$ connections by *r* are with some objects of $C_t$. For example in Figure 1, the concept *CPe13* groups *aspergillusOchraceus* and *aspergillusParasiticus*, two pests that attack peanuts. In addition, *aspiliaAfricana* and *chromolaenaOdorata* control respectively *aspergillusParasiticus* and *aspergillusOchraceus*. Thus both plants control *at least one* pest of *CPe13*. The selection of the scheme is captured in the relational attributes that include a quantifier (e.g. ∃, ⊇, ∀≥50%), the relation *r*
and the target concept $C_t$. The use of the quantifier $∃$ in Figure 1 conducts to express the relational attribute “treats at least one pest of CPe13” as follows: $∃treats(CPe13)$. Relational attributes are added to the description of the objects to respect FCA principle. E.g. *aspiliaAfricana* and *chromolaenaOdorata* both receive $∃treats(CPe13)$ as an attribute. During the conceptual structure computation, existing concepts may be enriched by these relational attributes or new concepts may be built to group objects that share some of them. In our example *CPl21* is built to factorize $∃treats(CPe13)$. The propagation thus follows the paths and cycles of the entity-relationship model until a fix-point is reached. RCA algorithm and theoretical details can be found in [16].

<table><caption>**Table 1.** Example of relational dataset made of the Formal Contexts (FC) plants (FC *Plant*), pests (FC *Pest*) and countries (FC *Country*). Plants are described by their family and a few characteristics. Pests are described by their family and entities they attack. Countries are described by their place in a continent. Relational Contexts (RC) connect objects of two FCs. RC *treats* connects FC *Plant* and FC *Pest*. RC *isFoundIn* indicates in which country is found a pest. RC *possesses* indicates which country possesses a plant.</caption><thead><tr><th>FC Plant</th><th>lauraceae</th><th>asteraceae</th><th>aromatic</th><th>comestible</th><th>toxic</th><th>evergreen</th><th>contraceptive</th><th>antidysenteric</th><th>applicOil</th><th>applicEssentialOil</th><th>applicExtract</th></tr></thead><tbody><tr><td>cinnamomumZeylanicum</td><td>x</td><td></td><td>x</td><td>x</td><td></td><td>x</td><td></td><td></td><td>x</td><td></td><td></td></tr><tr><td>chromolaenaOdorata</td><td></td><td>x</td><td>x</td><td></td><td>x</td><td>x</td><td></td><td></td><td></td><td>x</td><td>x</td></tr><tr><td>aspiliaAfricana</td><td></td><td>x</td><td>x</td><td></td><td>x</td><td>x</td><td>x</td><td></td><td></td><td>x</td><td>x</td></tr><tr><td>ageratumConyzoides</td><td></td><td>x</td><td>x</td><td></td><td>x</td><td>x</td><td></td><td>x</td><td></td><td>x</td><td>x</td></tr></tbody></table><table><thead><tr><th>Pest</th><th>attacksPeanuts</th><th>attacksCheese</th><th>attacksRice</th><th>aspergillus</th><th>Country</th><th>australAfrica</th><th>westernAfrica</th></tr></thead><tbody><tr><td>aspergillusFlavus</td><td></td><td>x</td><td></td><td></td><td>Namibia</td><td>x</td><td></td></tr><tr><td>aspergillusParasiticus</td><td>x</td><td></td><td></td><td>x</td><td>SouthernAfrica</td><td>x</td><td></td></tr><tr><td>aspergillusOchraceus</td><td>x</td><td></td><td></td><td>x</td><td>Nigeria</td><td></td><td>x</td></tr><tr><td>aspergillusTamarii</td><td></td><td>x</td><td>x</td><td>x</td><td>Benin</td><td></td><td>x</td></tr></tbody></table><table><thead><tr><th>RC treats</th><th>aspergillusFlavus</th><th>aspergillusParasiticus</th><th>aspergillusOchraceus</th><th>aspergillusTamarii</th></tr></thead><tbody><tr><td>cinnamomumZeylanicum</td><td>x</td><td></td><td></td><td>x</td></tr><tr><td>chromolaenaOdorata</td><td></td><td></td><td>x</td><td></td></tr><tr><td>aspiliaAfricana</td><td></td><td></td><td></td><td></td></tr><tr><td>ageratumConyzoides</td><td>x</td><td></td><td></td><td></td></tr></tbody></table><table><thead><tr><th>RC isFoundIn</th><th>Namibia</th><th>SouthernAfrica</th><th>Nigeria</th><th>Benin</th><th>RC possesses</th><th>cinnamomumZeylanicum</th><th>chromolaenaOdorata</th><th>aspiliaAfricana</th><th>ageratumConyzoides</th></tr></thead><tbody><tr><td>aspergillusFlavus</td><td>x</td><td></td><td></td><td></td><td>Namibia</td><td></td><td></td><td></td><td></td></tr><tr><td>aspergillusParasiticus</td><td></td><td></td><td>x</td><td></td><td>SouthernAfrica</td><td></td><td></td><td></td><td></td></tr><tr><td>aspergillusOchraceus</td><td></td><td></td><td></td><td></td><td>Nigeria</td><td></td><td></td><td></td><td></td></tr><tr><td>aspergillusTamarii</td><td></td><td>x</td><td></td><td></td><td>Benin</td><td></td><td>x</td><td></td><td></td></tr></tbody></table>

*Navigating within linked conceptual structures* The above example is used to reveal the gradual navigation needs of the RCA outputs<fnref n="8" />. Let us suppose the user wants information about the pests that attack peanuts. Pest Concept *CPe13* introduces *attackPeanuts* and is therefore the natural **entry point**. Pests of *CPe13* extent are *Aspergillus ochraceus* and *Aspergillus parasiticus*. To know the localization of these pests, the user needs to **follow the relational attribute** $∃isFoundIn(CC20)$. This attribute leads to Country concept *CC20* which groups Western Africa countries, i.e. Benin and Nigeria. In *CC20*, the relational attributes containing *possesses* point to plant concepts. Going towards

<footnote n="8">⁸ A navigation for this example using RCAviz is presented at https://rcaviz.lirmm.fr/documentation.html#examples. A video on YouTube is also proposed.</footnote>
<figure><img src="image_3.png" /><figcaption>**Fig. 1.** UML model (top left). Classification with RCA of plants (top right), pests (bottom right) and countries (bottom left) of Table 1.</figcaption></figure>

the Plant concept *CPl21* indicates that *CC20* countries host Aspilia africana or Chromolaena odorata. *CPl21* comports the relational attribute ∃treats(*CPe13*), meaning that its plants treat at least one of the Aspergillus pest species that attack peanuts. It can be interpreted that way: Aspergillus species that attack peanuts are observed in Western Africa countries and are treated by plants that can be found in the countries of this region. It can be interesting here, for the user, to go back by choosing Concept *CC20* to look at relational attributes ∃possesses*CPl6* or ∃possesses*CPl9*. Choosing ∃possesses*CPl9* and going to *CPl9*, the user can see that these Western Africa countries possess plants that have characteristics that are close to the plants treating Aspergillus species attacking peanuts. This is the case of Ageratum conizoïdes which is analyzed by going to sub-concept *CPl11*. This plant is toxic and has an antidysenteric effect, it may have antibacterial properties. These characteristics may suggest that common chemical compounds could be shared between these 3 plant species. This navigation therefore brings a research hypothesis that domain experts may study through new experimental research: can Ageratum conizoïdes be used to control Aspergillus species (i.e. Aspergillus ochraceus and Aspergillus parasiticus) attacking peanuts? If the answer is true, this then would mean that farmers
in Western Africa have an additional local plant that can be used for controlling Aspergillus ochraceus and Aspergillus parasiticus.

This brief navigation example illustrates the main needs of a user: (i) selecting an attribute (or an object) to initiate the navigation, (ii) visualizing the neighborhood of a concept to be able to choose the next step and do not end with an empty solution, (iii) moving from one concept to a sub-concept (or a super-concept) in the same conceptual structure, (iv) jumping to a neighboring conceptual structure using a relational attribute, and (v) backtracking easily.

## 3 Visualization

In the previous section, we presented the extracted data structure using an RCA classification. As can be seen in Figure 1, this structure can be modeled as a set of Directed Acyclic Graphs (DAG), each DAG corresponding to a context (here, one DAG for plants, one for pests and one for countries). There is an extensive literature on the visualization of DAG (see [17] for an introduction). Most articles present algorithms for positioning vertices and drawing edges to limit the number of edge crossings. This type of approach is particularly interesting for small datasets, like the one presented in Figure 1. However, when datasets have hundreds of vertices, visualizing the entire structure induces visual cluttering issues. Moreover, in our context, it can be useful to be able to switch from one DAG to another interactively via the relational attributes. This is why we opted for a local visualization system with a step-by-step navigation.

*Requirement analysis* Generally, visualization design is done by iterating a process consisting of (1) defining needs and suitable data structures, (2) proposing visual encodings and interactive features meeting these needs, (3) providing the results to the users so that they can refine their needs, etc. (see for instance [19, 24]). In our case, we designed RCAviz by organizing regular meetings with the three visualization experts in charge of providing the visual platform, an RCA expert and a dataset expert. Here is the final list of the needs identified during these meetings: **[R1] Selection of a concept.** A step-by-step navigation requires a starting point. Our tool must therefore initially allow the selection of a concept, depending on the objects and attributes of interest for the user. **[R2] Visualization of a concept and its neighbors.** The user must be able to see a concept (with its objects and attributes) as well as its neighbors, i.e. the lower and higher level concepts in the DAG and the neighboring concepts in the other DAGs. **[R3] Navigation step-by-step.** The user must be able to explore neighboring concepts of the displayed concept (whether they belong to the same DAG or to another one). **[R4] History.** The users must be able to keep a history of their navigation, i.e. the list of the previously explored concepts. They must also be able to navigate through this history and to save a state to be able to resume their exploration later.

RCAviz is designed to meet these requirements. The visualization consists of an initial view allowing to select the starting concept, the *Concept Selector*, and
two coordinated views: (1) the *Explorer* allows to navigate step-by-step and (2) the *History* allows to visualize the navigation history.

**Concept Selector** The *Concept Selector* is the first view displayed when one launches RCAviz. It is designed to meet the requirement [R1]. It first allows to upload a data file. Once the file is uploaded, the user can choose a context, i.e. one of the DAGs of the dataset. Then appears the list of objects, the list of attributes and the list of concepts, as shown in Figure 2. The user can select one or more objects and one or more attributes. The selection of these elements updates the other lists according to the logical operators used, and in particular updates the list of the corresponding concepts on the right. One can for example display the concepts containing (*object A* and *object B*) and (*attribute C* or *attribute D*). When the list of objects and attributes is long, a search field allows the user to easily find the elements. The user also can select or deselect all the elements of each list. The list of selected items is displayed when hovering over *Selected*. When an object or an attribute is selected, the corresponding introducer concept number on the right panel appears in bold face. Once the user has found an interesting concept, they can select it from the list on the right and launch the *Explorer* and the *History*. It may seem critical to select a concept according to its index number and the selected associated objects and attributes. Thus, in a future work, we plan to show additional information on the listed concepts, such as their introduced objects and introduced attributes, or their whole extent and intent.

*Explorer* Figure 3 shows the *History* (top panel) and the *Explorer* (bottom). The *Explorer* consists of three sub-views. The central panel displays the selected concept in the center and its neighborhood above (children in the DAG) and below (parents in the DAG) [R2]. Each concept is represented as a colored rectangle composed of stacked boxes. The id is shown at the left corner of the top box. The introduced objects are presented in the box entitled “Objects”. Simple (i.e. non relational) introduced attributes appear in another box. The introduced relational attributes, when they exist, appear in the box at the bottom of the concept. When there are several relational attributes with the same relation, they are grouped by relation. In addition, when there are many relational attributes with the same relation, only their number is shown in order to save space, and thus they are not clickable.

For example, the concept 20 in the country DAG in Figure 3 has links to the concepts 6, 9, and 21 in the plant DAG and 13 in the pest DAG. The user can navigate step-by-step by clicking on the concepts [R3]. For example, if they click on the concept 23, it is positioned in the middle of the view and its parents and children are displayed below and above. $\top$, for the top (resp. $\bot$ for the bottom) at the top right of a concept means that it has no parents (resp. no children). To facilitate the navigation, an opposite link, e.g. "isFoundIn-opposite", is provided for each relational attribute. These opposite links do not correspond to a *isFoundIn-opposite* formal context which would be the reverse
<figure><img src="image_4.png" /><figcaption>**Fig. 2.** The *Concept Selector*. The user can select *Objects* and *Attributes* of interest. Then, the list of the available *Concepts* is updated on the right, and the user can select one of them to launch the *Explorer* and the *History*. Concept 20 is in bold face as it introduces the selected attribute *westernAfrica*.</figcaption></figure>

of `isFoundIn`. In a future work, additional information on each concept (intent, extent, etc.) will be provided to make the navigation easier.

Each DAG is represented by a color. We use a categorical color scale adapted to the representation of nominal variables [20]. In our example, the country DAG is shown in blue, the plant DAG in red, and the pest DAG in green. When the user hovers over a link, the concept in the corresponding DAG is displayed on the right panel. In Figure 3, the mouse is positioned on the red link 21, the corresponding concept is displayed with its neighborhood on the right panel. When the user clicks on the link, the left DAG is positioned in the central panel [R3] and that of the central panel is positioned in the right panel. We thus keep track of the previous exploration step [R4].

The concepts that have already been explored appear with lower brightness than the other concepts [R4]. In Figure 3, we can see that all the concepts have already been explored except one of the red DAG at the bottom left.

Finally, it is common to have a high number of parents or children. Showing all of them induces visualization and navigation issues. Therefore, if the number exceeds 5, we display a single "super-concept". When the user clicks on it, a
<figure><img src="image_5.png" /><figcaption>**Fig. 3.** The *History*. The top panel shows the *History* containing the list of the previous explored concepts. The *Explorer*. On the center panel, the view shows a concept and its neighborhood. The user can navigate through the concepts by clicking on them. The left panel shows the previous DAG displayed. When the user hovers over a link of another DAG, the last is displayed on the right panel.</figcaption></figure>
pop-up displays a view similar to the *Concept Selector*. The user can then select one or more concepts which, after validation, are displayed in the central panel. In this release, we choose a top to bottom representation of the specialization relation as this is the common representation of partial orders by Hasse diagrams. Alternatively, we may explore a left to right representation, where a concept will be on the left of its sub-concepts, to show more sibling concepts as they will be vertically organized.

*History* We have seen that a part of the path leading to the concept displayed is available in the left panel of the *Explorer*. The brightness of the concepts also makes it possible to know if a concept has already been explored. However, these functionalities do not fully meet the requirement [R4]. We therefore complete them with a view entirely dedicated to [R4]: the *History*. As shown in Figure 3, the history consists of two parts: a colored line at the top and a list of concepts below.

The colored line is made up of segments, each segment representing an explored concept. The color represents the DAG of the concept. The length of the line adapts to the width of the visualization so that all the concepts explored are visible. Therefore, the more concepts the user has explored, the smaller the segments representing those concepts are. The user can see if the current concept of the *Explorer* has already been explored with a small triangle placed above each segment representing this concept. For example, in Figure 3, we see two triangles, one on the last segment representing the concept displayed in the *Explorer* and one on a previous segment: this means that the current concept has already been explored once during the navigation.

The list of concepts explored with their id is displayed under the colored line. This list can be long, a horizontal slider is therefore activated when the available space is not enough to display all of them in the view. The concepts are represented by colored rectangles according to the DAG they belong to. An arrow connects two concepts if the user has moved from one to the other by navigating step-by-step. If the user clicks, in the *History*, on a previously explored concept, it is displayed in the *Explorer* and a vertical bar is used in the *History* to show that the sequence was not produced by a navigation step-by-step. When the user hovers over a concept, a small red cross appears at the corner. It can be used to remove this concept from the *History*. As selecting a concept only according to its id may be tricky, additional information (e.g. intent/extent) will be presented in a future release.

Finally, the user can save the state of their navigation as well as the history by clicking on the save button in the top bar. They can then load the file thus produced to resume their exploration.

*Implementation* RCAviz is a web platform developed in HTML, CSS and JavaScript. The panels and the visualizations are made using the D3.js<fnref n="9" /> [6] library. Saving the history file is made possible with the FileSaver<fnref n="10" /> library. The tool

<footnote n="9">⁹ https://d3js.org/</footnote>

<footnote n="10">¹⁰ https://github.com/eligrey/FileSaver.js/</footnote>
is available online<fnref n="11" />. An extensive documentation containing sample datasets is available to allow anyone to use the tool with the samples or with their own datasets.

# 4 Related Work

*Visualizing and exploring in FCA tools* There have been a lot of proposals to visualize and explore the conceptual structures. For space reasons, we only mention some of them to highlight the main followed directions. Some proposals visualize the structure itself such as Conexp [26], Latviz [1], Carve (based on a decomposition tree) and DAnCe (with concept enumeration guided by the user) [21], and the approach by expandable and collapsible concept trees [3]. Additional views can be provided, like in RV-xplorer [2], with pie-charts showing local view on a concept, its content and its neighboring, and statistics on the next levels to guide the user. Other approaches do not disclose the DAG structure, such as CREDO [7] or SearchSleuth [10] for web queries which show links and terms that can be clicked to navigate on the underlying lattice, e.g. for specializing or generalizing the query; SORTED [21] where terms can be added or removed; SPARKLIS [12] for RDF data which uses lists of urls, types, operators; or ConceptCloud [15] which represents a focus concept by a tag cloud showing objects and attributes (with size and colors for highlighting importance and categories) and tag selection to change the focus concept. Some approaches use objects representations other than terms, such as photos [13] or movie posters [9]. As presented in this paper, RCAviz shows the structure, enables selecting a focus concept from initial objects or attributes, enables going step-by-step towards sub-concepts and super-concepts, and backtracks to a previous step.

*Visualizing in RCA tools* Only four tools implement RCA: Galicia, eRCA<fnref n="12" /> improved in Galatea<fnref n="13" />, RCAexplore, and a Cogui<fnref n="14" /> plugin. This last plugin was also converted as a Java library named FCA4J<fnref n="15" />. RCAexplore and Cogui have the largest functional features regarding the number of input/output and accepted quantifiers. Regarding the visualization, Galicia provides an advanced lattice representation (tridimensional, graph layout built with a force algorithm) but no specific operators to navigate within a structure or from one structure to another. RCAexplore provides a visualization tool relevant for navigating small-size structures. Compared to Galicia, eRCA/Galatea, and Cogui, RCAexplore provides a browser enabling the navigation between concepts textually described (no visualization), shows the whole structure but does not enable zooming. Concepts and relational attributes are clickable to go from one structure to a neighboring structure, but selecting a focus concept and going step-by-step using local views

<footnote n="11">¹¹ https://rcaviz.lirmm.fr/</footnote>

<footnote n="12">¹² https://code.google.com/archive/p/erca/</footnote>

<footnote n="13">¹³ https://github.com/jrfaller/galatea</footnote>

<footnote n="14">¹⁴ http://www.lirmm.fr/cogui/</footnote>

<footnote n="15">¹⁵ https://www.lirmm.fr/fca4j/</footnote>
is not proposed. Finally eRCA/Galatea, RCAexplore, and Cogui produce outputs in the dot file format, which can be visualized or transformed using Graphviz<fnref n="16" />. In RCAviz, several visualization panels show local views, and allow the user to know which neighboring structure has been previously accessed or can be accessed through relational attributes. The step-by-step navigation is done by clicking on the relational attributes. The colors help to distinguish the different sets of objects. Table 2 synthesizes the main features of RCA tools regarding our requirements.

<table><caption>**Table 2.** Comparison with other RCA tools on the visualization requirements.</caption><thead><tr><th></th><th>R1<br>Initial concept<br>selection by O/A</th><th>R2<br>Local visu with<br>only concept neighbors</th><th>R3<br>Step-by-step nav.<br>among concepts with clicking</th><th>R4<br>History</th></tr></thead><tbody><tr><td>Galicia</td><td></td><td></td><td></td><td></td></tr><tr><td>eRCA/Galatea</td><td></td><td></td><td></td><td></td></tr><tr><td>RCAexplore</td><td></td><td>Textual descr. only<br>(concept browser)</td><td>In concept browser and<br>Along relational attr.<br>in global visu.</td><td></td></tr><tr><td>RCAviz</td><td>x</td><td>x</td><td>x</td><td>x</td></tr></tbody></table>

# 5 Conclusion

This paper presents RCAviz, a web platform devoted to visualize and navigate within relational conceptual structures computed using RCA. First uses showed the relevance of the features adopted to navigate within and between conceptual structures. These uses also enabled to identify a need for additional features to be integrated, e.g. specifying the path length to be shown, presenting the complete conceptual structures when they are small, local computation as in [5], visualizing the ER model, showing a larger concept neighborhood, or expressing complex queries to initiate the exploration. Additional testings will be conducted to consolidate the reliability of the software.

This release is a first step in the building of a general platform to support exploratory search in relational datasets. To this end, future development will also focus on considering implications visualization. Large user experiments will be carried out in the context of the Knomana project.

**Acknowledgments** The authors wish to thank the anonymous reviewers for their valuable comments that helped improving the paper. They also warmly thank Alain Gutierrez for his strong support during this work and for enabling FCA4J to generate output files with the JSON data format as required by RCAviz. This work was supported by the French National Research Agency under the Investments for the Future Program, referred as ANR-16-CONV-0004.

<footnote n="16">¹⁶ https://graphviz.org/</footnote>
## References

1. Alam, M., Le, T.N.N., Napoli, A.: Latviz: A new practical tool for performing interactive exploration over concept lattices. In: CLA'16. pp. 9–20 (2016)

2. Alam, M., Osmuk, M., Napoli, A.: RV-Xplorer: A Way to Navigate Lattice-Based Views over RDF Graphs. In: CLA'15. pp. 23–34 (2015)

3. Andrews, S., Hirsch, L.: A tool for creating and visualising formal concept trees. In: CSTIW@ICCS. CEUR Workshop Proceedings, vol. 1637, pp. 1–9 (2016)

4. Azmeh, Z., Huchard, M., Napoli, A., Rouane-Hacène, M., Valtchev, P.: Querying Relational Concept Lattices. In: CLA'11. pp. 377–392 (2011)

5. Bazin, A., Carbonnel, J., Huchard, M., Kahn, G., Keip, P., Ouzerdine, A.: On-demand relational concept analysis. In: ICFCA 2019. LNCS, vol. 11511, pp. 155–172. Springer (2019)

6. Bostock, M., Ogievetsky, V., Heer, J.: D³ data-driven documents. IEEE Transactions on Visualization and Computer Graphics 17(12), 2301–2309 (2011)

7. Carpineto, C., Romano, G.: Exploiting the Potential of Concept Lattices for Information Retrieval with CREDO. J. UCS 10(8), 985–1013 (2004)

8. Carpineto, C., Romano, G.: Concept data analysis - theory and appl. Wiley (2005)

9. Crampes, M., Plantié, M.: Visualizing and Interacting with Concept Hierarchies. In: Proc. of WIMS14. ACM (2014)

10. Ducrou, J., Eklund, P.: SearchSleuth: The conceptual neighbourhood of an Web query. In: CLA'07. p. 14

11. Ferré, S.: Reconciling Expressivity and Usability in Information Access. Habilitation à diriger des recherches, Université de Rennes 1 (Nov 2014), https://hal.inria.fr/tel-01100292

12. Ferré, S.: Sparklis: An expressive query builder for SPARQL endpoints with guidance in natural language. Semantic Web 8(3), 405–418 (2017)

13. Ferré, S.: CAMELIS: Organizing and Browsing a Personal Photo Collection with a Logical Information System. In: CLA'07. pp. 112–123. Montpellier, France (2007)

14. Ganter, B., Wille, R.: Formal Concept Analysis: Mathematical Foundations. Springer (1999)

15. Greene, G.J., Esterhuizen, M., Fischer, B.: Visualizing and exploring software version control repositories using interactive tag clouds over formal concept lattices. Information and Software Technology 87

16. Hacene, M.R., Huchard, M., Napoli, A., Valtchev, P.: Relational concept analysis: mining concept lattices from multi-relational data. Ann. Math. Artif. Intell. 67(1), 81–108 (2013)

17. Healy, P., Nikolov, N.S.: Hierarchical drawing algorithms. In: Tamassia, R. (ed.) Handbook on Graph Drawing and Visualization, pp. 409–453. Chapman and Hall/CRC (2013)

18. Messai, N., Devignes, M., Napoli, A., Smaïl-Tabbone, M.: Querying a bioinformatic data sources registry with concept lattices. In: ICCS. Lecture Notes in Computer Science, vol. 3596, pp. 323–336. Springer (2005)

19. Munzner, T.: A nested process model for visualization design and validation. IEEE Transactions on Visualization and Computer Graphics 15(6), 921–928 (2009)

20. Munzner, T.: Visualization Analysis and Design. A.K. Peters visualization series, A K Peters (2014)

21. Pattison, T.: Interactive visualization of formal concept lattices. In: ED/GViP@Diagrams. CEUR Workshop Proceedings, vol. 1244, pp. 78–89. CEUR-WS.org (2014)
22. Poelmans, J., Ignatov, D.I., Kuznetsov, S.O., Dedene, G.: Formal concept analysis in knowledge processing: A survey on applications. Expert Syst. Appl. **40**(16), 6538–6560 (2013)

23. Poelmans, J., Kuznetsov, S.O., Ignatov, D.I., Dedene, G.: Formal concept analysis in knowledge processing: A survey on models and techniques. Expert Syst. Appl. **40**(16), 6601–6623 (2013)

24. Sedlmair, M., Meyer, M.D., Munzner, T.: Design study methodology: Reflections from the trenches and the stacks. IEEE Transactions on Visualization and Computer Graphics **18**(12), 2431–2440 (2012)

25. Silvie, P., Martin, P., Marnotte, P., Huchard, M.: Projet knomana. knowledge management on pesticidal plants in afrika for a safer food and a better environmental health. rapport d'extractions. Tech. rep., Métaprog. Glofoods INRA-CIRAD (2019)

26. Yevtushenko, S.A.: Conexp (2018), http://conexp.sourceforge.net/