jena TDB2使用什么索引?

时间:2019-04-10 11:54:27

标签: apache jena indices tdb

我正在尝试找出TDB2构建的索引。我通过代码发现它使用B +树将它们存储在磁盘上,但是我没有得到它们包含的内容以及如何使用它们。

所以我的详细问题是:

  • 它为RDF的三个排序顺序(如SPO,SOP,POS,PSO等)建立索引吗?
  • RDF术语如何编码和存储?
  • 使用哪种策略将索引加载到主内存中? (我希望分页)?

如果您能向我提出白皮书或与TDB2的软件设计类似的内容,也会对我有帮助。我搜索了它,但找不到任何东西。

1 个答案:

答案 0 :(得分:2)

对于每个RDF术语(文字的URI,空白节点),TDB2都有一个“ id”。 id是固定长度64。另一种说法是保留字典。

对于三元组,它保留SPO,POS和OSP(这是可配置的,但这是默认设置)。一个三元组作为这些ID存储在索引中-因此每个三元组3个ID。固定长度。

索引是默认情况下堆外的内存映射文件。它们提供了良好的可用性。

这是当前的默认设置。该代码隔离了更改,例如64位ID可能更长,可以选择不同的索引。