section-graph_pattern

section-graph_pattern

Functions

Types and Values

Description

Functions

rasqal_graph_pattern_add_sub_graph_pattern ()

int
rasqal_graph_pattern_add_sub_graph_pattern
                               (rasqal_graph_pattern *graph_pattern,
                                rasqal_graph_pattern *sub_graph_pattern);

Add a sub graph pattern to a graph pattern.

Parameters

graph_pattern

graph pattern to add to

 

sub_graph_pattern

graph pattern to add inside

 

Returns

non-0 on failure


rasqal_graph_pattern_get_filter_expression ()

rasqal_expression *
rasqal_graph_pattern_get_filter_expression
                               (rasqal_graph_pattern *gp);

Get a filter graph pattern's constraint expression

Parameters

gp

rasqal_graph_pattern query object

 

Returns

expression or NULL on failure


rasqal_graph_pattern_set_filter_expression ()

int
rasqal_graph_pattern_set_filter_expression
                               (rasqal_graph_pattern *gp,
                                rasqal_expression *expr);

Set a filter graph pattern constraint expression

Parameters

gp

rasqal_graph_pattern query object

 

expr

rasqal_expression expr - ownership taken

 

Returns

non-0 on failure


rasqal_graph_pattern_get_flattened_triples ()

raptor_sequence *
rasqal_graph_pattern_get_flattened_triples
                               (rasqal_query *query,
                                rasqal_graph_pattern *graph_pattern);

Get the triples inside a tree of graph patterns (BASIC + GRAPH) as a single sequence with GRAPHs turned into triple origin.

The returned sequence and all the rasqal_triple in it are owned by the caller (hold references).

Parameters

query

query

 

graph_pattern

graph pattern

 

Returns

new sequence of raptor_triple or NULL on failure


rasqal_graph_pattern_get_index ()

int
rasqal_graph_pattern_get_index (rasqal_graph_pattern *gp);

Get the graph pattern absolute index in the array of graph patterns.

The graph pattern index is assigned when rasqal_query_prepare() is run on a query containing a graph pattern.

Parameters

gp

rasqal_graph_pattern graph pattern

 

Returns

index or <0 if no index has been assigned yet


rasqal_graph_pattern_get_operator ()

rasqal_graph_pattern_operator
rasqal_graph_pattern_get_operator (rasqal_graph_pattern *graph_pattern);

Get the graph pattern operator .

The operator for the given graph pattern. See also rasqal_graph_pattern_operator_as_string().

Parameters

graph_pattern

rasqal_graph_pattern graph pattern object

 

Returns

graph pattern operator


rasqal_graph_pattern_get_origin ()

rasqal_literal *
rasqal_graph_pattern_get_origin (rasqal_graph_pattern *graph_pattern);

Get the graph pattern literal for RASQAL_GRAPH_PATTERN_OPERATOR_GRAPH graph pattern

Parameters

graph_pattern

rasqal_graph_pattern graph pattern object

 

Returns

graph literal parameter or NULL if wrong graph pattern type or not defined


rasqal_graph_pattern_get_sub_graph_pattern ()

rasqal_graph_pattern *
rasqal_graph_pattern_get_sub_graph_pattern
                               (rasqal_graph_pattern *graph_pattern,
                                int idx);

Get a sub-graph pattern inside a graph pattern.

Parameters

graph_pattern

rasqal_graph_pattern graph pattern object

 

idx

index into the sequence of sub graph_patterns in the graph pattern

 

Returns

rasqal_graph_pattern or NULL if out of range


rasqal_graph_pattern_get_sub_graph_pattern_sequence ()

raptor_sequence *
rasqal_graph_pattern_get_sub_graph_pattern_sequence
                               (rasqal_graph_pattern *graph_pattern);

Get the sequence of graph patterns inside a graph pattern .

Parameters

graph_pattern

rasqal_graph_pattern graph pattern object

 

Returns

a raptor_sequence of rasqal_graph_pattern pointers.


rasqal_graph_pattern_get_triple ()

rasqal_triple *
rasqal_graph_pattern_get_triple (rasqal_graph_pattern *graph_pattern,
                                 int idx);

Get a triple inside a graph pattern.

Parameters

graph_pattern

rasqal_graph_pattern graph pattern object

 

idx

index into the sequence of triples in the graph pattern

 

Returns

rasqal_triple or NULL if out of range


rasqal_graph_pattern_get_triples ()

raptor_sequence *
rasqal_graph_pattern_get_triples (rasqal_query *query,
                                  rasqal_graph_pattern *graph_pattern);

Get the triples inside this graph pattern (if any).

The returned sequence and all the rasqal_triple in it are owned by the caller (hold references).

Parameters

query

query

 

graph_pattern

graph pattern

 

Returns

new sequence of raptor_triple or NULL on failure or no triples


rasqal_graph_pattern_get_service ()

rasqal_literal *
rasqal_graph_pattern_get_service (rasqal_graph_pattern *graph_pattern);

Get the literal for RASQAL_GRAPH_PATTERN_OPERATOR_SERVICE graph pattern

Parameters

graph_pattern

rasqal_graph_pattern graph pattern object

 

Returns

graph variable or NULL if wrong graph pattern or not defined


rasqal_graph_pattern_get_variable ()

rasqal_variable *
rasqal_graph_pattern_get_variable (rasqal_graph_pattern *graph_pattern);

Get the variable for RASQAL_GRAPH_PATTERN_OPERATOR_LET graph pattern

Parameters

graph_pattern

rasqal_graph_pattern graph pattern object

 

Returns

graph variable or NULL if wrong graph pattern or not defined


rasqal_graph_pattern_operator_as_string ()

const char *
rasqal_graph_pattern_operator_as_string
                               (rasqal_graph_pattern_operator op);

Get a string for the query verb.

Parameters

op

the rasqal_graph_pattern_operator verb of the query

 

Returns

pointer to a shared string label for the query verb


rasqal_graph_pattern_print ()

int
rasqal_graph_pattern_print (rasqal_graph_pattern *gp,
                            FILE *fh);

Print a rasqal_graph_pattern in a debug format.

The print debug format may change in any release.

Parameters

gp

the rasqal_graph_pattern object

 

fh

the FILE* handle to print to

 

Returns

non-0 on failure


rasqal_graph_pattern_variable_bound_in ()

int
rasqal_graph_pattern_variable_bound_in
                               (rasqal_graph_pattern *gp,
                                rasqal_variable *v);

Is the variable bound in this graph pattern (not including children)?

Parameters

gp

graph pattern

 

v

variable

 

Returns

non-0 if variable is bound in the given graph pattern.


rasqal_graph_pattern_visit_fn ()

int
(*rasqal_graph_pattern_visit_fn) (rasqal_query *query,
                                  rasqal_graph_pattern *gp,
                                  void *user_data);

User function to visit an graph_pattern and operate on it with rasqal_graph_pattern_visit() or rasqal_query_graph_pattern_visit()

Parameters

query

rasqal_query containing the graph pattern

 

gp

current graph_pattern

 

user_data

user data passed in

 

Returns

non-0 to truncate the visit


rasqal_graph_pattern_visit ()

int
rasqal_graph_pattern_visit (rasqal_query *query,
                            rasqal_graph_pattern *gp,
                            rasqal_graph_pattern_visit_fn fn,
                            void *user_data);

Visit a user function over a rasqal_graph_pattern

If the user function fn returns 0, the visit is truncated.

Parameters

query

rasqal_query to operate on

 

gp

rasqal_graph_pattern graph pattern

 

fn

pointer to function to apply that takes user data and graph pattern parameters

 

user_data

user data for applied function

 

Returns

0 if the visit was truncated.

Types and Values

rasqal_graph_pattern

rasqal_graph_pattern* graph_pattern;

Rasqal graph pattern class.


enum rasqal_graph_pattern_operator

Graph pattern operators

Members

RASQAL_GRAPH_PATTERN_OPERATOR_UNKNOWN

Internal.

 

RASQAL_GRAPH_PATTERN_OPERATOR_BASIC

Just triple patterns and constraints.

 

RASQAL_GRAPH_PATTERN_OPERATOR_OPTIONAL

Set of graph patterns (ANDed) and constraints.

 

RASQAL_GRAPH_PATTERN_OPERATOR_UNION

Set of graph patterns (UNIONed) and constraints.

 

RASQAL_GRAPH_PATTERN_OPERATOR_GROUP

Set of graph patterns (ANDed) and constraints.

 

RASQAL_GRAPH_PATTERN_OPERATOR_GRAPH

A graph term + a graph pattern and constraints.

 

RASQAL_GRAPH_PATTERN_OPERATOR_FILTER

A filter graph pattern with an expression

 

RASQAL_GRAPH_PATTERN_OPERATOR_LET

LET ?var := Expression (LAQRS)

 

RASQAL_GRAPH_PATTERN_OPERATOR_SELECT

SELECT graph pattern

 

RASQAL_GRAPH_PATTERN_OPERATOR_SERVICE

SERVICE graph pattern

 

RASQAL_GRAPH_PATTERN_OPERATOR_MINUS

MINUS graph pattern

 

RASQAL_GRAPH_PATTERN_OPERATOR_VALUES

VALUES graph pattern

 

RASQAL_GRAPH_PATTERN_OPERATOR_LAST

Internal.