Triples

Triples — RDF Triples

Synopsis




enum        raptor_genid_type;
enum        raptor_identifier_type;
            raptor_identifier;
raptor_identifier* raptor_new_identifier    (raptor_identifier_type type,
                                             raptor_uri *uri,
                                             raptor_uri_source uri_source,
                                             unsigned char *id,
                                             unsigned char *literal,
                                             raptor_uri *literal_datatype,
                                             unsigned char *literal_language);
int         raptor_copy_identifier          (raptor_identifier *dest,
                                             raptor_identifier *src);
void        raptor_free_identifier          (raptor_identifier *identifier);
            raptor_statement;
void        raptor_print_statement          (const raptor_statement *statement,
                                             FILE *stream);
void        raptor_print_statement_as_ntriples
                                            (const raptor_statement *statement,
                                             FILE *stream);
void        raptor_print_statement_detailed (const raptor_statement *statement,
                                             int detailed,
                                             FILE *stream);
unsigned char* raptor_statement_part_as_counted_string
                                            (const void *term,
                                             raptor_identifier_type type,
                                             raptor_uri *literal_datatype,
                                             unsigned char *literal_language,
                                             size_t *len_p);
unsigned char* raptor_statement_part_as_string
                                            (const void *term,
                                             raptor_identifier_type type,
                                             raptor_uri *literal_datatype,
                                             unsigned char *literal_language);

Description

Representation of RDF triples inside Raptor. They are a sequence of three raptor_identifier which cover the RDF terms of URI (RAPTOR_IDENTIFIER_TYPE_RESOURCE), Literal (RAPTOR_IDENTIFIER_TYPE_LITERAL) and Blank Node (RAPTOR_IDENTIFIER_TYPE_ANONYMOUS). Some other raptor_identifer_type forms exist but are deprecated.

Details

enum raptor_genid_type

typedef enum {
  RAPTOR_GENID_TYPE_BNODEID,
  RAPTOR_GENID_TYPE_BAGID
} raptor_genid_type;

Intended type for a generated identifier asked for by the handler registered with raptor_set_generate_id_handler().

RAPTOR_GENID_TYPE_BNODEID Generated ID is for a blank node
RAPTOR_GENID_TYPE_BAGID Generated ID is for rdf:bagID

enum raptor_identifier_type

typedef enum {
  RAPTOR_IDENTIFIER_TYPE_UNKNOWN,
  RAPTOR_IDENTIFIER_TYPE_RESOURCE,
  RAPTOR_IDENTIFIER_TYPE_ANONYMOUS,
  RAPTOR_IDENTIFIER_TYPE_PREDICATE,
  RAPTOR_IDENTIFIER_TYPE_ORDINAL,
  RAPTOR_IDENTIFIER_TYPE_LITERAL,
  RAPTOR_IDENTIFIER_TYPE_XML_LITERAL
} raptor_identifier_type;

Type of identifier in a raptor_statement

RAPTOR_IDENTIFIER_TYPE_UNKNOWN Internal
RAPTOR_IDENTIFIER_TYPE_RESOURCE Resource URI (e.g. rdf:about)
RAPTOR_IDENTIFIER_TYPE_ANONYMOUS _:foo N-Triples, or generated
RAPTOR_IDENTIFIER_TYPE_PREDICATE predicate URI. WARNING: Will not be generated in in Raptor 1.4.9 or newer. Instead a RAPTOR_IDENTIFIER_TYPE_RESOURCE will be returned.
RAPTOR_IDENTIFIER_TYPE_ORDINAL rdf:li, rdf:_n. No longer generated in any parser in Raptor 1.4.10+, instead a RAPTOR_IDENTIFIER_TYPE_RESOURCE is returned.
RAPTOR_IDENTIFIER_TYPE_LITERAL regular literal
RAPTOR_IDENTIFIER_TYPE_XML_LITERAL rdf:parseType="Literal". No longer generated by any parser in Raptor 1.4.8+, instead a RAPTOR_IDENTIFIER_TYPE_LITERAL is returned with a datatype of rdf:XMLLiteral.

raptor_identifier

typedef struct {
  raptor_identifier_type type;
  raptor_uri *uri;
  raptor_uri_source uri_source;
  const unsigned char *id;
  int ordinal;
  int is_malloced;
  const unsigned char *literal;
  raptor_uri *literal_datatype;
  const unsigned char *literal_language;
} raptor_identifier;

Raptor RDF term identifier.

raptor_identifier_type type; Type of identifier
raptor_uri *uri; URI of identifier for types RAPTOR_IDENTIFIER_TYPE_RESOURCE and RAPTOR_IDENTIFIER_TYPE_PREDICATE
raptor_uri_source uri_source; where the identifier (URI or blank node) came from
const unsigned char *id; blank node identifier for type RAPTOR_IDENTIFIER_TYPE_ANONYMOUS
int ordinal; integer ordinal for type RAPTOR_IDENTIFIER_TYPE_ORDINAL
int is_malloced; internal
const unsigned char *literal; literal string for types RAPTOR_IDENTIFIER_TYPE_LITERAL and RAPTOR_IDENTIFIER_TYPE_XML_LITERAL
raptor_uri *literal_datatype; RDF literal datatype URI for types RAPTOR_IDENTIFIER_TYPE_LITERAL and RAPTOR_IDENTIFIER_TYPE_XML_LITERAL
const unsigned char *literal_language; RDF literal language for type RAPTOR_IDENTIFIER_TYPE_LITERAL

raptor_new_identifier ()

raptor_identifier* raptor_new_identifier    (raptor_identifier_type type,
                                             raptor_uri *uri,
                                             raptor_uri_source uri_source,
                                             unsigned char *id,
                                             unsigned char *literal,
                                             raptor_uri *literal_datatype,
                                             unsigned char *literal_language);

Constructor - create a raptor_identifier.

Constructs a new identifier copying the URI, ID fields. SHARED means raptor_new_identifier owns this argument after calling.

type : raptor_identifier_type of identifier
uri : raptor_uri of identifier (if relevant) (SHARED)
uri_source : raptor_uri_source of URI (if relevant)
id : string for ID or genid (if relevant) (SHARED)
literal : string for literal (SHARED)
literal_datatype : raptor_uri of identifier (SHARED)
literal_language : literal language (SHARED)
Returns : a new raptor_identifier object or NULL on failure

raptor_copy_identifier ()

int         raptor_copy_identifier          (raptor_identifier *dest,
                                             raptor_identifier *src);

Copy raptor_identifiers.

dest : destination raptor_identifier (previously created)
src : source raptor_identifier
Returns : Non 0 on failure

raptor_free_identifier ()

void        raptor_free_identifier          (raptor_identifier *identifier);

Destructor - destroy a raptor_identifier object.

identifier : raptor_identifier object

raptor_statement

typedef struct {
  const void *subject;
  raptor_identifier_type subject_type;
  const void *predicate;
  raptor_identifier_type predicate_type;
  const void *object;
  raptor_identifier_type object_type;
  raptor_uri *object_literal_datatype;
  const unsigned char *object_literal_language;
} raptor_statement;

An RDF triple

See raptor_identifier for a description of how the fields may be used. As returned by a parser statement_handler.

const void *subject; triple subject data
raptor_identifier_type subject_type; triple subject type
const void *predicate; triple predicate data
raptor_identifier_type predicate_type; triple predicate type
const void *object; triple object literal string
raptor_identifier_type object_type; triple object type
raptor_uri *object_literal_datatype; triple object literal datatype URI (or NULL)
const unsigned char *object_literal_language; triple object literal language string (or NULL)

raptor_print_statement ()

void        raptor_print_statement          (const raptor_statement *statement,
                                             FILE *stream);

Print a raptor_statement to a stream.

statement : raptor_statement object to print
stream : FILE* stream

raptor_print_statement_as_ntriples ()

void        raptor_print_statement_as_ntriples
                                            (const raptor_statement *statement,
                                             FILE *stream);

Print a raptor_statement in N-Triples form.

statement : raptor_statement to print
stream : FILE* stream

raptor_print_statement_detailed ()

void        raptor_print_statement_detailed (const raptor_statement *statement,
                                             int detailed,
                                             FILE *stream);

Print a raptor_statement to a stream in a detailed fashion.

No current difference from calling raptor_print_statement().

statement : raptor_statement object to print
detailed : unused
stream : FILE* stream

raptor_statement_part_as_counted_string ()

unsigned char* raptor_statement_part_as_counted_string
                                            (const void *term,
                                             raptor_identifier_type type,
                                             raptor_uri *literal_datatype,
                                             unsigned char *literal_language,
                                             size_t *len_p);

Turns part of raptor statement into a N-Triples format counted string.

Turns the given term into an N-Triples escaped string using all the escapes as defined in http://www.w3.org/TR/rdf-testcases/ntriples

The part (subject, predicate, object) of the raptor_statement is typically passed in as term, the part type (subject_type, predicate_type, object_type) is passed in as type. When the part is a literal, the literal_datatype and literal_language fields are set, otherwise NULL (usually object_datatype, object_literal_language).

term : raptor_statement part (subject, predicate, object)
type : raptor_statement part type
literal_datatype : raptor_statement part datatype
literal_language : raptor_statement part language
len_p : Pointer to location to store length of new string (if not NULL)
Returns : the new string or NULL on failure. The length of the new string is returned in *len_p if len_p is not NULL.

raptor_statement_part_as_string ()

unsigned char* raptor_statement_part_as_string
                                            (const void *term,
                                             raptor_identifier_type type,
                                             raptor_uri *literal_datatype,
                                             unsigned char *literal_language);

Turns part of raptor statement into a N-Triples format string.

Turns the given term into an N-Triples escaped string using all the escapes as defined in http://www.w3.org/TR/rdf-testcases/ntriples

The part (subject, predicate, object) of the raptor_statement is typically passed in as term, the part type (subject_type, predicate_type, object_type) is passed in as type. When the part is a literal, the literal_datatype and literal_language fields are set, otherwise NULL (usually object_datatype, object_literal_language).

term : raptor_statement part (subject, predicate, object)
type : raptor_statement part type
literal_datatype : raptor_statement part datatype
literal_language : raptor_statement part language
Returns : the new string or NULL on failure.