LMMS
Loading...
Searching...
No Matches
Reader

Functions

SERD_API SerdReader *SERD_ALLOCATED serd_reader_new (SerdSyntax syntax, void *SERD_NULLABLE handle, void(*SERD_NULLABLE free_handle)(void *SERD_NULLABLE), SerdBaseSink SERD_NULLABLE base_sink, SerdPrefixSink SERD_NULLABLE prefix_sink, SerdStatementSink SERD_NULLABLE statement_sink, SerdEndSink SERD_NULLABLE end_sink)
 Create a new RDF reader.
SERD_API void serd_reader_set_strict (SerdReader *SERD_NONNULL reader, bool strict)
SERD_API void serd_reader_set_error_sink (SerdReader *SERD_NONNULL reader, SerdErrorSink SERD_NULLABLE error_sink, void *SERD_NULLABLE error_handle)
SERD_PURE_API void *SERD_NULLABLE serd_reader_get_handle (const SerdReader *SERD_NONNULL reader)
 Return the handle passed to serd_reader_new().
SERD_API void serd_reader_add_blank_prefix (SerdReader *SERD_NONNULL reader, const uint8_t *SERD_NULLABLE prefix)
SERD_API void serd_reader_set_default_graph (SerdReader *SERD_NONNULL reader, const SerdNode *SERD_NULLABLE graph)
SERD_API SerdStatus serd_reader_read_file (SerdReader *SERD_NONNULL reader, const uint8_t *SERD_NONNULL uri)
 Read a file at a given uri.
SERD_API SerdStatus serd_reader_start_stream (SerdReader *SERD_NONNULL reader, FILE *SERD_NONNULL file, const uint8_t *SERD_NULLABLE name, bool bulk)
SERD_API SerdStatus serd_reader_start_source_stream (SerdReader *SERD_NONNULL reader, SerdSource SERD_NONNULL read_func, SerdStreamErrorFunc SERD_NONNULL error_func, void *SERD_NONNULL stream, const uint8_t *SERD_NULLABLE name, size_t page_size)
SERD_API SerdStatus serd_reader_read_chunk (SerdReader *SERD_NONNULL reader)
SERD_API SerdStatus serd_reader_end_stream (SerdReader *SERD_NONNULL reader)
 Finish an incremental read from a file handle.
SERD_API SerdStatus serd_reader_read_file_handle (SerdReader *SERD_NONNULL reader, FILE *SERD_NONNULL file, const uint8_t *SERD_NULLABLE name)
 Read file.
SERD_API SerdStatus serd_reader_read_source (SerdReader *SERD_NONNULL reader, SerdSource SERD_NONNULL source, SerdStreamErrorFunc SERD_NONNULL error, void *SERD_NONNULL stream, const uint8_t *SERD_NULLABLE name, size_t page_size)
 Read a user-specified byte source.
SERD_API SerdStatus serd_reader_read_string (SerdReader *SERD_NONNULL reader, const uint8_t *SERD_NONNULL utf8)
 Read utf8.
SERD_API void serd_reader_free (SerdReader *SERD_NULLABLE reader)
 Free reader.

Detailed Description

Function Documentation

◆ serd_reader_add_blank_prefix()

SERD_API void serd_reader_add_blank_prefix ( SerdReader *SERD_NONNULL reader,
const uint8_t *SERD_NULLABLE prefix )

Set a prefix to be added to all blank node identifiers.

This is useful when multiple files are to be parsed into the same output (a model or a file). Since Serd preserves blank node IDs, this could cause conflicts where two non-equivalent blank nodes are merged, resulting in corrupt data. By setting a unique blank node prefix for each parsed file, this can be avoided, while preserving blank node names.

◆ serd_reader_end_stream()

SERD_API SerdStatus serd_reader_end_stream ( SerdReader *SERD_NONNULL reader)

Finish an incremental read from a file handle.

◆ serd_reader_free()

SERD_API void serd_reader_free ( SerdReader *SERD_NULLABLE reader)

Free reader.

◆ serd_reader_get_handle()

SERD_PURE_API void *SERD_NULLABLE serd_reader_get_handle ( const SerdReader *SERD_NONNULL reader)

Return the handle passed to serd_reader_new().

◆ serd_reader_new()

SERD_API SerdReader *SERD_ALLOCATED serd_reader_new ( SerdSyntax syntax,
void *SERD_NULLABLE handle,
void(* free_handle )(void *SERD_NULLABLE),
SerdBaseSink SERD_NULLABLE base_sink,
SerdPrefixSink SERD_NULLABLE prefix_sink,
SerdStatementSink SERD_NULLABLE statement_sink,
SerdEndSink SERD_NULLABLE end_sink )

Create a new RDF reader.

◆ serd_reader_read_chunk()

SERD_API SerdStatus serd_reader_read_chunk ( SerdReader *SERD_NONNULL reader)

Read a single "chunk" of data during an incremental read

This function will read a single top level description, and return. This may be a directive, statement, or several statements; essentially it reads until a '.' is encountered. This is particularly useful for reading directly from a pipe or socket.

◆ serd_reader_read_file()

SERD_API SerdStatus serd_reader_read_file ( SerdReader *SERD_NONNULL reader,
const uint8_t *SERD_NONNULL uri )

Read a file at a given uri.

◆ serd_reader_read_file_handle()

SERD_API SerdStatus serd_reader_read_file_handle ( SerdReader *SERD_NONNULL reader,
FILE *SERD_NONNULL file,
const uint8_t *SERD_NULLABLE name )

Read file.

◆ serd_reader_read_source()

SERD_API SerdStatus serd_reader_read_source ( SerdReader *SERD_NONNULL reader,
SerdSource SERD_NONNULL source,
SerdStreamErrorFunc SERD_NONNULL error,
void *SERD_NONNULL stream,
const uint8_t *SERD_NULLABLE name,
size_t page_size )

Read a user-specified byte source.

◆ serd_reader_read_string()

SERD_API SerdStatus serd_reader_read_string ( SerdReader *SERD_NONNULL reader,
const uint8_t *SERD_NONNULL utf8 )

Read utf8.

◆ serd_reader_set_default_graph()

SERD_API void serd_reader_set_default_graph ( SerdReader *SERD_NONNULL reader,
const SerdNode *SERD_NULLABLE graph )

Set the URI of the default graph.

If this is set, the reader will emit quads with the graph set to the given node for any statements that are not in a named graph (which is currently all of them since Serd currently does not support any graph syntaxes).

◆ serd_reader_set_error_sink()

SERD_API void serd_reader_set_error_sink ( SerdReader *SERD_NONNULL reader,
SerdErrorSink SERD_NULLABLE error_sink,
void *SERD_NULLABLE error_handle )

Set a function to be called when errors occur during reading.

The error_sink will be called with handle as its first argument. If no error function is set, errors are printed to stderr in GCC style.

◆ serd_reader_set_strict()

SERD_API void serd_reader_set_strict ( SerdReader *SERD_NONNULL reader,
bool strict )

Enable or disable strict parsing

The reader is non-strict (lax) by default, which will tolerate URIs with invalid characters. Setting strict will fail when parsing such files. An error is printed for invalid input in either case.

◆ serd_reader_start_source_stream()

SERD_API SerdStatus serd_reader_start_source_stream ( SerdReader *SERD_NONNULL reader,
SerdSource SERD_NONNULL read_func,
SerdStreamErrorFunc SERD_NONNULL error_func,
void *SERD_NONNULL stream,
const uint8_t *SERD_NULLABLE name,
size_t page_size )

Start an incremental read from a user-specified source.

The read_func is guaranteed to only be called for page_size elements with size 1 (i.e. page_size bytes).

◆ serd_reader_start_stream()

SERD_API SerdStatus serd_reader_start_stream ( SerdReader *SERD_NONNULL reader,
FILE *SERD_NONNULL file,
const uint8_t *SERD_NULLABLE name,
bool bulk )

Start an incremental read from a file handle.

Iff bulk is true, file will be read a page at a time. This is more efficient, but uses a page of memory and means that an entire page of input must be ready before any callbacks will fire. To react as soon as input arrives, set bulk to false.