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:
- no-query
- docs-for-terms
- docs-for-concepts
- terms-for-docs
- terms-for-concepts
- concepts-for-docs
- concepts-for-terms
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