The d-Parameter can be used in numerical base preference constructors which are sub-constructors of SCOREd. Without the d-parameter, the preference order of SCORE is constructed using a scoring function f(x). With a d-parameter specified, this scoring function is substituted by fd(x) with is defined as follows:

The d-parameter models the concepts of tolerance and vaguenessneeded in application scenarios. Thus, the d-parameter depends on semantic constraints to which an attribute is connotated. The d-parameter also influences the size of the result set from a technical point of view.

The d-parameter must have the same data type as the parameters of the preference, except for the datatypes DATE, TIME and TIMESTAMP. Among this preferences the d-parameter must be of type INTERVAL.

Example SQL Clauses

PREFERRING age SCORE 'powTwoScoreF', 1 AS p1 

More or less 2 kilometers do not matter:


A deviation of 1.000 € is irrelevant:

PREFERRING earnings MORE THAN 100000, 1000 

A deviation of 10 percent is irrelevant!

PREFERRING tax_rate LESS THAN 20, 2 

More or less 10 horse powers do not matter. Users have to specify a supremum >= max(horse_power). Here, the supremum is 100000:

PREFERRING horse_power HIGHEST 100000, 10 

More or less 0.5 liter per 100 km does not matter. Users have to specify an infimum <= min(horse_power). Here, the infimum is 0.0:

PREFERRING consumption LOWEST 0.0, 0.5 

Around February, third, 2012 with a deviation of one month:

PREFERRING current_date AROUND DATE '2012-2-3', INTERVAL '0-1';