| Rasqal RDF Query Library Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
typedef rasqal_variables_table; rasqal_variables_table * rasqal_new_variables_table (rasqal_world *world); void rasqal_free_variables_table (rasqal_variables_table *vt); rasqal_variable * rasqal_variables_table_add (rasqal_variables_table *vt,rasqal_variable_type type,const char *name,rasqal_literal *value); rasqal_variable * rasqal_variables_table_add2 (rasqal_variables_table *vt,rasqal_variable_type type,const char *name,size_t name_len,rasqal_literal *value); int rasqal_variables_table_add_variable (rasqal_variables_table *vt,rasqal_variable *variable); rasqal_variable * rasqal_variables_table_get_by_name (rasqal_variables_table *vt,rasqal_variable_type type,const char *name); int rasqal_variables_table_contains (rasqal_variables_table *vt,rasqal_variable_type type,const char *name);
A table of rasqal_variable usually associated with a rasqal_query query or rasqal_query_results query result set. The order of the variables in the table may be significant, such as for a standalone query result set in which case it might define the order of variables in resulting rows.
typedef struct rasqal_variables_table_s rasqal_variables_table;
Internal - for now
rasqal_variables_table * rasqal_new_variables_table (rasqal_world *world);
Constructor - create a new variables table
|
rasqal world |
Returns : |
new variables table or NULL On failure |
void rasqal_free_variables_table (rasqal_variables_table *vt);
Destructor - destroy a new variables table
|
rasqal variables table |
rasqal_variable * rasqal_variables_table_add (rasqal_variables_table *vt,rasqal_variable_type type,const char *name,rasqal_literal *value);
Constructor - Create a new variable and add it to the variables table
Deprecated: for rasqal_variables_table_add2() which copies the name
and value
The name and value become owned by the rasqal_variable
structure. If a variable with the name already exists, that is
returned and the new value is ignored.
|
rasqal_variables_table 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_variables_table_add2 (rasqal_variables_table *vt,rasqal_variable_type type,const char *name,size_t name_len,rasqal_literal *value);
Constructor - Create a new variable and add it to the variables table
The name and value fields are copied. If a variable with the
name already exists, that is returned and the new value is
ignored.
|
rasqal_variables_table to associate the variable with |
|
variable type defined by enumeration rasqal_variable_type |
|
variable name |
|
length of name (or 0) |
|
variable rasqal_literal value (or NULL) |
Returns : |
a new rasqal_variable or NULL on failure. |
int rasqal_variables_table_add_variable (rasqal_variables_table *vt,rasqal_variable *variable);
Constructor - Add an existing variable to the variables table
The variables table vt takes a reference to variable. This
function will fail if the variable is already in the table. Use
rasqal_variables_table_contains() to check before calling.
|
rasqal_variables_table to associate the variable with |
|
existing variable to add |
Returns : |
non-0 on failure (such as name already exists) |
rasqal_variable * rasqal_variables_table_get_by_name (rasqal_variables_table *vt,rasqal_variable_type type,const char *name);
Lookup a variable by type and name in the variables table.
Note that looking up for any type RASQAL_VARIABLE_TYPE_UNKNOWN may a name match but for any type so in cases where the query has both a named and anonymous (extensional) variable, an arbitrary one will be returned.
|
the variables table |
|
the variable type to match or RASQAL_VARIABLE_TYPE_UNKNOWN for any. |
|
the variable type |
Returns : |
a shared pointer to the rasqal_variable or NULL if not found |
int rasqal_variables_table_contains (rasqal_variables_table *vt,rasqal_variable_type type,const char *name);
Check if there is a variable with the given type and name in the variables table
|
rasqal_variables_table to lookup |
|
variable type |
|
variable name |
Returns : |
non-0 if the variable is present |