User Tools

Site Tools


groimp-platform:xl-operators

XL-Operators are designed to simplify the usage of XL queries and rewriting rules. Moreover these operators can improve the performance of a query due to there deep integration into the model. In the following the operators a separated into Analytical and selection operators to either get a value for analysis or a node/ a collection of nodes for rewriting.

Analytical Operators

Command description example
min((*query*)[value]) returns the smallest value min((*F*)[length])
max((*query*)[value]) returns the largest value max((*F*)[length])
sum((*query*)[value]) calculate the sum of the values sum((*F*)[length])
prod((*query*)[value]) calculates the product of the values prod((*F*)[length])
count((*query*) ) returns the number of pattern matching the query count((*F*) )
empty((*query*) ) returns true if no pattern matches the query empty((*F*) )
forall((*query*)[value]condition) checks if a condition is true for the all results of the query forall((*f:F*)[length]==1)
exist((*query*)[value]condition) checks if a condition is true for at least one result of the query exist((*f:F*)[length]==1)

Selection Operators

command description example
first((*query*) ) get the first element found with the query first((*F*) )
last((*query*) ) get the last element found with the query last((*F*) )
slice((*query*),s,e) return the subset(form s to e) of the result slice((*F*),2,4), slice((*F*)[length],2,4)
selectWhere((*query*),condition) Select a node of the query that fits the condition selectWhere((*f:F*),f[length]==1)
selectWhereMin((*query*),parameter) Select a node of the query where the parameter is the smallest selectWhereMin((*f:F*),f[length])
selectWhereMax((*query*),parameter) Select a node of the query where the parameter is the largest selectWhereMax((*f:F*),f[length])
selectRandomly((*query*) ) select a Random node from the query selectRandomly((*F*) )
selectRandomly((*query*),prob) ??? ???

Other

command descriptionexample
array((*query*) ) creates an java array of the items or values array((*F*) ), array((*F*)[length])
string((*query*) ) creates an comma separated string of the items or values string((*F*) ), string((*F*)[length])

additional information can be found in the javadoc

groimp-platform/xl-operators.txt · Last modified: 2024/05/02 17:11 by TimOb