

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

# `rangeSafe` SPARQL 查询提示
<a name="sparql-query-hints-rangeSafe"></a>

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

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

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

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

## `rangeSafe` SPARQL 提示语法
<a name="sparql-query-hints-rangeSafe-syntax"></a>

`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>)
```