Asym Rank by Dbl

Description

Rank objects by the distance of a double property to a given value (or pair of values). The assigned rank varies according to a bell-shaped curve centered at the given value. Moreover, the ranking can be asymmetric, meaning that one bell curve is used to the left of one value and another bell curve to the right of the other value (the interval in between is ranked constantly 1).

Input

  • SOURCE [OBJ]: the list of objects to rank

Output

  • CLOSE [OBJ]: ranked objects, objects closed are ranked more highly
  • FAR [OBJ]: ranked objects, objects further away are ranked more highly

Parameters

  • Property: the double property to check
  • Use sub-properties: when set to true, the values of all sub properties are also included. Sub-properties can be defined in the data with the rdfs:subPropertyOf relation.
  • Ranking curve symmetry: When Symmetric, a single ranking curve centered around Value is used. When Asymmetric, two ranking curves and values can be specified (see below).
  • Value: the value against which the Property of each object is compared
  • Threshold type: When set to Absolute the Threshold distance is understood as an absolute distance from the specified Value. When set to Relative, the Threshold distance is understood as a fraction of Value (e.g., having a relative threshold distance of 0.5 for a value of 10 is the same as having an absolute threshold distance of 5).
  • Threshold distance: The distance at which the specified Rank at threshold distance is attained. Can either be absolute or relative, as determined by Threshold type. If set to 0, an indicator function is used as our ranking curve (i.e., all values not equal to Value are filtered out). If set to 1, a constant ranking curve with value 1 is used (i.e., ranks remain unchanged). These two options are really only useful in the asymmetric case.
  • Rank at threshold distance: The rank to be attained at the specified Threshold distance. If set to 0, a bump function in the shape of the 5th order smoothstep function on both sides of Value is used as our ranking curve (see https://en.wikipedia.org/wiki/Smoothstep). If set to 1, a constant ranking curve with value 1 is used (i.e., ranks remain unchanged). For all values in between, the ranking curve has the shape of a Gaussian centered at Value and with peak value 1.

If the Ranking curve symmetry is Asymmetric then each of the curve parameters above can be specified individually for the left and right side, respectively. The behavior of each of these is the same as for the symmetric case. The left-side ranking curve is applied to all objects where the selected Property lies to the left of the specified Left value, while the right-side ranking curve is applied to all objects where the selected Property lies to the right of the specified Right value. Between these two values, a constant ranking curve of value 1 is applied and so the rank is left unchanged.