Constructors Methodsarithmetic arithmetic ( op , addInvalidHandling ? ) : Builder Parameters op : ( ( expressionEvaluator : IInternalEvaluator ) => ( ( left : number , right : number ) => number ) ) ( expressionEvaluator ) : ( ( left : number , right : number ) => number ) Returns ( ( left : number , right : number ) => number ) ( left , right ) : number Parameters left : number right : number Returns number addInvalidHandling : boolean = true boolean Test boolean Test ( test , addInvalidHandling ? ) : Builder Parameters test : ( ( expressionEvaluator : IInternalEvaluator ) => ( ( left : boolean , right : boolean ) => boolean ) ) ( expressionEvaluator ) : ( ( left : boolean , right : boolean ) => boolean ) Returns ( ( left : boolean , right : boolean ) => boolean ) ( left , right ) : boolean Parameters left : boolean right : boolean Returns boolean addInvalidHandling : boolean = true copy copy ( __namedParameters ) : Builder Parameters __namedParameters : { from : ArgumentType [] ; to : ArgumentType [] ; } from : ArgumentType [] to : ArgumentType [] date Time Test date Time Test ( test , addInvalidHandling ? ) : Builder number Test number Test ( test ) : Builder Parameters test : ( ( expressionEvaluator : IInternalEvaluator ) => ( ( left : number , right : number ) => boolean ) ) ( expressionEvaluator ) : ( ( left : number , right : number ) => boolean ) Returns ( ( left : number , right : number ) => boolean ) ( left , right ) : boolean Parameters left : number right : number Returns boolean numeric Converter numeric Converter ( op , addInvalidHandling ? ) : Builder Parameters op : ( ( expressionEvaluator : IInternalEvaluator ) => ( ( val : number ) => number ) ) ( expressionEvaluator ) : ( ( val : number ) => number ) Returns ( ( val : number ) => number ) ( val ) : number Returns number addInvalidHandling : boolean = true on Binary on Binary < L , R > ( types , op , addInvalidHandling ? ) : Builder on Binary Typed on Binary Typed < L , R > ( types , op , addInvalidHandling ? ) : Builder Type Parameters L extends ISerializable R extends ISerializable on Boolean1 on Boolean1 ( op , addInvalidHandling ? ) : Builder on Boolean1 Typed on Boolean1 Typed ( op , addInvalidHandling ? ) : Builder on Date Time1 on Date Time1 ( op , addInvalidHandling ? ) : Builder on Lang String1 on Lang String1 ( op , addInvalidHandling ? ) : Builder on Literal1 on Literal1 < T > ( op , addInvalidHandling ? ) : Builder on Numeric1 on Numeric1 ( op , addInvalidHandling ? ) : Builder on Quaternary Typed on Quaternary Typed < A1 , A2 , A3 , A4 > ( types , op , addInvalidHandling ? ) : Builder Type Parameters A1 extends ISerializable A2 extends ISerializable A3 extends ISerializable A4 extends ISerializable Parameters types : [ ArgumentType , ArgumentType , ArgumentType , ArgumentType ] op : ( ( expressionEvaluator : IInternalEvaluator ) => ( ( a1 : A1 , a2 : A2 , a3 : A3 , a4 : A4 ) => TermExpression ) ) addInvalidHandling : boolean = true on String1 on String1 ( op , addInvalidHandling ? ) : Builder on String1 Typed on String1 Typed ( op , addInvalidHandling ? ) : Builder on Stringly1 on Stringly1 ( op , addInvalidHandling ? ) : Builder on Stringly1 Typed on Stringly1 Typed ( op , addInvalidHandling ? ) : Builder on Term1 on Term1 < T > ( op , addInvalidHandling ? ) : Builder on Ternary Typed on Ternary Typed < A1 , A2 , A3 > ( types , op , addInvalidHandling ? ) : Builder Type Parameters A1 extends ISerializable A2 extends ISerializable A3 extends ISerializable on Unary on Unary < T > ( type , op , addInvalidHandling ? ) : Builder on Unary Typed on Unary Typed < T > ( type , op , addInvalidHandling ? ) : Builder set set ( argTypes , func , addInvalidHandling ? ) : Builder set < T1 > ( argTypes , func , addInvalidHandling ? ) : Builder set < T1 , T2 > ( argTypes , func , addInvalidHandling ? ) : Builder set < T1 , T2 , T3 > ( argTypes , func , addInvalidHandling ? ) : Builder set < T1 , T2 , T3 , T4 > ( argTypes , func , addInvalidHandling ? ) : Builder set ( argTypes , func , addInvalidHandling ? ) : Builder string Test string Test ( test , addInvalidHandling ? ) : Builder Parameters test : ( ( expressionEvaluator : IInternalEvaluator ) => ( ( left : string , right : string ) => boolean ) ) ( expressionEvaluator ) : ( ( left : string , right : string ) => boolean ) Returns ( ( left : string , right : string ) => boolean ) ( left , right ) : boolean Parameters left : string right : string Returns boolean addInvalidHandling : boolean = true
!!! Be aware when using this function, it will create different overloads with different return types !!! Arithmetic operators take 2 numeric arguments, and return a single numerical value. The type of the return value is heavily dependent on the types of the input arguments. In JS everything is a double, but in SPARQL it is not.
The different arguments are handled by type promotion and subtype substitution. The way numeric function arguments work is described here: https://www.w3.org/TR/xpath20/#mapping Above url is referenced in the sparql spec: https://www.w3.org/TR/sparql11-query/#OperatorMapping