我查看了redland文档,但有些问题我无法解决。
在c ++方面看一下,假设你随着时间的推移为几个不同的图生成了大量的rdf三元组,并且知道将所有图形都存储在内存中并不感兴趣:
是否可以使用redland执行单个/批量插入(写入持久存储)而不将图形保留在内存中,以及如何调整此类插入?
如果我们忘记了查询,那么什么是一种很好的持久存储方式:文件或数据库?
您怎么看?
答案 0 :(得分:2)
是否可以使用redland执行单个/批量插入(写入持久存储)而不将图形保留在内存中,以及如何调整此类插入?
是。创建一个librdf_storage
对象,您希望存储数据并将其传递给librdf_new_model()
。然后使用任何API函数(例如librdf_parser_parse_into_model()
)将数据存储在该模型中,并将其保存在存储中。
如果以这种方式编写librdf存储模块,则图形仅保留在内存中。
如果我们忘记了查询,那么什么是一种很好的持久存储方式:文件或数据库?
file
存储并非真正适用于严肃的业务。它将图形保留在内存中,并通过序列化到RDF / XML或从RDF / XML继续存储到磁盘。
使用数据库支持的存储,例如mysql
或BDB hashes
。