summaryrefslogtreecommitdiffstats
path: root/sord
diff options
context:
space:
mode:
Diffstat (limited to 'sord')
-rw-r--r--sord/sord.h9
-rw-r--r--sord/sordmm.hpp15
2 files changed, 19 insertions, 5 deletions
diff --git a/sord/sord.h b/sord/sord.h
index 4941291..d14e64a 100644
--- a/sord/sord.h
+++ b/sord/sord.h
@@ -427,12 +427,15 @@ sord_quad_match(const SordQuad x, const SordQuad y);
/**
Read a file into a model.
+
+ The @c base_uri may be NULL, in which case @c uri will be used.
*/
SORD_API
bool
sord_read_file(SordModel* model,
SerdEnv* env,
const uint8_t* uri,
+ const uint8_t* base_uri,
SordNode* graph,
const uint8_t* blank_prefix);
@@ -481,6 +484,12 @@ sord_write_file_handle(SordModel* model,
SordNode* graph,
const uint8_t* blank_prefix);
+SORD_API
+bool
+sord_write_writer(SordModel* model,
+ SerdWriter* writer,
+ SordNode* graph);
+
/**
Write a model to a string.
diff --git a/sord/sordmm.hpp b/sord/sordmm.hpp
index 854e647..6f9391b 100644
--- a/sord/sordmm.hpp
+++ b/sord/sordmm.hpp
@@ -390,13 +390,15 @@ public:
inline const Node& base_uri() const { return _base; }
- inline void load_file(SerdEnv* env, const std::string& uri);
+ inline void load_file(SerdEnv* env,
+ const std::string& uri,
+ const std::string& base_uri="");
inline void load_string(SerdEnv* env,
const char* str,
size_t len,
const std::string& base_uri,
- const std::string lang = "turtle");
+ const std::string lang="turtle");
inline void write_to_file_handle(FILE* fd, const char* lang);
inline void write_to_file(const std::string& uri, const char* lang);
@@ -451,11 +453,14 @@ inline Model::~Model()
}
inline void
-Model::load_file(SerdEnv* env, const std::string& data_uri)
+Model::load_file(SerdEnv* env,
+ const std::string& data_uri,
+ const std::string& base_uri)
{
// FIXME: blank prefix
- sord_read_file(_c_obj, env, (const uint8_t*)data_uri.c_str(), NULL,
- (const uint8_t*)"b");
+ sord_read_file(_c_obj, env, (const uint8_t*)data_uri.c_str(),
+ (base_uri == "") ? NULL : (const uint8_t*)base_uri.c_str(),
+ NULL, (const uint8_t*)"b");
}
inline void