Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

To enable the probabilistic processing you have to include the probabilistic feature and issue the StandardProbabilistic transformation configuration (#TRANSCFG StandardProbabilisticuse the probabilistic metadata (#METADATA Probabilistic) in your Odysseus script.

...

Code Block
themeEclipse
languagePQL
titleProbabilistic discrete select
linenumberstrue
output = SELECT({predicate = RelationalPredicateProbabilisticRelationalPredicate('x > 1.0 AND x < 3.0')}, input)

...

Code Block
themeEclipse
languagepql
titleProbabilistic continuous select
linenumberstrue
output = SELECT({predicate = RelationalPredicateProbabilisticRelationalPredicate('x > 1.0 AND x < 4.0')}, input)

...

Now that you know how to filter and join probabilistic values you probably want to do something with the values like performing mathematic operations on them. To do so you can use the algebraic operator (+, *, -, /, ^) on probabilistic values in i.e. a Map operator. Attention, when using multiplication or division on continuous probabilistic values, the result is estimated by fitting Gaussian mixture models to resulting distribution.

Code Block
themeEclipse
languagepql
titleAlgebraic operator on probabilistic discrete values
linenumberstrue
output = MAP({expressions = ['x + 2.0', 'x * 2.0', 'x * toProbabilisticDouble([1.0,0.5;2,0.5])', 'x * toProbabilisticDouble([1.0,0.5])']}, input)

Mathematical Functions

SQRT(Probabilistic Value)

Computes the probabilistic square root of the given probabilistic value.

 

Mathematical Functions

Int(Distribution, Lower Limit, Upper Limit)

...

Code Block
languagecql
titleExample
SELECT distance(as3DVector(x, y, z), [1.0;2.0;3.0]) FROM stream

Datatype Functions

ToProbabilisticDouble(Matrix)

Constructs a discrete probabilistic value using the first column of the given matrix for the values and the second column of the matrix for the probabilities for each value.

DoubleToShort(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic short value

DoubleToByte(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic byte value

DoubleToInteger(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic integer value

...

Converts the given probabilistic double value to a probabilistic float value

DoubleToLong(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic long value

as2DVector(Object, Object)

...

Code Block
themeEclipse
languagepql
titleProbabilistic continuous select
linenumberstrue
output = ExistenceToPayload(SELECT({predicate = RelationalPredicateProbabilisticRelationalPredicate('x > 1.0 AND x < 4.0')}, input))

 

ProbabilisticRelationalPredicate