Quick-Deploy Formal Concept Analysis

Version

1.0

Author

David Flater <[email protected]>

Copyright

Public domain

License

Unlicense

qdfca (Quick-Deploy Formal Concept Analysis) is a command-line filter that implements Formal Concept Analysis (FCA). It is small, scriptable, and easy to install, with no external requirements other than the standard Ruby library. It is not designed to be efficient or scalable, but to ensure that simple FCA tasks can be accomplished simply.

Usage: qdfca < context.csv > lattice.dot

The input is a formal context in comma-separated values (CSV) table format. For example:

        , A1, A2
Object 1,  x,
Object 2,  x, x

Attribute names are given by the first row. Object names are given by the first column. An object is considered to have an attribute iff any non-whitespace value appears in the corresponding table cell. The assumed character encoding is UTF-8.

Most any spreadsheet application can be used to create and save a table in this format. However, any use of escape characters or quoting to attempt to allow values to contain commas is unsupported.

Output is produced in .dot file format to stdout. Graphviz and xdot.py or other applications supporting the DOT language can be used to view the output or render it into various image formats.

The lattice is produced with reduced labelling. Concept labels list attributes on the top line and objects on the bottom line if both are applicable to a given node. Object names are parenthesized to avoid ambiguity when only one line appears.

Four examples are installed along with the gem. On Linux they would show up in /usr/lib64/ruby/gems/*/gems/qdfca-1/examples or a similar location.

Legalese

Specific software products are identified in this documentation to support reproducibility of results. Such identification does not imply recommendation or endorsement by the National Institute of Standards and Technology, nor does it imply that the products identified are necessarily the best available for the purpose.

This software was developed at the National Institute of Standards and Technology by an employee of the U.S. federal government in the course of his official duties. Pursuant to Title 17 Section 105 of the United States Code, this software is not subject to copyright protection and is in the public domain.