Versions Compared

Key

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

Available Functions

Odysseus provides a wide range of functions to be used in a Map, Select, or Join operator.

Mathematical Functions

Cos(X)

Returns the trigonometric cosine of an angle

ACos(X)

Returns the arc cosine of a value

Cosh(X)

Returns the hyperbolic cosine of a double value

Sin(X)

Returns the trigonometric sine of an angle

ASin(X)

Returns the arc sine of a value

Sinh(X)

Returns the hyperbolic sine of a double value

Tan(X)

Returns the trigonometric tangent of an angle

ATan(X)

Returns the arc tangent of a value

ATan2(Y,X)

Returns the angle theta from the conversion of rectangular coordinates (x, y) to polar coordinates (r, theta)

Tanh(X)

Returns the hyperbolic tangent of a double value

Abs(X)

Returns the absolute value of a value

Sign(X)

Returns the signum function of the argument

Sqrt(X)

Returns the square root of a value

Ceil(X)

Returns the smallest value that is greater than or equal to the argument and is equal to a mathematical integer.

Floor(X)

Returns the largest value that is less than or equal to the argument and is equal to a mathematical integer.

Round(X)

Returns the closest number to the argument, with ties rounding up

Log(X)

Returns the natural logarithm (base e) of a double value

Exp(X)

Returns Euler's number e raised to the power of a double value

PI()

Returns the double value that is closer than any other to pi.

E()

Returns the double value that is closer than any other to e

ToRadians(X)

Converts an angle measured in degrees to an equivalent angle measured in radians.

ToDegrees(X)

Converts an angle measured in radians to an equivalent angle measured in degrees.

Miscellaneous Functions

UUID()

Returns a Universal Unique Identifier (UUID).

Eval(String)

Evaluates arbitrary expressions.

Code Block
languagesql
titleEval Example
SELECT eval("2+3") FROM stream
=> 5

Sleep(Integer)

Causes the currently executing operator to sleep for the specified number of milliseconds.

Optional Functions

The following MEP functions are not part of the Odysseus Core and may be restricted.

Matrix Functions (Matrix Feature)

The matrix feature provides arbitrary functions to work with matrices in a data stream. Further this feature provides algebraic operator (+, *, -, ^) to perform matrix addition, subtraction, multiplication, and exponentiation.

Code Block
languagesql
titleMatrix Example
SELECT [1.0,2.0,3.0;4.0,5.0,6.0]+[1.0,2.0,3.0;4.0,5.0,6.0] FROM stream
SELECT [1.0,2.0,3.0;4.0,5.0,6.0]-[1.0,2.0,3.0;4.0,5.0,6.0] FROM stream
SELECT [1.0,2.0,3.0;4.0,5.0,6.0]*[1.0,2.0,3.0;4.0,5.0,6.0] FROM stream
SELECT [1.0,2.0,3.0;4.0,5.0,6.0]^3 FROM stream

Tr(Matrix)

Computes the trace of the matrix

Det(Matrix)

Computes the determinant of the given matrix

Inv(Matrix)

Computes the inverse of the given matrix

Trans(Matrix)

Computes the transpose of the given matrix

Identity(dimension)

Creates a dimension x dimension identity matrix

sMin(Matrix|Vector)

Return the minimum element in the given matrix.

sMax(Matrix|Vector)

Returns the maximum element in the given matrix.

sCount(Matrix|Vector)

Counts all elements in the given matrix.

sSum(Matrix|Vector)

Computes the sum of all elements of the given matrix.

sAVG(Matrix|Vector)

Compute the average of all elements of the given matrix.

Interval Functions (Interval Feature)

The interval feature provides arbitrary functions to work with intervals in a data stream. Further this feature provides algebraic operator (+, *, -, /, ^) to perform interval addition, subtraction, multiplication, division, and exponentiation.

Union(Interval, Interval)

Computes the union of the two intervals

Difference(Interval, Interval)

Computes the difference of the two intervals

Intersection(Interval, Interval)

Computes the intersection of the two intervals

Text Functions (Text Feature)

Soundex(String)

Computes the Soundex value of the string.

ColognePhonetic(String)

Computes the Cologne Phonetic value of the string.

Metaphone(String)

Computes the Metaphone value of the string.

Levenstein(String, String)

 

 Computes the Levenstein Distance of two strings.

Probabilistic Functions (Probabilistic Feature)

The probabilistic feature provides arbitrary functions to work with discrete and continuous probabilistic values in a data stream. Further this feature provides algebraic operator (+, *, -, /) to perform probabilistic addition, subtraction, multiplication, division, and exponentiation.

Code Block
languagesql
titleExample
SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) + ToProbabilisticDouble([4.0,0.25;5.0,0.75]) FROM Stream
=> (6.0:0.0625;7.0:0.375;8.0:0.5625)
SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) - ToProbabilisticDouble([4.0,0.25;5.0,0.75]) FROM Stream
=> (-3.0:0.1875;-2.0:0.625;-1.0:0.1875)
SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) * ToProbabilisticDouble([4.0,0.25;5.0,0.75]) FROM Stream
=> (15.0:0.5625;12.0:0.1875;10.0:0.1875;8.0:0.0625)
SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) / ToProbabilisticDouble([4.0,0.25;5.0,0.75]) FROM Stream
=> (0.75:0.1875;0.6:0.5625;0.5:0.0625;0.4:0.1875)
SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75])^2 FROM Stream
=> (4.0:0.25;9.0:0.75)
SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) + 2 FROM Stream
=> (4.0:0.25;5.0:0.75)
SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) - 2 FROM Stream
=> (0.0:0.25;1.0:0.75)
SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) * 2 FROM Stream
=> (6.0:0.75;4.0:0.25)
SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) / 2 FROM Stream
=> (1.5:0.75;1.0:0.25)

SQRT(Probabilistic Value)

Computes the probabilistic square root of the given probabilistic value.

sMIn(Probabilistic Value, Probabilistic Value)

Computes the minimum of two probabilistic values.

sMax(Probabilistic Value, Probabilistic Value)

Computes the maximum of two probabilistic values.

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.

Code Block
languagesql
titleToProbabilisticDouble Example
SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) FROM Stream
=> (3.0:0.75;2.0:0.25)

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

DoubleToFloat(Probabilistic 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

Int(Distribution, Lower Limit, Upper Limit)

Estimates the multivariate normal distribution probability with lower and upper integration limit.

as2DVector(Object, Object)

Converts the two object into a 2D vector.

as3DVector(Object, Object, Object)

Similar to the as2DVector function, this function creates a 3D vector with the given objects.

Similarity(Distribution, Distribution)

Calculates the Bhattacharyya distance between two distributions.

Code Block
languagejavascript
titleExample
SELECT similarity(as2DVector(x1,y1), as2DVector(x2,y2)) FROM stream

Distance(Distribution, Value)

Calculates the Mahalanobis distance between the distribution and the value. The value can be a scalar value or a vector.

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

Spatial Functions (Spatial Feature)

The spatial functions are based upon the JTS Topology Suite (http://www.vividsolutions.com/jts/JTSHome.htm).

Notice, that JTS only considers x and y coordinate and ignores the z coordinate (although z can be definied)!

AsCartesianCoordinates(SpatialPolarCoordinate[])

Transform the list of spatial polar coordinates into a list of Cartesian coordinates

AsGeometry(Geometry)

AsGeometryCollection(Geometry)

AsLineString(Geometry)

AsMultiLineString(Geometry)

AsMultiPoint(Geometry)

AsMultiPolygon(Geometry)

AsPoint(Geometry)

AsPolarCoordinates()

FromWKT()

GetCentroid(Geometry)

Returns the centroid of the given geometry

SpatialBuffer(Geometry, Double)

Creates a buffer of the given size around the given geometry

SpatialContains(Geometry, Geometry)

Checks whether the first geometry contains the second geometry.

SpatialConvexHull(Geometry)

Computes the smallest convex spatial polygon that contains all the points in the geometry

SpatialCoveredBy(Geometry, Geometry)

SpatialCovers(Geometry, Geometry)

SpatialCrosses(Geometry, Geometry)

SpatialDisjoint(Geometry, Geometry)

SpatialEquals(Geometry, Geometry)

SpatialIntersection(Geometry, Geometry)

SpatialIsLine(Geometry)

SpatialIsPolygon(Geometry)

SpatialIsWithinDistance(Geometry, Double)

SpatialTouches(Geometry, Geometry)

SpatialUnion(Geometry, Geometry)

SpatialUnionBuffer(Geometry, Geometry, Geometry)

SpatialWithin(Geometry, Geometry)

ST_SetSRID(Geometry, Integer)

ST_Transform(Geometry, Integer)

ToCartesianCoordinate(SpatialPolarCoordinate)

Transforms the given spatial polar coordinate into a spatial Cartesian coordinate.

ToPolarCoordinate(SpatialCoordinate)

Transforms the given spatial Cartesian coordinate into a polar coordinate

Most function descriptions on this page are copied from the openjdk documentation.

Table of Contents