LMMS
Loading...
Searching...
No Matches
sord.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include "serd/serd.h"
#include <stdbool.h>

Go to the source code of this file.

Macros

#define SORD_API

Typedefs

typedef struct SordWorldImpl SordWorld
typedef struct SordModelImpl SordModel
typedef struct SordInserterImpl SordInserter
typedef struct SordIterImpl SordIter
typedef struct SordNodeImpl SordNode
typedef const SordNodeSordQuad[4]

Enumerations

enum  SordQuadIndex { SORD_SUBJECT = 0 , SORD_PREDICATE = 1 , SORD_OBJECT = 2 , SORD_GRAPH = 3 }
enum  SordNodeType { SORD_URI = 1 , SORD_BLANK = 2 , SORD_LITERAL = 3 }
enum  SordIndexOption {
  SORD_SPO = 1 , SORD_SOP = 1 << 1 , SORD_OPS = 1 << 2 , SORD_OSP = 1 << 3 ,
  SORD_PSO = 1 << 4 , SORD_POS = 1 << 5
}

Functions

World
SORD_API SordWorldsord_world_new (void)
SORD_API void sord_world_free (SordWorld *world)
SORD_API void sord_world_set_error_sink (SordWorld *world, SerdErrorSink error_sink, void *handle)
Node
SORD_API SordNodesord_new_uri (SordWorld *world, const uint8_t *uri)
SORD_API SordNodesord_new_relative_uri (SordWorld *world, const uint8_t *uri, const uint8_t *base_uri)
SORD_API SordNodesord_new_blank (SordWorld *world, const uint8_t *str)
SORD_API SordNodesord_new_literal (SordWorld *world, SordNode *datatype, const uint8_t *str, const char *lang)
SORD_API SordNodesord_node_copy (const SordNode *node)
SORD_API void sord_node_free (SordWorld *world, SordNode *node)
SORD_API SordNodeType sord_node_get_type (const SordNode *node)
SORD_API const uint8_tsord_node_get_string (const SordNode *node)
SORD_API const uint8_tsord_node_get_string_counted (const SordNode *node, size_t *bytes)
SORD_API const uint8_tsord_node_get_string_measured (const SordNode *node, size_t *bytes, size_t *chars)
SORD_API const char * sord_node_get_language (const SordNode *node)
SORD_API SordNodesord_node_get_datatype (const SordNode *node)
SORD_API SerdNodeFlags sord_node_get_flags (const SordNode *node)
SORD_API bool sord_node_is_inline_object (const SordNode *node)
SORD_API bool sord_node_equals (const SordNode *a, const SordNode *b)
SORD_API const SerdNodesord_node_to_serd_node (const SordNode *node)
SORD_API SordNodesord_node_from_serd_node (SordWorld *world, SerdEnv *env, const SerdNode *node, const SerdNode *datatype, const SerdNode *lang)
Model
SORD_API SordModelsord_new (SordWorld *world, unsigned indices, bool graphs)
SORD_API void sord_free (SordModel *model)
SORD_API SordWorldsord_get_world (SordModel *model)
SORD_API size_t sord_num_nodes (const SordWorld *world)
SORD_API size_t sord_num_quads (const SordModel *model)
SORD_API SordItersord_begin (const SordModel *model)
SORD_API SordItersord_find (SordModel *model, const SordQuad pat)
SORD_API SordItersord_search (SordModel *model, const SordNode *s, const SordNode *p, const SordNode *o, const SordNode *g)
SORD_API SordNodesord_get (SordModel *model, const SordNode *s, const SordNode *p, const SordNode *o, const SordNode *g)
SORD_API bool sord_ask (SordModel *model, const SordNode *s, const SordNode *p, const SordNode *o, const SordNode *g)
SORD_API uint64_t sord_count (SordModel *model, const SordNode *s, const SordNode *p, const SordNode *o, const SordNode *g)
SORD_API bool sord_contains (SordModel *model, const SordQuad pat)
SORD_API bool sord_add (SordModel *model, const SordQuad tup)
SORD_API void sord_remove (SordModel *model, const SordQuad tup)
SORD_API SerdStatus sord_erase (SordModel *model, SordIter *iter)
Inserter
SORD_API SordInsertersord_inserter_new (SordModel *model, SerdEnv *env)
SORD_API void sord_inserter_free (SordInserter *inserter)
SORD_API SerdStatus sord_inserter_set_base_uri (SordInserter *inserter, const SerdNode *uri)
SORD_API SerdStatus sord_inserter_set_prefix (SordInserter *inserter, const SerdNode *name, const SerdNode *uri)
SORD_API SerdStatus sord_inserter_write_statement (SordInserter *inserter, SerdStatementFlags flags, const SerdNode *graph, const SerdNode *subject, const SerdNode *predicate, const SerdNode *object, const SerdNode *object_datatype, const SerdNode *object_lang)
Iteration
SORD_API void sord_iter_get (const SordIter *iter, SordQuad tup)
SORD_API const SordNodesord_iter_get_node (const SordIter *iter, SordQuadIndex index)
SORD_API const SordModelsord_iter_get_model (SordIter *iter)
SORD_API bool sord_iter_next (SordIter *iter)
SORD_API bool sord_iter_end (const SordIter *iter)
SORD_API void sord_iter_free (SordIter *iter)
Utilities
SORD_API bool sord_quad_match (const SordQuad x, const SordQuad y)
Serialisation
SORD_API SerdReadersord_new_reader (SordModel *model, SerdEnv *env, SerdSyntax syntax, SordNode *graph)
SORD_API bool sord_write (SordModel *model, SerdWriter *writer, SordNode *graph)
SORD_API bool sord_write_iter (SordIter *iter, SerdWriter *writer)

Detailed Description

API for Sord, a lightweight RDF model library.

Macro Definition Documentation

◆ SORD_API

#define SORD_API