| 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 * |
Triple subject. |
rasqal_literal * |
Triple predicate. |
rasqal_literal * |
Triple object. |
rasqal_literal * |
Triple origin. |
unsigned int |
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. Takes ownership of the literals passed in.
The triple origin can be set with rasqal_triple_set_origin().
|
Triple subject. |
|
Triple predicate. |
|
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.
|
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.
|
rasqal_triple object. |
rasqal_literal* rasqal_triple_get_origin (rasqal_triple *t);
Get the origin field of a rasqal_triple.
|
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_GRAPH = RASQAL_TRIPLE_ORIGIN,
RASQAL_TRIPLE_SPO = RASQAL_TRIPLE_SUBJECT | RASQAL_TRIPLE_PREDICATE | RASQAL_TRIPLE_OBJECT,
RASQAL_TRIPLE_SPOG = RASQAL_TRIPLE_SPO | RASQAL_TRIPLE_GRAPH
} rasqal_triple_parts;
Flags for parts of a triple.
| Subject present in a triple. | |
| Predicate present in a triple. | |
| Object present in a triple. | |
| Origin/graph present in a triple. | |
| Alias for RASQAL_TRIPLE_ORIGIN | |
| Subject, Predicate and Object present in a triple. | |
| Subject, Predicate, Object, Graph present in 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.
|
rasqal_triple object. |
|
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.
|
The triple object. |
|
The rasqal_literal object to set as origin. |