Tutorial “Conexp-Clj – A Functional Approach to Applying Formal Concept Analysis”

Organizers: Jana Fischer, Tom Hanika, Johannes Hirth

Since its creation, Formal Concept Analysis has seen itself as a directly applicable theory. For this reason, software programs and libraries have been and continue to be developed to enable various FCA analysis steps on data.

Of particular interest for this tutorial is Conexp-Clj [1,2], a general purpose library for FCA implemented using the functional programming language Clojure. Tailored for flexible and exploratory analysis of data using a comprehensive FCA toolset, Conexp-clj allows for a rapid investigation of specific problems.

With this tutorial we provide a short introduction into the design principles of Conexp-clj and introduce some of its main features, such as

  • basic FCA operations,
  • scaling data and scale-measures,
  • computing implications, and
  • attribute exploration,

by means of various examples taken from real-world data. The organizers will introduce a set of reusable templates that participants can use for subsequent analyses of their own data.

Duration and Format:

We envision to provide two training units (TU) à 60 minutes with a 20 minute break in between. Both TUs are subdivided into a set of two problems, each having a theoretical introduction part and a practical hands-on application.

Objectives and Outcomes

Participating in the tutorial will:

  • enable scientists from the FCA community (and beyond) to apply theoretical FCA principles to real-world data
  • train scientists in the usage of the Conexp-Clj software library
  • allow an open discussion of user needs and future development goals for Conexp-Clj

Recommendations for Hands-on Participation

In order to be able to perform the analysis examples shown in the workshop on their own device, we recommend that participants install the version control software git [3] and a Java runtime environment (at least Java 11) [4] on their devices before the workshop. However, the tutorial can also be visited gainfully without the self-acting analysis on one’s own device.

The conexp-clj jar files for the tutorial can be found here.


[1] https://github.com/tomhanika/conexp-clj.git

[2] Hanika, T., Hirth, J.: Conexp-Clj - A Research Tool for FCA. In: Cristea, D., Ber, F.L., Missaoui, R., Kwuida, L., and Sertkaya, B. (eds.) ICFCA (Supplements). pp. 70–75. CEUR-WS.org (2019).

[3] https://git-scm.com/

[4] https://openjdk.org/