![]() |
![]() |
![]() |
Rasqal RDF Query Library Manual | ![]() |
---|---|---|---|---|
rasqal_variable; rasqal_variable* rasqal_new_variable (rasqal_query *rq, unsigned char *name, rasqal_literal *value); rasqal_variable* rasqal_new_variable_typed (rasqal_query *rq, rasqal_variable_type type, unsigned char *name, rasqal_literal *value); rasqal_variable* rasqal_new_variable_from_variable (rasqal_variable *v); void rasqal_free_variable (rasqal_variable *v); void rasqal_variable_print (rasqal_variable *v, FILE *fh); void rasqal_variable_set_value (rasqal_variable *v, rasqal_literal *l); enum rasqal_variable_type;
A class to hold a variable with optional name and a
rasqal_literal value. The name is not required for SPARQL
anonymous variables, when constructed with
rasqal_new_variable_typed()
and type RASQAL_VARIABLE_TYPE_ANONYMOUS.
typedef struct { const unsigned char *name; rasqal_literal* value; int offset; rasqal_variable_type type; struct rasqal_expression_s* expression; } rasqal_variable;
Binding between a variable name and a value.
Includes internal field offset
for recording the offset into the
(internal) rasqal_query variables array.
rasqal_literal * |
Variable value or NULL if unbound. |
int |
Internal. |
rasqal_variable_type |
Variable type. |
struct rasqal_expression_s * |
Expression when the variable is a computed SELECT expression |
rasqal_variable* rasqal_new_variable (rasqal_query *rq, unsigned char *name, rasqal_literal *value);
Constructor - Create a new Rasqal normal variable.
The variable must be associated with a query, since variable names are only significant with a single query.
This creates a regular variable that can be returned of type RASQAL_VARIABLE_TYPE_NORMAL. Use rasqal_new_variable_typed to create other variables.
The name
and value
become owned by the rasqal_variable structure
|
rasqal_query to associate the variable with |
|
variable name |
|
variable rasqal_literal value (or NULL) |
Returns : |
a new rasqal_variable or NULL on failure. |
rasqal_variable* rasqal_new_variable_typed (rasqal_query *rq, rasqal_variable_type type, unsigned char *name, rasqal_literal *value);
Constructor - Create a new typed Rasqal variable.
The variable must be associated with a query, since variable names are only significant with a single query.
The name
and value
become owned by the rasqal_variable structure
|
rasqal_query to associate the variable with |
|
variable type defined by enumeration rasqal_variable_type |
|
variable name |
|
variable rasqal_literal value (or NULL) |
Returns : |
a new rasqal_variable or NULL on failure. |
rasqal_variable* rasqal_new_variable_from_variable (rasqal_variable *v);
Copy Constructor - Create a new Rasqal variable from an existing one
This does a deep copy of all variable fields
|
rasqal_variable to copy |
Returns : |
a new rasqal_variable or NULL on failure. |
void rasqal_free_variable (rasqal_variable *v);
Destructor - Destroy a Rasqal variable object.
|
rasqal_variable object |
void rasqal_variable_print (rasqal_variable *v, FILE *fh);
Print a Rasqal variable in a debug format.
The print debug format may change in any release.
|
the rasqal_variable object |
|
the FILE* handle to print to |
void rasqal_variable_set_value (rasqal_variable *v, rasqal_literal *l);
Set the value of a Rasqal variable.
The variable value is an input parameter and is copied in, not shared. If the variable value is NULL, any existing value is deleted.
|
the rasqal_variable object |
|
the rasqal_literal value to set (or NULL) |