librdf.sqlite 0.1

librdf.sqlite 0.1

测试已测试
语言语言 CC
许可协议 自定义
发布上次发布2015年11月

Marcus Rohrmoser 维护。



  • Marcus Rohrmoser

针对 SQLite RDF 三元组的 存储模块,为 librdf 提供。

跨平台,纯 C 源代码文件。针对 iOS 目标提供。

灵感来自官方的 sqlite 存储

用法

#include "rdf_storage_sqlite_mro.h"
....
librdf_world *world = librdf_new_world();
librdf_init_storage_sqlite_mro(world);  // register storage factory
....
const char* options = "new='yes', contexts='no'";
librdf_storage *newStorage = librdf_new_storage(world, LIBRDF_STORAGE_SQLITE_MRO, file_path, options);

例如,请参阅(我的)https://github.com/mro/librdf.objc

许可协议

设计目标

质量 非常好 正常 不相关
功能 ×
可靠性 ×
可用性 ×
效率 ×
可更改性 ×
可移植性 ×

目前代码约占 50%,运行时节省 99%(对于 10 万条三元组)。

  • 使用SQLite 预处理语句绑定值 人犹未尽
    • 不使用字符串缓冲区
    • 不使用 strcpy/memcpy,
    • 不进行 SQL 转义,
  • 尽可能复用编译后的语句(以牺牲线程安全性为代价),
  • 尽可能减少 SQL 语句(以牺牲一些复杂的语句为代价),
  • 使用 SQLite 索引(以牺牲数据库文件大小的代价)。