本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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>)