| Rasqal RDF Query Library Manual | ||||
|---|---|---|---|---|
rasqal_triple;
enum rasqal_triple_flags;
rasqal_triple* rasqal_new_triple (rasqal_literal *subject,
rasqal_literal *predicate,
rasqal_literal *object);
rasqal_triple* rasqal_new_triple_from_triple
(rasqal_triple *t);
void rasqal_free_triple (rasqal_triple *t);
rasqal_literal* rasqal_triple_get_origin (rasqal_triple *t);
enum rasqal_triple_parts;
void rasqal_triple_print (rasqal_triple *t,
FILE *fh);
void rasqal_triple_set_origin (rasqal_triple *t,
rasqal_literal *l);
An object for a triple pattern or an RDF triple in a query. It
contains the three parts of an RDF triple - subject, predicate,
object as well as origin for matching triples in some graph (such as
with the SPARQL GRAPH).
typedef struct {
rasqal_literal* subject;
rasqal_literal* predicate;
rasqal_literal* object;
rasqal_literal* origin;
unsigned int flags;
} rasqal_triple;
A triple pattern or RDF triple.
This is used as a triple pattern in queries and an RDF triple when generating RDF triples such as with SPARQL CONSTRUCT.
rasqal_literal *subject; |
Triple subject. |
rasqal_literal *predicate; |
Triple predicate. |
rasqal_literal *object; |
Triple object. |
rasqal_literal *origin; |
Triple origin. |
unsigned int flags; |
Or of enum rasqal_triple_flags bits. |
typedef enum {
/* Not used - was only used internally in the execution engine */
RASQAL_TRIPLE_FLAGS_EXACT=1,
/* Not used - this is now a property of a graph pattern */
RASQAL_TRIPLE_FLAGS_OPTIONAL=2,
RASQAL_TRIPLE_FLAGS_LAST=RASQAL_TRIPLE_FLAGS_OPTIONAL
} rasqal_triple_flags;
Flags for triple patterns.
rasqal_triple* rasqal_new_triple (rasqal_literal *subject, rasqal_literal *predicate, rasqal_literal *object);
Constructor - create a new rasqal_triple triple or triple pattern.
The triple origin can be set with rasqal_triple_set_origin().
subject : |
Triple subject. |
predicate : |
Triple predicate. |
object : |
Triple object. |
| Returns : | a new rasqal_triple or NULL on failure. |
rasqal_triple* rasqal_new_triple_from_triple (rasqal_triple *t);
Copy constructor - create a new rasqal_triple from an existing one.
t : |
Triple to copy. |
| Returns : | a new rasqal_triple or NULL on failure. |
void rasqal_free_triple (rasqal_triple *t);
Destructor - destroy a rasqal_triple object.
t : |
rasqal_triple object. |
rasqal_literal* rasqal_triple_get_origin (rasqal_triple *t);
Get the origin field of a rasqal_triple.
t : |
The triple object. |
| Returns : | The triple origin or NULL. |
typedef enum {
RASQAL_TRIPLE_SUBJECT = 1,
RASQAL_TRIPLE_PREDICATE= 2,
RASQAL_TRIPLE_OBJECT = 4,
RASQAL_TRIPLE_ORIGIN = 8
} rasqal_triple_parts;
Flags for parts of a triple.
void rasqal_triple_print (rasqal_triple *t, FILE *fh);
Print a Rasqal triple in a debug format.
The print debug format may change in any release.
t : |
rasqal_triple object. |
fh : |
The FILE* handle to print to. |
void rasqal_triple_set_origin (rasqal_triple *t, rasqal_literal *l);
Set the origin field of a rasqal_triple.
t : |
The triple object. |
l : |
The rasqal_literal object to set as origin. |