About this page
This page offers a collection of additional material for my PhD thesis "Relational and Algebraic Calculi for Database Preferences", which was done at the department of computer science at the University of Augsburg under supervision of Prof. Dr. Bernhard Möller.
Related resources:
- My PhD thesis
- The rPref package which is the framework for most of the following scripts
- List of my publications
R scripts for preference decomposition
The following scripts require the rPref package and the Shiny package. Both have to installed once by:
install.packages("shiny")
The file pref_decomp.zip contains all relevant R source files for the (power set) preference decomposition. This zip archive contains the following files:
- decomposition_framework.r: All preference decomposition algorithms and some helper functions.
- decomposition_examples.r: A comprehensive collection of examples, covering the most figures, remarks and examples from Chapter 5 of my PhD thesis. This script is subdivided in:
- the standard decomposition (Section 5.1-5.2 of my thesis),
- the optimized (power set) decomposition (Section 5.3-5.4), and
- the decomposition of the triangle preference (Section 5.5).
- ui.r and server.r: A Shiny application offering an interactive (power set) preference decomposition.

The file decomposition_examples.r contains revised versions of the decomposition algorithms which have been originally encoded in the following scripts:
- pref-decomp-mpc.r published together with: Preference Decomposition and the Expressiveness of Preference Query Languages
- powerset-prefs-ramics.r published together with: Decomposition of Database Preferences on the Power Set of the Domain
Prover inputs for proving the distributive law
The first version of this automated proof (pdf document) has been published together with the publication An Algebraic Calculus of Database Preferences.
The revised version of this automated proof from the PhD thesis is available in the zip archive prover_input.zip.
Contact
If you have remarks or want to report bugs, feel free to write a mail to me.