【问题标题】:What is --with-indices in AllegroGraphAllegroGraph 中的 --with-indices 是什么
【发布时间】:2015-01-26 05:16:46
【问题描述】:
我正在尝试将数据加载到 Allegro Graph 服务器中,其中一个参数是 --with-indices。谁能解释一下这是怎么回事?
我已阅读整个 Allegro Graph 文档,其中提到索引可以是 spogi、sopgi 等,但没有提及它们的含义。
请准确解释。 (我不是要spogi、sopgi等的完整形式。我想要的是它们的确切含义。)
【问题讨论】:
标签:
import
upload
graph-databases
allegrograph
【解决方案1】:
您的三元组存储包含三元组spo(主语、谓语、宾语)。针对如此存储的图的查询可能必须遍历大量图才能找到与您的查询匹配的节点。 AllegroGraph 可以存储使遍历更快的索引:例如,查找所有首先匹配的谓词以及附加的主语和宾语节点,它可以使用首先查找谓词的索引pso。如果你的三元组有命名图,你可以添加g,并且你所有的三元组都有 ids i。所以 AG 可以使用索引psogi。 (来自文档:AllegroGraph Triple Indices)
使用一组默认索引创建 AG 三元存储。生成专门的索引是资源密集型的,但如果您知道您将获得哪些类型的查询,您可能会发现指定适当的索引以优化响应时间是值得的。
如果您从命令行加载:
以下示例将单个文件加载到 AllegroGraph 中。
./agload --with-indices "ospgi,posgi,spogi"
三元组存储会生成三个三元组索引:ospgi、posgi 和 spogi。
(来自docs for agload)
如果您使用的是 REST 接口,则可以使用指定的索引创建存储库:
PUT /repositories/[名称]
带参数index:
索引
可以指定任意次数。应该保存索引 ID,并且
用于配置为商店创建的索引集。
(来自docs for put repo)
或者你可以加载你的三元组,然后这样做:
PUT /repositories/[name]/indices/[type] 确保索引
由类型指示的存在于这家商店中。提交时生效
时间(当然,在使用共享后端或
一个自动提交会话)。
(来自docs for put index)