diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/RDFModel.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/RDFModel.cpp b/src/RDFModel.cpp index d05864f..080eb24 100644 --- a/src/RDFModel.cpp +++ b/src/RDFModel.cpp @@ -46,7 +46,7 @@ Model::Model(RDF::World& world) /** Load a model from a URI (local file or remote). */ -Model::Model(World& world, const Glib::ustring& data_uri) +Model::Model(World& world, const Glib::ustring& data_uri, Glib::ustring base_uri_str) : _world(world) , _serializer(NULL) { @@ -54,8 +54,12 @@ Model::Model(World& world, const Glib::ustring& data_uri) _model = librdf_new_model(_world.world(), _storage, NULL); librdf_uri* uri = librdf_new_uri(world.world(), (const unsigned char*)data_uri.c_str()); + 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, NULL, _model); + librdf_parser_parse_into_model(parser, uri, base_uri, _model); + librdf_free_uri(base_uri); librdf_free_uri(uri); librdf_free_parser(parser); |