summaryrefslogtreecommitdiffstats
path: root/src/RDFModel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/RDFModel.cpp')
-rw-r--r--src/RDFModel.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/RDFModel.cpp b/src/RDFModel.cpp
index d1a1c64..9d8fac1 100644
--- a/src/RDFModel.cpp
+++ b/src/RDFModel.cpp
@@ -57,11 +57,22 @@ Model::Model(World& world, const Glib::ustring& data_uri, Glib::ustring base_uri
librdf_uri* base_uri = NULL;
if (base_uri_str != "")
base_uri = librdf_new_uri(world.world(), (const unsigned char*)base_uri_str.c_str());
- librdf_parser* parser = librdf_new_parser(world.world(), "guess", NULL, NULL);
- librdf_parser_parse_into_model(parser, uri, base_uri, _model);
- librdf_free_uri(base_uri);
- librdf_free_uri(uri);
- librdf_free_parser(parser);
+
+ if (uri) {
+ librdf_parser* parser = librdf_new_parser(world.world(), "guess", NULL, NULL);
+ librdf_parser_parse_into_model(parser, uri, base_uri, _model);
+
+
+ librdf_free_parser(parser);
+ } else {
+ cerr << "Unable to create URI " << data_uri << endl;
+ }
+
+ if (base_uri)
+ librdf_free_uri(base_uri);
+
+ if (uri)
+ librdf_free_uri(uri);
/*cout << endl << "Loaded model from " << data_uri << ":" << endl;
serialize_to_file_handle(stdout);