RiVal is a toolkit for data splitting and evaluation of recommender systems. This page contains information on how to work with the RiVal code and how to compile RiVal. For more information about RiVal and the documentation, visit the RiVal website or wiki. If you have not used RiVal before, do check out the Getting Started guide.
RiVal is made available under Apache License, Version 2.0.
RiVal is built and deployed via Maven. In order to install it, check out
this repository and run
mvn install. This will make it available for other Maven projects as a dependency.
RiVal is comprised of one top-level module and four sub-modules. The top-level
module is a container module used to build the submodules and provide all needed settings
and dependencies. The five sub-modules are as follows:
rival-core-- the common data structures and similar object used throughout RiVal.
rival-evaluate-- the evaluation module, contains metrics and strategies used for evaluation.
rival-examples-- a module containing examples on how to use RiVal programmatically.
rival-recommend-- the recommendation modeule, contains hooks to Apache Mahout and LensKit.
rival-split-- the data splitting module, contains different data splitting strategies.
rival-package-- a configuration module for bulding rival distributions.
We're very happy if you want to contribute to RiVal. If you are not sure on what to work on, have a look a the current issues.
If you want to contribute, do it in the form of GitHub pull requests. To do this:
- Find the issue you want to fix, or create a new one describing what your contribution fixes.
- Fork RiVal rival on GitHub
- Push your changes to your fork
- Submit a pull request via the GitHub Web interface
Note that all your contributions will be licensed under RiVal's copyright licences (Apache). If you are committing a new class, make sure to include the copyright statement at the top.
To subscribe to the rival mailing list, visit and join the rival-users Google group.