1

我查看了 redland 文档,有些问题我无法确定解决。

在 c++ 方面,假设您随着时间的推移为几个不同的图生成大量 rdf 三元组,并且知道将所有图都放在内存中并不感兴趣:

是否可以使用 redland 执行单个/批量插入(写入持久存储)而不将图形保存在内存中,您将如何调整此类插入?

如果我们忘记了查询,那么什么是一种好的持久存储方式:文件还是数据库?

你怎么看?

4

1 回答 1

2

是否可以使用 redland 执行单个/批量插入(写入持久存储)而不将图形保存在内存中,您将如何调整此类插入?

是的。创建一个librdf_storage您希望存储数据的对象并将其传递给librdf_new_model(). 然后使用任何 API 函数,例如librdf_parser_parse_into_model()将数据存储在该模型中,并将其持久保存在存储中。

仅当 librdf 存储模块以这种方式编写时,该图才会保存在内存中。

如果我们忘记了查询,那么什么是一种好的持久存储方式:文件还是数据库?

file存储并不是真正用于严肃的业务。它将图形保存在内存中,并通过与 RDF/XML 进行序列化来持久化到磁盘。

使用数据库支持的存储,例如mysql或 BDB hashes

于 2014-03-16T16:50:54.773 回答