diff options
Diffstat (limited to 'src/world.c')
-rw-r--r-- | src/world.c | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/src/world.c b/src/world.c index 1b66f025..354331f6 100644 --- a/src/world.c +++ b/src/world.c @@ -21,6 +21,7 @@ #include "cursor.h" #include "node.h" #include "serd_config.h" +#include "serd_internal.h" #if defined(USE_POSIX_FADVISE) # include <fcntl.h> @@ -86,8 +87,25 @@ SerdWorld* serd_world_new(void) { SerdWorld* world = (SerdWorld*)calloc(1, sizeof(SerdWorld)); - - world->blank_node = serd_new_blank(SERD_STATIC_STRING("b00000000000")); + SerdNodes* nodes = serd_nodes_new(); + + const SerdStringView rdf_first = SERD_STATIC_STRING(NS_RDF "first"); + const SerdStringView rdf_nil = SERD_STATIC_STRING(NS_RDF "nil"); + const SerdStringView rdf_rest = SERD_STATIC_STRING(NS_RDF "rest"); + const SerdStringView rdf_type = SERD_STATIC_STRING(NS_RDF "type"); + const SerdStringView xsd_boolean = SERD_STATIC_STRING(NS_XSD "boolean"); + const SerdStringView xsd_decimal = SERD_STATIC_STRING(NS_XSD "decimal"); + const SerdStringView xsd_integer = SERD_STATIC_STRING(NS_XSD "integer"); + + world->rdf_first = serd_nodes_manage(nodes, serd_new_uri(rdf_first)); + world->rdf_nil = serd_nodes_manage(nodes, serd_new_uri(rdf_nil)); + world->rdf_rest = serd_nodes_manage(nodes, serd_new_uri(rdf_rest)); + world->rdf_type = serd_nodes_manage(nodes, serd_new_uri(rdf_type)); + world->xsd_boolean = serd_nodes_manage(nodes, serd_new_uri(xsd_boolean)); + world->xsd_decimal = serd_nodes_manage(nodes, serd_new_uri(xsd_decimal)); + world->xsd_integer = serd_nodes_manage(nodes, serd_new_uri(xsd_integer)); + world->blank_node = serd_new_blank(SERD_STATIC_STRING("b00000000000")); + world->nodes = nodes; return world; } @@ -97,10 +115,17 @@ serd_world_free(SerdWorld* world) { if (world) { serd_node_free(world->blank_node); + serd_nodes_free(world->nodes); free(world); } } +SerdNodes* +serd_world_nodes(SerdWorld* world) +{ + return world->nodes; +} + const SerdNode* serd_world_get_blank(SerdWorld* world) { |