我正在尝试将数据加载到 Allegro Graph 服务器中,其中一个参数是--with-indices
. 任何人都可以解释它是关于什么的吗?
我已经阅读了整个 Allegro Graph 文档,其中提到索引可以是spogi
、sopgi
等,但没有提及它们的含义。
请准确解释。(我不是要求 , 等的完整形式spogi
。sopgi
我想要的是它们的确切含义。)
我正在尝试将数据加载到 Allegro Graph 服务器中,其中一个参数是--with-indices
. 任何人都可以解释它是关于什么的吗?
我已经阅读了整个 Allegro Graph 文档,其中提到索引可以是spogi
、sopgi
等,但没有提及它们的含义。
请准确解释。(我不是要求 , 等的完整形式spogi
。sopgi
我想要的是它们的确切含义。)
您的三元组存储包含三元组spo
(主语、谓语、宾语)。针对如此存储的图的查询可能必须遍历大量图才能找到与您的查询匹配的节点。AllegroGraph 可以存储使遍历更快的索引:例如,查找所有首先匹配的谓词以及附加的主语和宾语节点,它可以使用首先找到谓词的索引pso
。如果你的三元组有命名图,你可以添加g
,并且你所有的三元组都有 ids i
。所以 AG 可以使用索引psogi
。(来自文档:AllegroGraph 三重索引)
AG 三重存储是使用一组默认索引创建的。生成专门的索引是资源密集型的,但是如果您知道您将获得什么样的查询,您可能会发现指定适当的索引以优化响应时间是值得的。
如果您从命令行加载:
以下示例将单个文件加载到 AllegroGraph 中。
./agload --with-indices "ospgi,posgi,spogi" 三元组存储将生成三个三元组索引:ospgi、posgi 和 spogi。
(来自文档agload
)
如果您使用的是 REST 接口,则可以使用指定的索引创建存储库:
PUT /repositories/[名称]
使用参数index
:
index 可以指定任意次数。应该保存索引 ID,并用于配置为存储创建的索引集。
(来自文档put repo
)
或者您可以加载您的三元组,然后执行以下操作:
PUT /repositories/[name]/indices/[type] 确保 type 指示的索引存在于此存储中。在提交时生效(当然,在使用共享后端或自动提交会话时立即生效)。
(来自文档put index
)