Detailed Description

An LV2 Atom RDF serialisation library.

Typedefs

typedef struct SratomImpl Sratom

Enumerations

enum SratomObjectMode { SRATOM_OBJECT_MODE_BLANK, SRATOM_OBJECT_MODE_BLANK_SUBJECT }

Functions

Sratom * sratom_new (LV2_URID_Map *map)

void sratom_free (Sratom *sratom)

void sratom_set_sink (Sratom *sratom, const char *base_uri, SerdStatementSink sink, SerdEndSink end_sink, void *handle)

void sratom_set_pretty_numbers (Sratom *sratom, bool pretty_numbers)

void sratom_set_object_mode (Sratom *sratom, SratomObjectMode object_mode)

int sratom_write (Sratom *sratom, LV2_URID_Unmap *unmap, uint32_t flags, const SerdNode *subject, const SerdNode *predicate, uint32_t type, uint32_t size, const void *body)

void sratom_read (Sratom *sratom, LV2_Atom_Forge *forge, SordWorld *world, SordModel *model, const SordNode *subject)

char * sratom_to_turtle (Sratom *sratom, LV2_URID_Unmap *unmap, const char *base_uri, const SerdNode *subject, const SerdNode *predicate, uint32_t type, uint32_t size, const void *body)

LV2_Atom * sratom_from_turtle (Sratom *sratom, const char *base_uri, const SerdNode *subject, const SerdNode *predicate, const char *str)

LV2_Atom_Forge_Ref sratom_forge_sink (LV2_Atom_Forge_Sink_Handle handle, const void *buf, uint32_t size)

LV2_Atom * sratom_forge_deref (LV2_Atom_Forge_Sink_Handle handle, LV2_Atom_Forge_Ref ref)

Typedef Documentation

typedef struct SratomImpl \fBSratom\fP

Atom serialiser.

Enumeration Type Documentation

enum \fBSratomObjectMode\fP

Mode for reading resources to LV2 Objects. This affects how resources (which are either blank nodes or have URIs) are read by sratom_read(), since they may be read as simple references (a URI or blank node ID) or a complete description (an atom 'Object').

Currently, blank nodes are always read as Objects, but support for reading blank node IDs may be added in the future.

Enumerator

SRATOM_OBJECT_MODE_BLANK

Read blank nodes as Objects, and named resources as URIs.

SRATOM_OBJECT_MODE_BLANK_SUBJECT

Read blank nodes and the main subject as Objects, and any other named resources as URIs. The 'main subject' is the subject parameter passed to sratom_read(); if this is a resource it will be read as an Object, but all other named resources encountered will be read as URIs.

Function Documentation

\fBSratom\fP* sratom_new (LV2_URID_Map *map)

Create a new Atom serialiser.

void sratom_free (\fBSratom\fP *sratom)

Free an Atom serialisation.

void sratom_set_sink (\fBSratom\fP *sratom, const char *base_uri, SerdStatementSinksink, SerdEndSinkend_sink, void *handle)

Set the sink(s) where sratom will write its output. This must be called before calling sratom_write().

void sratom_set_pretty_numbers (\fBSratom\fP *sratom, boolpretty_numbers)

Write pretty numeric literals. If pretty_numbers is true, numbers will be written as pretty Turtle literals, rather than string literals with precise types. The cost of this is that the types might get fudged on a round-trip to RDF and back.

void sratom_set_object_mode (\fBSratom\fP *sratom, \fBSratomObjectMode\fPobject_mode)

Configure how resources will be read to form LV2 Objects.

int sratom_write (\fBSratom\fP *sratom, LV2_URID_Unmap *unmap, uint32_tflags, const SerdNode *subject, const SerdNode *predicate, uint32_ttype, uint32_tsize, const void *body)

Write an Atom to RDF. The serialised atom is written to the sink set by sratom_set_sink().

Returns:

0 on success, or a non-zero error code otherwise.

void sratom_read (\fBSratom\fP *sratom, LV2_Atom_Forge *forge, SordWorld *world, SordModel *model, const SordNode *subject)

Read an Atom from RDF. The resulting atom will be written to forge.

char* sratom_to_turtle (\fBSratom\fP *sratom, LV2_URID_Unmap *unmap, const char *base_uri, const SerdNode *subject, const SerdNode *predicate, uint32_ttype, uint32_tsize, const void *body)

Serialise an Atom to a Turtle string. The returned string must be free()'d by the caller.

LV2_Atom* sratom_from_turtle (\fBSratom\fP *sratom, const char *base_uri, const SerdNode *subject, const SerdNode *predicate, const char *str)

Read an Atom from a Turtle string. The returned atom must be free()'d by the caller.

LV2_Atom_Forge_Ref sratom_forge_sink (LV2_Atom_Forge_Sink_Handlehandle, const void *buf, uint32_tsize)

A convenient resizing sink for LV2_Atom_Forge. The handle must point to an initialized SerdChunk.

LV2_Atom* sratom_forge_deref (LV2_Atom_Forge_Sink_Handlehandle, LV2_Atom_Forge_Refref)

The corresponding deref function for sratom_forge_sink.

Author

Generated automatically by Doxygen for Sratom from the source code.