RCAviz: Visualizing and Exploring Relational Conceptual Structures Emile Muller1,βˆ— , Marianne Huchard1 , Pierre Martin2 , Pascal Poncelet1 and Arnaud Sallaberry1,3 1 LIRMM, UniversitΓ© de Montpellier, CNRS, Montpellier, France 2 CIRAD, UPR AIDA, F-34398 Montpellier, France; AIDA, Univ Montpellier, CIRAD, Montpellier, France 3 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 RCAviz1 , 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 [1]. Other conceptual structures may 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 [2] shows the variety of applications where different knowledge discovery methods based on FCA are successfully used [3]. 1 https://rcaviz.lirmm.fr/ Published in Pablo Cordero, Ondrej Kridlo (Eds.): The 16π‘‘β„Ž International Conference on Concept Lattices and Their Applications, CLA 2022, Tallinn, Estonia, June 20–22, 2022, Proceedings, pp. 133–146. βˆ— Corresponding author. Envelope-Open emile.muller.contact@gmail.com (E. Muller); marianne.huchard@lirmm.fr (M. Huchard); ipierre.martin@cirad.fr (P. Martin); pascal.poncelet@lirmm.fr (P. Poncelet); arnaud.sallaberry@lirmm.fr (A. Sallaberry) Orcid 0000-0002-6309-7503 (M. Huchard); 0000-0002-4874-5795 (P. Martin); 0000-0002-8277-3490 (P. Poncelet); 0000-0001-7068-176X (A. Sallaberry) Β© 2022 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings http://ceur-ws.org ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org) Among the extensions of FCA, Relational Concept Analysis (RCA) supports 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 interconnected structures by navigating from one concept to another. This navigation is therefore performed within the same conceptual 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. 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 [4, 5, 6]. 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 assisting exploring, querying, and analyzing a classification produced by FCA [7, 6, 8]. For RCA, the most advanced tools propose either a sophisticated visualization of the conceptual structure (e.g. Galicia1 ) or a simple visualization of the conceptual structure with the ability to jump from one structure to another through the relational links (e.g. RCAexplore2 ). 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 RCAviz3 , an online tool which aims to support such navigation. Section 2 briefly introduces FCA and RCA basics, and a small RCA navigation example to illustrate the main features expected for a navigation tool. Section 3 presents the visualization and navigation features of RCAviz. in Section 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. 2. RCA Navigation at a glance This section briefly introduces FCA and RCA through an example inspired by the Knomana project [9] 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. 1 http://www.iro.umontreal.ca/~galicia/ 2 http://dataqual.engees.unistra.fr/logiciels/rcaExplore/ 3 http://rcaviz.lirmm.fr/ 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 at- tributes (intent). For instance, in Table 1, as all the plants of the group 𝐸9 = {π‘β„Žπ‘Ÿπ‘œπ‘šπ‘œπ‘™π‘Žπ‘’π‘›π‘Žπ‘‚π‘‘π‘œπ‘Ÿπ‘Žπ‘‘π‘Ž π‘Žπ‘ π‘π‘–π‘™π‘–π‘Žπ΄π‘“ π‘Ÿπ‘–π‘π‘Žπ‘›π‘Ž, π‘Žπ‘”π‘’π‘Ÿπ‘Žπ‘‘π‘’π‘šπΆπ‘œπ‘›π‘¦π‘§π‘œπ‘–π‘‘π‘’, } share all the attributes 𝐼9 = { π‘Žπ‘ π‘‘π‘’π‘Ÿπ‘Žπ‘π‘’π‘Žπ‘’, π‘Žπ‘Ÿπ‘œπ‘šπ‘Žπ‘‘π‘–π‘, π‘‘π‘œπ‘₯𝑖𝑐, π‘’π‘£π‘’π‘Ÿπ‘”π‘Ÿπ‘’π‘’π‘›, π‘Žπ‘π‘π‘™π‘–π‘πΈπ‘ π‘ π‘’π‘›π‘‘π‘–π‘Žπ‘™π‘‚π‘–π‘™, π‘Žπ‘π‘π‘™π‘–π‘πΈπ‘₯π‘‘π‘Ÿπ‘Žπ‘π‘‘}, 𝐢𝑃𝑙9 = (𝐸9 , 𝐼9 ) is a concept. The conceptual struc- ture reflects group inclusion and highlights concept specialization. The top right part of Figure 1 presents an example of specialization of plant concepts. Concept 𝐢𝑃𝑙11 , which associates 𝐸11 = {π‘Žπ‘”π‘’π‘Ÿπ‘Žπ‘‘π‘’π‘šπΆπ‘œπ‘›π‘¦π‘§π‘œπ‘–π‘‘π‘’} with its common attributes 𝐼11 = 𝐼9 βˆͺ {π‘Žπ‘›π‘‘π‘–π‘‘π‘¦π‘ π‘’π‘›π‘‘π‘’π‘Ÿπ‘–π‘} is a subconcept of 𝐢𝑃𝑙9 , with 𝐼11 βŠ‡ 𝐼9 and 𝐸11 βŠ† 𝐸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 [10]. 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. π‘ƒπ‘™π‘Žπ‘›π‘‘, 𝑃𝑒𝑠𝑑, πΆπ‘œπ‘’π‘›π‘‘π‘Ÿπ‘¦), while RCs correspond to the associations (i.e. π‘‘π‘Ÿπ‘’π‘Žπ‘‘π‘ , 𝑖𝑠𝐹 π‘œπ‘’π‘›π‘‘πΌ 𝑛, π‘π‘œπ‘ π‘ π‘’π‘ π‘ π‘’π‘ ). 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 π‘Ÿ) connects objects of a source FC (denoted by 𝐹 𝐢𝑠 ) to objects of a target FC (denoted by 𝐹 𝐢𝑑 ). E.g. The RC π‘Ÿ = π‘‘π‘Ÿπ‘’π‘Žπ‘‘π‘  connects objects of FC 𝐹 𝐢𝑠 = π‘ƒπ‘™π‘Žπ‘›π‘‘ to objects of FC 𝐹 𝐢𝑑 = 𝑃𝑒𝑠𝑑. Once a concept 𝐢𝑑 is built in 𝐹 𝐢𝑑 , some objects in 𝐹 𝐢𝑠 may be connected to objects of 𝐢𝑑 using π‘Ÿ. Different schemes of connection can be adopted, e.g. the connection of an object π‘œπ‘  of 𝐹 𝐢𝑠 by π‘Ÿ to π‘Žπ‘‘ π‘™π‘’π‘Žπ‘ π‘‘ π‘œπ‘›π‘’ object of 𝐢𝑑 , the connection of π‘œπ‘  to π‘Žπ‘™π‘™ objects of 𝐢𝑑 , or half of π‘œπ‘  connections by π‘Ÿ are with some objects of 𝐢𝑑 . For example in Figure 1, the concept 𝐢𝑃𝑒13 groups π‘Žπ‘ π‘π‘’π‘Ÿπ‘”π‘–π‘™π‘™π‘’π‘ π‘‚π‘β„Žπ‘Ÿπ‘Žπ‘π‘’π‘’π‘  and π‘Žπ‘ π‘π‘’π‘Ÿπ‘”π‘–π‘™π‘™π‘’π‘ π‘ƒπ‘Žπ‘Ÿπ‘Žπ‘ π‘–π‘‘π‘–π‘π‘’π‘ , two pests that attack peanuts. In addition, π‘Žπ‘ π‘π‘–π‘™π‘–π‘Žπ΄π‘“ π‘Ÿπ‘–π‘π‘Žπ‘›π‘Ž and π‘β„Žπ‘Ÿπ‘œπ‘šπ‘œπ‘™π‘Žπ‘’π‘›π‘Žπ‘‚π‘‘π‘œπ‘Ÿπ‘Žπ‘‘π‘Ž control respectively π‘Žπ‘ π‘π‘’π‘Ÿπ‘”π‘–π‘™π‘™π‘’π‘ π‘ƒπ‘Žπ‘Ÿπ‘Žπ‘ π‘–π‘‘π‘–π‘π‘’π‘  and π‘Žπ‘ π‘π‘’π‘Ÿπ‘”π‘–π‘™π‘™π‘’π‘ π‘‚π‘β„Žπ‘Ÿπ‘Žπ‘π‘’π‘’π‘ . Thus both plants control at least one pest of 𝐢𝑃𝑒13. The selection of the scheme is captured in the relational attributes that include a quantifier (e.g. βˆƒ, βŠ‡, βˆ€β‰₯50% ), the relation π‘Ÿ and the target concept 𝐢𝑑 . The use of the quantifier βˆƒ in Figure 1 conducts to express the relational attribute β€œtreats at least one pest of 𝐢𝑃𝑒13” as follow: βˆƒπ‘‘π‘Ÿπ‘’π‘Žπ‘‘π‘ (𝐢𝑃𝑒13). Relational attributes are added to the description of the objects to respect FCA principle. E.g. π‘Žπ‘ π‘π‘–π‘™π‘–π‘Žπ΄π‘“ π‘Ÿπ‘–π‘π‘Žπ‘›π‘Ž and π‘β„Žπ‘Ÿπ‘œπ‘šπ‘œπ‘™π‘Žπ‘’π‘›π‘Žπ‘‚π‘‘π‘œπ‘Ÿπ‘Žπ‘‘π‘Ž both receive βˆƒπ‘‘π‘Ÿπ‘’π‘Žπ‘‘π‘ (𝐢𝑃𝑒13) 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 𝐢𝑃𝑙21 is built to factorize βˆƒπ‘‘π‘Ÿπ‘’π‘Žπ‘‘π‘ (𝐢𝑃𝑒13). 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 [10]. 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. FC Plant lauraceae asteraceae aromatic comestible toxic evergreen contraceptive antidysenteric applicOil applicEssentialOil applicExtract cinnamomumZeylanicum x x x x x chromolaenaOdorata x x x x x x aspiliaAfricana x x x x x x x ageratumConyzoides x x x x x x x Pest attacksPeanuts attacksCheese attacksRice aspergillus Country australAfrica westernAfrica aspergillusFlavus x x Namibia x aspergillusParasiticus x x SouthernAfrica x aspergillusOchraceus x x Nigeria x aspergillusTamarii x x x Benin x RC treats aspergillusFlavus aspergillusParasiticus aspergillusOchraceus aspergillusTamarii cinnamomumZeylanicum x x chromolaenaOdorata x aspiliaAfricana x ageratumConyzoides x RC isFoundIn Namibia SouthernAfrica Nigeria Benin RC possesses cinnamomumZeylanicum chromolaenaOdorata aspiliaAfricana ageratumConyzoides aspergillusFlavus x Namibia aspergillusParasiticus x SouthernAfrica aspergillusOchraceus x Nigeria x aspergillusTamarii x Benin x Navigating within linked conceptual structures The above example is used to reveal the gradual navigation needs of the RCA outputs4 . Let us suppose the user wants information about the pests that attack peanuts. Pest Concept 𝐢𝑃𝑒13 introduces π‘Žπ‘‘π‘‘π‘Žπ‘π‘˜π‘ƒπ‘’π‘Žπ‘›π‘’π‘‘π‘  and is therefore the natural entry point. Pests of 𝐢𝑃𝑒13 extent are Aspergillus ochraceus and Aspergillus parasiticus. To know the localization of these pests, the user needs to follow the relational attribute βˆƒπ‘–π‘ πΉ π‘œπ‘’π‘›π‘‘πΌ 𝑛(𝐢𝐢20). This attribute leads to Country concept 𝐢𝐢20 which groups Western Africa countries, i.e. Benin and Nigeria. In 𝐢𝐢20, the relational attributes containing π‘π‘œπ‘ π‘ π‘’π‘ π‘ π‘’π‘  point to plant concepts. Going towards the Plant concept 𝐢𝑃𝑙21 indicates that 𝐢𝐢20 countries host Aspilia africana or Chromolaena odorata. 𝐢𝑃𝑙21 comports the relational attribute βˆƒπ‘‘π‘Ÿπ‘’π‘Žπ‘‘π‘ (𝐢𝑃𝑒13), 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 𝐢𝐢20 to look at relational attributes βˆƒπ‘π‘œπ‘ π‘ π‘’π‘ π‘ π‘’π‘ πΆπ‘ƒπ‘™6 or βˆƒπ‘π‘œπ‘ π‘ π‘’π‘ π‘ π‘’π‘ πΆπ‘ƒπ‘™9. Choosing βˆƒπ‘π‘œπ‘ π‘ π‘’π‘ π‘ π‘’π‘ πΆπ‘ƒπ‘™9 and going to 𝐢𝑃𝑙9, 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 𝐢𝑃𝑙11. 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? 4 A navigation for this example using RCAviz is presented at https://rcaviz.lirmm.fr/documentation.html#examples. A video on YouTube is also proposed. CPl6 aromatic treats isFoundIn Plant Pest Country evergreen βˆƒtreats(CPe12) possesses CPl9 CPl22 asteraceae βˆƒtreats(CPe15) toxic applicEssentialOil applicExtract CPl7 lauraceae CPl11 comestible antidysenteric CPl21 applicOil ageratumConyzoides βˆƒtreats(CPe13) βˆƒtreats(CPe16) cinnamomumZeylanicum CPl10 CC17 contraceptive CPl25 βˆƒtreats(CPe27) βˆƒtreats(CPe24) aspiliaAfricana chomolaenaOdorata CC20 westernAfrica CC18 βˆƒpossesses(CPl6) CPl8 βˆƒpossesses(CPl9) βˆƒtreats(CPe14) CPe12 australAfrica βˆƒpossesses(CPl21) aspergillus Namibia βˆƒisFoundIn(CC17) SouthernAfrica CC23 CC26 CPe15 CPe13 βˆƒpossesses(CPl10) βˆƒpossesses(CPl25) attacksCheese attacksPeanuts Nigeria Benin βˆƒisFoundIn(CC18) βˆƒisFoundIn(CC20) aspergillusFlavus CC19 CPe16 CPe24 CPe27 βˆƒpossesses(CPl7) attacksRice βˆƒisFoundIn(CC23) βˆƒisFoundIn(CC26) βˆƒpossesses(CPl8) aspergillusTamarii aspergillusOchraceus aspergillusParasiticus βˆƒpossesses(CPl11) βˆƒpossesses(CPl22) CPe14 βˆƒisFoundIn(CC19) Figure 1: UML model (top left). Classification with RCA of plants (top right), pests (bottom right) and countries (bottom left) of Table 1. 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 [11] 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 con- sisting 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 [12, 13]). 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. Figure 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. 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. ⊀, for the top (resp. βŠ₯ 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 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 repre- sentation of nominal variables [14]. 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 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.js5 [15] library. Saving the history file is made possible with the FileSaver6 library. The tool is available online7 . 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 [16], Latviz [17], Carve (based on a decomposition tree) and DAnCe (with concept enumeration guided by the user) [18], and the approach by expandable and collapsible concept trees [19]. Additional views can be provided, like in RV-xplorer [20], 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 [21] or SearchSleuth [22] 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 [18] where terms can be added or removed; SPARKLIS [23] for RDF data which uses lists of urls, types, operators; or ConceptCloud [8] 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 [24] or movie posters [25]. 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. 5 https://d3js.org/ 6 https://github.com/eligrey/FileSaver.js/ 7 https://rcaviz.lirmm.fr/ Visualizing in RCA tools Only four tools implement RCA: Galicia, eRCA8 improved in Galatea9 , RCAexplore, and a Cogui10 plugin. This last plugin was also converted as a Java library named FCA4J11 . 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 is not proposed. Finaly eRCA/Galatea, RCAexplore, and Cogui produce outputs in the dot file format, which can be visualized or transformed using Graphviz12 . 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 2 Comparison with other RCA tools on the visualization requirements. R1 R2 R3 R4 Initial concept Local visu with Step-by-step nav. History selection by O/A only concept neighbors among concepts with clicking Galicia eRCA/Galatea RCAexplore Textual descr. only In concept browser and (concept browser) Along relational attr. in global visu. RCAviz x x x x 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 [26], visualizing the ER model, showing a larger concept neighborhood, or expressing 8 https://code.google.com/archive/p/erca/ 9 https://github.com/jrfaller/galatea 10 http://www.lirmm.fr/cogui/ 11 https://www.lirmm.fr/fca4j/ 12 https://graphviz.org/ 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. References [1] B. Ganter, R. Wille, Formal Concept Analysis: Mathematical Foundations, Springer, 1999. [2] J. Poelmans, D. I. Ignatov, S. O. Kuznetsov, G. Dedene, Formal concept analysis in knowledge processing: A survey on applications, Expert Syst. Appl. 40 (2013) 6538–6560. [3] J. Poelmans, S. O. Kuznetsov, D. I. Ignatov, G. Dedene, Formal concept analysis in knowledge processing: A survey on models and techniques, Expert Syst. Appl. 40 (2013) 6601–6623. [4] N. Messai, M. Devignes, A. Napoli, M. SmaΓ―l-Tabbone, Querying a bioinformatic data sources registry with concept lattices, in: ICCS, volume 3596 of Lecture Notes in Computer Science, Springer, 2005, pp. 323–336. [5] Z. Azmeh, M. Huchard, A. Napoli, M. Rouane-HacΓ¨ne, P. Valtchev, Querying Relational Concept Lattices, in: CLA’11, 2011, pp. 377–392. [6] S. FerrΓ©, Reconciling Expressivity and Usability in Information Access, Habilitation Γ  diriger des recherches, UniversitΓ© de Rennes 1, 2014. URL: https://hal.inria.fr/tel-01100292. [7] C. Carpineto, G. Romano, Concept data analysis - theory and appl., Wiley, 2005. [8] G. J. Greene, M. Esterhuizen, B. Fischer, Visualizing and exploring software version control repositories using interactive tag clouds over formal concept lattices, Information and Software Technology 87 (????). [9] P. Silvie, P. Martin, P. Marnotte, M. Huchard, Projet Knomana. KNOwledge MANAgement on pesticidal plants in Africa for a safer food and a better environmental health. Rapport d’extractions, Technical Report, MΓ©taprog. Glofoods INRA-CIRAD, 2019. [10] M. R. Hacene, M. Huchard, A. Napoli, P. Valtchev, Relational concept analysis: mining concept lattices from multi-relational data, Ann. Math. Artif. Intell. 67 (2013) 81–108. [11] P. Healy, N. S. Nikolov, Hierarchical drawing algorithms, in: R. Tamassia (Ed.), Handbook on Graph Drawing and Visualization, Chapman and Hall/CRC, 2013, pp. 409–453. [12] T. Munzner, A nested process model for visualization design and validation, IEEE Trans- actions on Visualization and Computer Graphics 15 (2009) 921–928. [13] M. Sedlmair, M. D. Meyer, T. Munzner, Design study methodology: Reflections from the trenches and the stacks, IEEE Transactions on Visualization and Computer Graphics 18 (2012) 2431–2440. [14] T. Munzner, Visualization Analysis and Design, A.K. Peters visualization series, A K Peters, 2014. [15] M. Bostock, V. Ogievetsky, J. Heer, D3 data-driven documents, IEEE Transactions on Visualization and Computer Graphics 17 (2011) 2301–2309. [16] S. A. Yevtushenko, Conexp, 2018. URL: http://conexp.sourceforge.net/. [17] M. Alam, T. N. N. Le, A. Napoli, Latviz: A new practical tool for performing interactive exploration over concept lattices, in: CLA’16, 2016, pp. 9–20. [18] T. Pattison, Interactive visualization of formal concept lattices, in: ED/GViP@Diagrams, volume 1244 of CEUR Workshop Proceedings, CEUR-WS.org, 2014, pp. 78–89. [19] S. Andrews, L. Hirsch, A tool for creating and visualising formal concept trees, in: CSTIW@ICCS, volume 1637 of CEUR Workshop Proceedings, 2016, pp. 1–9. [20] M. Alam, M. Osmuk, A. Napoli, RV-Xplorer: A Way to Navigate Lattice-Based Views over RDF Graphs, in: CLA’15, 2015, pp. 23–34. [21] C. Carpineto, G. Romano, Exploiting the Potential of Concept Lattices for Information Retrieval with CREDO, J. UCS 10 (2004) 985–1013. [22] J. Ducrou, P. Eklund, SearchSleuth: The conceptual neighbourhood of an Web query, in: CLA’07, ????, p. 14. [23] S. FerrΓ©, Sparklis: An expressive query builder for SPARQL endpoints with guidance in natural language, Semantic Web 8 (2017) 405–418. [24] S. FerrΓ©, CAMELIS: Organizing and Browsing a Personal Photo Collection with a Logical Information System, in: CLA’07, Montpellier, France, 2007, pp. 112–123. [25] M. Crampes, M. PlantiΓ©, Visualizing and Interacting with Concept Hierarchies, in: Proc. of WIMS14, ACM, 2014. [26] A. Bazin, J. Carbonnel, M. Huchard, G. Kahn, P. Keip, A. Ouzerdine, On-demand relational concept analysis, in: ICFCA 2019, volume 11511 of LNCS, Springer, 2019, pp. 155–172. 1 2 3 1 2 3 Figure 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.