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.
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")
Additional formal contexts are highly welcome if they fulfil the following criteria:
- They should be about real things and not contain invented or random data.
- They should have been used in an FCA publication (or preprint).
- 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:
- Fork this repository
and make the following changes in your fork:
- 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). - Describe your context in contexts.yaml following the example of the other contexts. Try to be concise and precise.
- 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.,
- Make a pull request to merge your changes into this repository.
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.