FCA File Formats
From fcastone
The aim of this section is to present and discuss commonly used file formats in FCA software. It may also serve as a platform to design new formats not yet implemented in any program.
Contents |
Formal (Binary) Context Formats
How to store formal contexts.
Burmeister
This file format is the file format of Burmeisters ConImp, and is supported by a number of programs. It is easily recognizable, human readable and small.
Burmeister's format is supported by ConImp, ConExp, conexp-clj.
Structure
The file format is structured as follows:
- the first line consists of a single "B"
- the second line contains the name of the context (note that some programs ignore this)
- the third and fourth line consist of the object and attribute count, respectively
- the fifth line is usually empty, separating the header from the actual content
- after that, all objects and all attributes are listed, each on a separate line
- finally, the context is given as a combination of
.
andX
, each row on a separate line.
There are no restrictions on the context.
Example
B name 2 2 a b 1 2 .X XX
corresponds to the context
| 1 2 ---+------ a | . X b | X X
Colibri
Example
a: 1 b: 1,2
ConExp
Example
<?xml version="1.0" encoding="UTF-8"?> <ConceptualSystem> <Version MajorNumber="1" MinorNumber="0"/> <Contexts> <Context Type="Binary" Identifier="0"> <Attributes> <Attribute Identifier="1"> <Name>2</Name> </Attribute> <Attribute Identifier="0"> <Name>1</Name> </Attribute> </Attributes> <Objects> <Object> <Name>a</Name> <Intent> <HasAttribute AttributeIdentifier="1"/> </Intent> </Object> <Object> <Name>b</Name> <Intent> <HasAttribute AttributeIdentifier="0"/> <HasAttribute AttributeIdentifier="1"/> </Intent> </Object> </Objects> </Context> </Contexts> </ConceptualSystem>
corresponds to the context
| 1 2 ---+----- a | . x b | x x
CSV
Example
a,2 b,1 b,2
FIMI
Galicia
Galicia2
Example
<Galicia_Document> <BinaryContext numberObj="2" numberAtt="2"> <Name>Context</Name> <Object>a</Object> <Object>b</Object> <Attribute>1</Attribute> <Attribute>2</Attribute> <BinRel idxO="0" idxA="1"></BinRel> <BinRel idxO="1" idxA="0"></BinRel> <BinRel idxO="1" idxA="1"></BinRel> </BinaryContext> </Galicia_Document>
Anonymous Formal Context Formats
There are a number of context formats which are not able to store the correct names of objects and attributes of a given context. They are normally used to do heavyweight computations, where the translation of the computed result to the actual result can be done afterwards.
Anonymous Burmeister
This file format does not really exist, it's only some idea to have an unrestricted anonymous format for formal contexts.
Example
A .X XX
FCALGS
Example
2 1 2
Many Valued Context Formats
How to store many-valued contexts. Should we also discuss SQL (relational databases) here?
CSV
Lattice Formats
How to store lattice (are there a lot of programs around which can store concepts lattices separately?)
Layout Formats
How to store images of lattices. (I don't know whether this is appropriate to separate this from the lattice formats, in particular ConExp does not do this)
Other Formats
Everything else one could store/dump in/to file(s), as maybe implications/association-rules, ...