contexts

DOI

Formal Contexts

This repository contains a collection of formal contexts to pursue Formal Concept Analysis.

The metadata for the contexts is contained in this YAML file.

More contexts can be found in the repository for ConExp-CLJ, the repository for the concepts Python module, and on Uta Priss’ page.

How to use the contexts

You can either manually download contexts or you can access them directly in your program code with a URL generated as follows: append the file name of the context (e.g., livingbeings_en.cxt) to the prefix https://github.com/fcatools/contexts/raw/main/contexts/. For example, in Python 3 you could do:

import urllib.request

url = "https://github.com/fcatools/contexts/raw/main/contexts/livingbeings_en.cxt"
context = urllib.request.urlopen(url).read().decode("utf-8")

How to contribute contexts

Additional formal contexts are highly welcome if they fulfil the following criteria:

  1. They should be about real things and not contain invented or random data.
  2. They should have been used in an FCA publication (or preprint).
  3. They should preferrably be small, that is, have not too many attributes and objects (each less than 100).

If you think your context is suitable, then proceed as follows:

  1. Fork this repository and make the following changes in your fork:
    1. Add your ASCII-encoded CXT file to the contexts directory, using a meaningful name (English, all lowercase, with two letters indicating the ISO 639 language code at the end, e.g., bodiesofwater_de.cxt for the German bodies of water context).
    2. Describe your context in contexts.yaml following the example of the other contexts. Try to be concise and precise.
  2. Make a pull request to merge your changes into this repository.

If you want to reference the repository as primary location for a context that is part of a paper you want to submit to a conference or journal, the suggested process is as follows:

  1. Provide the context for the peer review process as supplementary material or using an approach like https://anonymous.4open.science/ (especially for double-blind reviewing).
  2. When your paper gets accepted, submit your context as described above. Please provide the link to the list of accepted papers of the conference or some other evidence in your pull request.
  3. After merging of the pull request you have a stable link to your context that you can include in the camera-ready version of your paper.

Working group

The repository is managed by a working group that communicates using a mailing list.

If you would like to reference a single dataset from this repository, we suggest that you cite the source given in the metadata. This is typically the scholarly work where the dataset was first used as a formal context or another publication where it was found.

In addition, you can reference a specific version of a dataset using its versioned URL.

If you would like to reference several datasets from this repository or the repository itself, we suggest to (additionally) cite the article where the idea for the repository has first been described:

Hanika, T., Jäschke, R.: A Repository for Formal Contexts. In: Cabrera, I.P., Ferré, S., and Obiedkov, S. (eds.) Conceptual Knowledge Structures. pp. 182–197. Springer Nature Switzerland, Cham 2024. doi:10.1007/978-3-031-67868-4_13

You can also reference a specific release of the repository on Zenodo.

Further machine-readable citation information can be found in the file CITATION.cff.