rangeSafe SPARQL 查询提示 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

rangeSafe SPARQL 查询提示

使用此查询提示可关闭 SPARQL 查询的类型提升。

当您提交对数值或范围进行 FILTER 的 SPARQL 查询时,Neptune 查询引擎在执行查询时通常必须使用类型提升。这意味着它必须检查每种类型的值,这些值可能包含您正在筛选的值。

例如,如果要筛选等于 55 的值,则引擎必须查找等于 55 的整数、等于 55L 的长整数、等于 55.0 的浮点数,依此类推。每个类型提升都需要在存储上进行额外查找,这可能会导致看似简单的查询需要意想不到的长时间才能完成。

通常没有必要进行类型提升,因为您事先知道只需要查找一种特定类型的值即可。在这种情况下,您可以使用 rangeSafe 查询提示来关闭类型提升,从而大大加快查询速度。

rangeSafe SPARQL 提示语法

rangeSafe 查询提示的值为 true 将关闭类型提升。它还接受值 false(默认值)。

示例。以下示例说明在对大于 1 的 o 整数值进行筛选时如何关闭类型提升:

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> SELECT * { ?s ?p ?o . hint:Prior hint:rangeSafe 'true' . FILTER (?o > '1'^^<http://www.w3.org/2001/XMLSchema#int>)