FINALLY helps researchers select purposeful and diverse dataset collections for recommender-system experiments. It combines dataset metadata with Algorithm Performance Space (APS) representations to recommend datasets that match configurable constraints while covering different performance characteristics.
The public application is available at finally.recommender-systems.com.
FINALLY originated from the ISG Siegen APS Explorer Website. It was developed from that codebase into a focused application for purposeful and diverse dataset selection.
- Filter candidate datasets by feedback type, size, density, and interaction statistics
- Keep selected seed datasets in every recommendation
- Choose the desired number of datasets
- Optimize selections using Convex Hull or Effective Coverage (EffCov)
- Generate diverse or non-diverse dataset collections
- Inspect the result in an embedded two-dimensional APS visualization
- Share recommendation settings through a URL
- Export results as Latex, Bibtex, Markdown, HTML, or an image
- Record anonymous usage events for the protected administration dashboard
The default strategy is Diverse (Convex Hull).
FINALLY first applies the selected metadata constraints to determine the candidate datasets. It then represents their recommender-system results in an Algorithm Performance Space and selects a collection according to the chosen diversity method. Required seed datasets remain fixed throughout the selection process.
The APS preview uses stored PCA coordinates for HR, nDCG, and Recall at the supported cutoffs. Performance values and PCA coordinates must therefore be updated whenever new experimental results are imported.
FINALLY/
|-- configs/ Database and admin-secret configuration
|-- datasets.recommender-systems.com/ Deployable FINALLY web application
| |-- admin/ Protected usage dashboard
| |-- apis/ Public and administrative PHP endpoints
| `-- tabs/recommendDatasets/ Recommendation UI and selection logic
|-- tests/ Selection and export regression tests
|-- _apidoc/ API documentation
`-- _scripts/ Data migration and import utilities
The directory name datasets.recommender-systems.com is retained as an internal deployment path. The public project and production domain are FINALLY.
- Apache or another web server capable of serving PHP
- PHP with PDO MySQL support
- MySQL or MariaDB
- Node.js for the JavaScript tests and syntax checks
- A modern web browser
The database must provide the Algorithms, Datasets, PerformanceResults, PcaResults, and UsageLogs tables expected by the PHP API.
- Clone the repository.
- Configure the database connection in
configs/db_config.php. - Configure the administrative API header and secret in
configs/secrets.php. - Set the web server's document root to
datasets.recommender-systems.com/, or deploy that directory's contents to the target document root. - Protect
/admin/with Basic Authentication. Seedatasets.recommender-systems.com/admin/README.mdfor the required Apache configuration. - Ensure PHP can read the configuration files and connect to the database.
- Open the application through the configured web server.
Do not commit production database credentials, API secrets, or password files. Use HTTPS in production, especially for administrative requests.
Administrative import tooling is located in _scripts/datasets-rec-sys-auto-add/. It imports performance results and triggers recalculation of the PCA coordinates used by the APS preview.
Configure its administrative header and secret to match configs/secrets.php. Further instructions are available in _scripts/datasets-rec-sys-auto-add/README.md.
The FINALLY frontend uses the following public endpoints:
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/index.php?action=algorithm |
List algorithms used for APS vectors |
GET |
/index.php?action=dataset |
List datasets and filter metadata |
GET |
/index.php?action=result&ids[]=... |
Load performance results for selected datasets |
GET |
/index.php?action=result&task=pcaResults |
Load coordinates for the APS preview |
POST |
/index.php?action=log&task=saveUsage |
Store an anonymous usage event |
GET |
/health.php |
Check application and database availability |
Administrative data ingestion is available through action=admin. Usage statistics and log deletion are exposed through the protected /admin/api.php endpoint.
Detailed endpoint documentation is available in _apidoc/.
Run the regression tests from the repository root:
node tests/datasetSelection.test.mjs
node tests/recommendationExport.test.mjsFINALLY is licensed under the Apache License 2.0.