<!-- ##### SECTION Title ##### -->
Expressions

<!-- ##### SECTION Short_Description ##### -->
Query language expressions.

<!-- ##### SECTION Long_Description ##### -->
<para>
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.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### TYPEDEF rasqal_expression ##### -->
<para>

</para>


<!-- ##### ENUM rasqal_op ##### -->
<para>

</para>

@RASQAL_EXPR_UNKNOWN: 
@RASQAL_EXPR_AND: 
@RASQAL_EXPR_OR: 
@RASQAL_EXPR_EQ: 
@RASQAL_EXPR_NEQ: 
@RASQAL_EXPR_LT: 
@RASQAL_EXPR_GT: 
@RASQAL_EXPR_LE: 
@RASQAL_EXPR_GE: 
@RASQAL_EXPR_UMINUS: 
@RASQAL_EXPR_PLUS: 
@RASQAL_EXPR_MINUS: 
@RASQAL_EXPR_STAR: 
@RASQAL_EXPR_SLASH: 
@RASQAL_EXPR_REM: 
@RASQAL_EXPR_STR_EQ: 
@RASQAL_EXPR_STR_NEQ: 
@RASQAL_EXPR_STR_MATCH: 
@RASQAL_EXPR_STR_NMATCH: 
@RASQAL_EXPR_TILDE: 
@RASQAL_EXPR_BANG: 
@RASQAL_EXPR_LITERAL: 
@RASQAL_EXPR_FUNCTION: 
@RASQAL_EXPR_BOUND: 
@RASQAL_EXPR_STR: 
@RASQAL_EXPR_LANG: 
@RASQAL_EXPR_DATATYPE: 
@RASQAL_EXPR_ISURI: 
@RASQAL_EXPR_ISBLANK: 
@RASQAL_EXPR_ISLITERAL: 
@RASQAL_EXPR_CAST: 
@RASQAL_EXPR_ORDER_COND_ASC: 
@RASQAL_EXPR_ORDER_COND_DESC: 
@RASQAL_EXPR_LANGMATCHES: 
@RASQAL_EXPR_REGEX: 
@RASQAL_EXPR_LAST: 

<!-- ##### ENUM rasqal_compare_flags ##### -->
<para>

</para>

@RASQAL_COMPARE_NOCASE: 
@RASQAL_COMPARE_XQUERY: 

<!-- ##### ENUM rasqal_pattern_flags ##### -->
<para>

</para>

@RASQAL_PATTERN_FLAGS_OPTIONAL: 
@RASQAL_PATTERN_FLAGS_LAST: 

<!-- ##### FUNCTION rasqal_new_1op_expression ##### -->
<para>

</para>

@op: 
@arg: 
@Returns: 


<!-- ##### FUNCTION rasqal_new_2op_expression ##### -->
<para>

</para>

@op: 
@arg1: 
@arg2: 
@Returns: 


<!-- ##### FUNCTION rasqal_new_3op_expression ##### -->
<para>

</para>

@op: 
@arg1: 
@arg2: 
@arg3: 
@Returns: 


<!-- ##### FUNCTION rasqal_new_cast_expression ##### -->
<para>

</para>

@name: 
@value: 
@Returns: 


<!-- ##### FUNCTION rasqal_new_function_expression ##### -->
<para>

</para>

@name: 
@args: 
@Returns: 


<!-- ##### FUNCTION rasqal_new_literal_expression ##### -->
<para>

</para>

@literal: 
@Returns: 


<!-- ##### FUNCTION rasqal_new_string_op_expression ##### -->
<para>

</para>

@op: 
@arg1: 
@literal: 
@Returns: 


<!-- ##### FUNCTION rasqal_new_expression_from_expression ##### -->
<para>

</para>

@e: 
@Returns: 


<!-- ##### FUNCTION rasqal_free_expression ##### -->
<para>

</para>

@e: 


<!-- ##### FUNCTION rasqal_expression_evaluate ##### -->
<para>

</para>

@query: 
@e: 
@flags: 
@Returns: 


<!-- ##### USER_FUNCTION rasqal_expression_foreach_fn ##### -->
<para>

</para>

@user_data: 
@e: 
@Returns: 


<!-- ##### FUNCTION rasqal_expression_foreach ##### -->
<para>

</para>

@e: 
@fn: 
@user_data: 
@Returns: 


<!-- ##### FUNCTION rasqal_expression_print ##### -->
<para>

</para>

@e: 
@fh: 


<!-- ##### FUNCTION rasqal_expression_print_op ##### -->
<para>

</para>

@e: 
@fh: 


<!-- ##### USER_FUNCTION rasqal_expression_visit_fn ##### -->
<para>

</para>

@user_data: 
@e: 
@Returns: 


<!-- ##### FUNCTION rasqal_expression_visit ##### -->
<para>

</para>

@e: 
@fn: 
@user_data: 
@Returns: 


