PERFLEXO
This is an open interface to the main operators (ORD and ORU) developed under project “PERFLEXO: a PERsonalized, FLExible, and controlled Output-size framework for multi-objective preference queries in large databases”, supported by the Ministry of Education, Singapore, under its Academic Research Fund Tier 2 (Award No. MOE-T2EP20121-0002).

A comprehensive description of the operators/algorithms can be found in the following journal paper:
Kyriakos Mouratidis, Keming Li, Bo Tang: Marrying Top-k with Skyline Queries: Operators with Relaxed Preference Input and Controllable Output Size. ACM Transactions on Database Systems (TODS), 2025.

The source code is available here: ORD/ORU github

--------------------------------------------------------------------------------------

ORD/ORU application steps:
1. upload data files
2. input parameters
3. choose operator to run

--------------------------------------------------------------------------------------

Data file format:
1. for each row, columns are separated by space
2. the sum of each row of user weights should be one
3. the first column of each row from product is the item ID
4. the dimensionality of user and product should match
Please refer to samples below
user.txt
product.txt

--------------------------------------------------------------------------------------

Each uploaded file cannot be larger than 50Mb or contain more than 2,000,000 rows. These limitations are imposed by the interface and not by the algorithms themselves.

upload user file named as "user.txt"

upload product file named as "product.txt"