FLAGR can be compiled as a standard console application, or as a shared/dynamic link library in Linux, MacOS and Windows systems.
Building FLAGR in Linux/MacOS
In Linux/MacOS platforms, the user must navigate to the root directory of the package through the Terminal and execute the makefile that exists there by typing:
make
The build script compiles the source code and produces two files within the /bin/Release directory:
- the binary executable file /bin/Release/FLAGR
- the shared library for either Linux /bin/Release/flagr.so, or MacOS /bin/Release/flagr.dylib that can be linked by third-party applications to obtain access to the FLAGR algorithm implementations.
Building FLAGR in Windows
Similarly to the previous case, in Windows platforms the user must navigate to the root directory of the package through the Command Prompt and execute the batch file that exists there by typing:
makefile.bat
The build script compiles the source code and produces two files within the /bin/Release directory:
- the binary executable file /bin/Release/FLAGR.exe
- the Dynamic Link Library library /bin/Release/flagr.dll that can be linked by third-party Windows applications to obtain access to the FLAGR algorithm implementations.
Running the FLAGR executable
The FLAGR binary is executed in an identical manner, regardless of the operating system. The application accepts 4 optional arguments in the following fashion:
FLAGR [cutoff] [input_file] [output_path] [qrels_file]
The input arguments are:
cutoff: this is the evaluation cut-off point. That is, the number of items of the aggregate list that will be included in the evaluation process. If nothing is passed, then the value 10 is used.input_file: The full path to the input file that stores the input lists to be aggregated. This is where the aggregation algorithm/s read data from.output_path: This is where the program writes the generated aggregate lists and the results of the evaluation process. If nothing is passed, then the default value output is used.qrels_file: This file stores the relevance judgments of the list elements. It is used by FLAGR to evaluate the employed rank aggregation algorithm/s. If nothing is passed, then no evaluation takes place.
