Contents Up Previous Next

GUI config file

The syntax of the GUI config file is quite simple. It is a simple text file and can be edited with any text editor.

The file contains one or more sections, each indicated by a section heading enclosed in brackets, e.g. [sec1]. Each section can contain an arbitrary number of associations. An association is a line in the form foo=bar which associates the key foo with the value bar. Please note that the backslash \ is used to escape special characters. To use a backslash, e.g. in Windows path names, you have to type a double-backslash \\.

The section headings are treated like paths. If [sec1] is a section then [sec1/subsec] specifies a subsection subsec within the section sec1.

Empty lines and lines starting with a hash # will be ignored.

Section PATHS
Section ENGINE
Section MDEVICE


Section PATHS

The section PATHS specifies the (default) paths for some types of files. This is just for convenience in order to minimize unnecessary directory browsing. The following keys are used:

session
Default path for loading and storing sessions. If empty or not present the current user's home directory is used as default path.
collection
Default path for loading base files, document lists, term lists, query files and qrels files. If empty or not present the current user's home directory is used as default path.
executable
Path which is used as current working directory when external executables (query engines and measurement devices) are invoked.

A typical section PATHS looks like:

    [PATHS]
    session=C:\\Programme\\Alwis\\sessions
    collection=C:\\Programme\\Alwis\\collections
    executable=C:\\Programme\\Alwis\\gui

Section ENGINE

The section ENGINE specifies the query engine to use and its capabilities. Only one key is used:

cmd
Command line to invoke query engine in CDL format. This command line may contain paths relative to the executable directory specified in the section PATHS. This value is mandatory.

The following CDL placeholders are defined:

${base}
Path to the base file the query engine is launched for.
${pzd}
Path to the pzd matrix file the query engine is launched for.
${pwz}
Path to the pwz matrix file the query engine is launched for.
${doclist}
Path to the used document list file. This will evaluate to the empty string if no document list is used.
${termlist}
Path to the used term list file. This will evaluate to the empty string if no term list is used.

Furthermore the section ENGINE has to contain one or more subsections specifying the query methods supported by the engine. The name of each subsection is used as name of the method. The subsection names have to be disjunct. The following keys are defined in such subsections:

desc
Optional text describing the method. Is used as tool tip in the GUI.
cache
Boolean value stating whether the method's query results are deterministic (value yes) or not (value no). For deterministic values a query result cache is used to improve performance.

There has to be at least one method. The topmost method in the config file is used as default method and is used for retrieving the concept descriptions. It it strongly recommended that this method is cacheable.

A typical section ENGINE looks like:

    [ENGINE]
    cmd=engine.exe ${base} ${pzd} ${pwz} ${?PLSI iterations:int=10}
    
    [ENGINE/cosine]
    desc=cosine similarity
    cache=yes
    
    [ENGINE/plsi]
    desc=folding in from PLSI algorithm
    cache=no

Section MDEVICE

The section MDEVICE specifies all available measurement devices. It contains no associations but an arbitrary number of subsections. The names of the subsections are used as the names for the measurement devices. These names have to be disjunct. Each subsection uses the following keys:

type
Specifies the type of the queries the measurement device evaluates. There are seven possible values for this key: The value "no-query'' will prevent Alwis from performing queries. The measurement device can only evaluate the base file and the model files. The other values' semantics should be obvious.
cmd
Command line to invoke measurement device in CDL format. This command line may contain paths relative to the executable directory specified in the section PATHS. This value is mandatory.
desc
Optional text describing the measurement device. Is used as tool tip in the GUI.
qrel
Boolean value stating whether the user should be asked for the path of a qrels file (value yes) or not (value no). Defaults to no. The value yes is not allowed for type=no-query, type=concepts-for-docs and type=concepts-for-terms.

The following CDL placeholders are defined:

${base}
Path to the base file in use.
${doclist}
Path to the document list file in use. This will evaluate to the empty string when no document list is used.
${termlist}
Path to the term list file in use. This will evaluate to the empty string when no term list is used.
${pzd}
Paths to the pzd matrix files of all considered models separated by spaces. The order of the paths equals the order of the models in the GUI.
${pwz}
Paths to the pwz matrix files of all considered models separated by spaces. The order of the paths equals the order of the models in the GUI.
${pzdpwz}
Paths to the pzd and pwz matrix files of all considered models separated by spaces. For each model two paths are inserted, first the pzd path and second the pwz path. The order of the paths equals the order of the models in the GUI.
${qresults}
Path to temporary file containing the results from the executed queries. The measurement device should delete this file upon termination. When no queries were executed (type=no-query) this value is empty. For information about the format of this file see here.

A typical section ENGINE looks like:

    [MDEVICE/precision recall]
    type=docs_for_terms
    cmd=precrecall.exe ${qresults}
    desc=generates data files for gnuplot
    qrel=yes