summaryrefslogtreecommitdiffstats
path: root/src/world.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/world.c')
-rw-r--r--src/world.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/world.c b/src/world.c
index 0c6ad77..11c233d 100644
--- a/src/world.c
+++ b/src/world.c
@@ -230,11 +230,21 @@ void
slv2_world_load_file(SLV2World world, librdf_uri* file_uri)
{
slv2_world_lock_if_necessary(world);
+
+ librdf_storage* storage = librdf_new_storage(world->world,
+ "memory", NULL, NULL);
+ librdf_model* model = librdf_new_model(world->world,
+ storage, NULL);
+ librdf_parser_parse_into_model(world->parser, file_uri, NULL,
+ model);
- //printf("LOADING FILE: %s\n", librdf_uri_as_string(file_uri));
-
- librdf_parser_parse_into_model(world->parser, file_uri, NULL, world->model);
+ librdf_stream* stream = librdf_model_as_stream(model);
+ librdf_model_add_statements(world->model, stream);
+ librdf_free_stream(stream);
+ librdf_free_model(model);
+ librdf_free_storage(storage);
+
slv2_world_unlock_if_necessary(world);
}
@@ -310,8 +320,6 @@ slv2_world_load_bundle(SLV2World world, const char* bundle_uri_str)
librdf_node* object = librdf_new_node_from_uri(world->world,
manifest_uri);
- //printf("SPEC: %s\n", librdf_uri_as_string(librdf_node_get_uri(subject)));
-
librdf_model_add(world->model, subject, predicate, object);
/* Add ?specification slv2:bundleURI <file://some/path> */
@@ -425,13 +433,11 @@ slv2_world_load_specifications(SLV2World world)
librdf_query_results* results = librdf_query_execute(q, world->model);
while (!librdf_query_results_finished(results)) {
- librdf_node* spec_node = librdf_query_results_get_binding_value(results, 0);
- librdf_uri* spec_uri = librdf_node_get_uri(spec_node);
+ librdf_node* spec_node = librdf_query_results_get_binding_value(results, 0);
+ //librdf_uri* spec_uri = librdf_node_get_uri(spec_node);
librdf_node* data_node = librdf_query_results_get_binding_value(results, 1);
librdf_uri* data_uri = librdf_node_get_uri(data_node);
- //printf("SPEC: %s / %s\n", librdf_uri_as_string(spec_uri), librdf_uri_as_string(data_uri));
-
slv2_world_load_file(world, data_uri);
librdf_free_node(spec_node);
@@ -458,7 +464,7 @@ slv2_world_load_plugin_classes(SLV2World world)
"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n"
"SELECT DISTINCT ?class ?parent ?label WHERE {\n"
//" ?plugin a ?class .\n"
- " ?class a :Class; rdfs:subClassOf ?parent; rdfs:label ?label\n"
+ " ?class a rdfs:Class; rdfs:subClassOf ?parent; rdfs:label ?label\n"
"} ORDER BY ?class\n";
librdf_query* q = librdf_new_query(world->world, "sparql",
@@ -474,8 +480,6 @@ slv2_world_load_plugin_classes(SLV2World world)
librdf_node* label_node = librdf_query_results_get_binding_value(results, 2);
const char* label = (const char*)librdf_node_get_literal_value(label_node);
- printf("CLASS: %s / %s\n", librdf_uri_as_string(parent_uri), librdf_uri_as_string(class_uri));
-
SLV2PluginClass plugin_class = slv2_plugin_class_new(world,
(const char*)librdf_uri_as_string(parent_uri),
(const char*)librdf_uri_as_string(class_uri),