| Top |
| typedef | rasqal_expression |
| enum | rasqal_expression_flags |
| rasqal_evaluation_context | |
| enum | rasqal_op |
| enum | rasqal_compare_flags |
| enum | rasqal_pattern_flags |
Expressions form an expression tree that can be evaluated using
rasqal_expression_evaluate() over rasqal_op operators, rasqal_literal
constants and rasqal_variable values bound in some
rasqal_query_result. The result is a rasqal_literal value.
rasqal_expression * rasqal_new_0op_expression (rasqal_world *world,rasqal_op op);
rasqal_expression * rasqal_new_1op_expression (rasqal_world *world,rasqal_op op,rasqal_expression *arg);
rasqal_expression * rasqal_new_2op_expression (rasqal_world *world,rasqal_op op,rasqal_expression *arg1,rasqal_expression *arg2);
rasqal_expression * rasqal_new_3op_expression (rasqal_world *world,rasqal_op op,rasqal_expression *arg1,rasqal_expression *arg2,rasqal_expression *arg3);
rasqal_expression * rasqal_new_4op_expression (rasqal_world *world,rasqal_op op,rasqal_expression *arg1,rasqal_expression *arg2,rasqal_expression *arg3,rasqal_expression *arg4);
rasqal_expression * rasqal_new_aggregate_function_expression (rasqal_world *world,rasqal_op op,rasqal_expression *arg1,raptor_sequence *params,unsigned int flags);
rasqal_expression * rasqal_new_cast_expression (rasqal_world *world,raptor_uri *name,rasqal_expression *value);
rasqal_expression * rasqal_new_function_expression (rasqal_world *world,raptor_uri *name,raptor_sequence *args,raptor_sequence *params,unsigned int flags);
rasqal_expression * rasqal_new_group_concat_expression (rasqal_world *world,unsigned int flags,raptor_sequence *args,rasqal_literal *separator);
rasqal_expression * rasqal_new_literal_expression (rasqal_world *world,rasqal_literal *literal);
rasqal_expression * rasqal_new_set_expression (rasqal_world *world,rasqal_op op,rasqal_expression *arg1,raptor_sequence *args);
rasqal_expression * rasqal_new_string_op_expression (rasqal_world *world,rasqal_op op,rasqal_expression *arg1,rasqal_literal *literal);
rasqal_expression *
rasqal_new_expression_from_expression (rasqal_expression *e);
rasqal_expression * rasqal_new_expr_seq_expression (rasqal_world *world,rasqal_op op,raptor_sequence *args);
int rasqal_expression_compare (rasqal_expression *e1,rasqal_expression *e2,int flags,int *error_p);
rasqal_literal * rasqal_expression_evaluate (rasqal_world *world,raptor_locator *locator,rasqal_expression *e,int flags);
rasqal_expression_evaluate is deprecated and should not be used in newly-written code.
rasqal_literal * rasqal_expression_evaluate2 (rasqal_expression *e,rasqal_evaluation_context *eval_context,int *error_p);
int (*rasqal_expression_visit_fn) (void *user_data,rasqal_expression *e);
User function to visit an expression and operate on it with
rasqal_expression_visit()
int rasqal_expression_visit (rasqal_expression *e,rasqal_expression_visit_fn fn,void *user_data);
rasqal_evaluation_context * rasqal_new_evaluation_context (rasqal_world *world,raptor_locator *locator,int flags);
void
rasqal_free_evaluation_context (rasqal_evaluation_context *eval_context);
int rasqal_evaluation_context_set_base_uri (rasqal_evaluation_context *eval_context,raptor_uri *base_uri);
int rasqal_evaluation_context_set_rand_seed (rasqal_evaluation_context *eval_context,unsigned int seed);
typedef struct {
rasqal_world *world;
raptor_uri* base_uri;
raptor_locator *locator;
int flags;
unsigned int seed;
rasqal_random* random;
} rasqal_evaluation_context;
A context for evaluating an expression such as with
rasqal_expression_evaluate2()
rasqal_world * |
rasqal world |
|
raptor_uri * |
base URI of expression context (or NULL) |
|
raptor_locator * |
locator or NULL |
|
expression comparison flags |
||
random seeed |
||
random number generator object |
Rasqal expression operators. A mixture of unary, binary and tertiary operators (string matches). Also includes casting and two ordering operators from ORDER BY in SPARQL.
|
Internal |
||
|
Expression for AND(A, B) |
||
|
Expression for OR(A, B) |
||
|
Expression for A equals B |
||
|
Expression for A not equals B. |
||
|
Expression for A less than B. |
||
|
Expression for A greather than B. |
||
|
Expression for A less than or equal to B. |
||
|
Expression for A greater than or equal to B. |
||
|
Expression for -A. |
||
|
Expression for +A. |
||
|
Expression for A-B. |
||
|
Expression for A*B. |
||
|
Expression for A/B. |
||
|
Expression for A/B remainder. |
||
|
Expression for A string equals B. |
||
|
Expression for A string not-equals B. |
||
|
Expression for string A matches literal regex B with flags. |
||
|
Expression for string A not-matches literal regex B with flags. |
||
|
Expression for binary not A. |
||
|
Expression for logical not A. |
||
|
Expression for a rasqal_literal. |
||
|
Expression for a function A with arguments (B...). |
||
|
Expression for SPARQL ISBOUND(A). |
||
|
Expression for SPARQL STR(A). |
||
|
Expression for SPARQL LANG(A). |
||
|
Expression for SPARQL DATATYPE(A). |
||
|
Expression for SPARQL ISURI(A). |
||
|
Expression for SPARQL ISBLANK(A). |
||
|
Expression for SPARQL ISLITERAL(A). |
||
|
Expression for cast literal A to type B. |
||
|
Expression for SPARQL order condition ascending. |
||
|
Expression for SPARQL order condition descending. |
||
|
Expression for SPARQL LANGMATCHES(A, B). |
||
|
Expression for string A matches expression regex B with flags. |
||
|
Obsolete - not used |
||
|
Obsolete - not used |
||
|
Expression for LAQRS select |
||
|
Expression for LAQRS select Variable * |
||
|
Expression for SPARQL sameTerm |
||
|
Expression for LAQRS select |
||
|
Expression for LAQRS select |
||
|
Expression for LAQRS select |
||
|
Expression for LAQRS select |
||
|
Expression for LAQRS COALESCE(Expr+) |
||
|
Expression for LAQRS IF(expr, expr, expr) |
||
|
Expression for LAQRS URI(expr) |
||
|
Expression for LAQRS IRI(expr) |
||
|
Expression for LAQRS STRLANG(expr, expr) |
||
|
Expression for LAQRS STRDT(expr, expr) |
||
|
Expression for LAQRS |
||
|
Expression for LAQRS GROUP_CONCAT(arglist) aggregate function |
||
|
Expression for LAQRS SAMPLE(expr) aggregate function |
||
|
Expression for LAQRS expr IN ( list of expr ) |
||
|
Expression for LAQRS expr NOT IN ( list of expr ) |
||
|
Expression for SPARQL 1.1 isNUMERIC(expr) |
||
|
Expression for SPARQL 1.1 YEAR(datetime) |
||
|
Expression for SPARQL 1.1 MONTH(datetime) |
||
|
Expression for SPARQL 1.1 DAY(datetime) |
||
|
Expression for SPARQL 1.1 HOURS(datetime) |
||
|
Expression for SPARQL 1.1 MINUTES(datetime) |
||
|
Expression for SPARQL 1.1 SECONDS(datetime) |
||
|
Expression for SPARQL 1.1 TIMEZONE(datetime) |
||
|
Expression for LAQRS CURRENT_DATETIME( void ) |
||
|
Expression for LAQRS NOW( void ) |
||
|
Expression for LAQRS FROM_UNIXTIME(int) |
||
|
Expression for LAQRS TO_UNIXTIME(datetime) |
||
|
Expression for SPARQL 1.1 CONCAT(strings) |
||
|
Expression for SPARQL 1.1 STRLEN(str) |
||
|
Expression for SPARQL 1.1 SUBSTR(str, start[,offset]) |
||
|
Expression for SPARQL 1.1 UCASE(str) |
||
|
Expression for SPARQL 1.1 LCASE(str) |
||
|
Expression for SPARQL 1.1 STRSTARTS(str, str) |
||
|
Expression for SPARQL 1.1 STRENDS(str, str) |
||
|
Expression for SPARQL 1.1 CONTAINS(str, str) |
||
|
Expression for SPARQL 1.1 ENCODE_FOR_URI(str) |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Expression for SPARQL 1.1 |
||
|
Internal |
Flags for rasqal_expression_evaluate(), rasqal_literal_compare() or
rasqal_literal_as_string_flags()