

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# `queryTimeout` SPARQL クエリヒント
<a name="sparql-query-hints-queryTimeout"></a>

`queryTimeout` クエリヒントは、DB パラメータグループに設定されている `neptune_query_timeout` 値より短いタイムアウトを指定します。

このヒントの結果としてクエリが終了すると、 `Operation terminated (deadline exceeded)` メッセージとともに `TimeLimitExceededException` がスローされます。タイムアウトしたクエリを再試行するかどうかは、障害の性質とワークロードによって異なります。ガイダンスについては、「[例外処理と再試行](transactions-exceptions.md)」を参照してください。

## `queryTimeout` SPARQL ヒント構文
<a name="sparql-query-hints-queryTimeout-syntax"></a>

```
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#>
SELECT ... WHERE {
    hint:Query hint:queryTimeout 10 .
    # OR
    hint:Query hint:queryTimeout "10" .
    # OR
    hint:Query hint:queryTimeout "10"^^xsd:integer .
 ...
}
```

タイムアウト値はミリ秒単位で表されます。

タイムアウト値は、DB `neptune_query_timeout` パラメーターグループで設定された値より小さくする必要があります。それ以外の場合は、 `Malformed query: Query hint 'queryTimeout' must be less than neptune_query_timeout DB Parameter Group` メッセージとともに `MalformedQueryException` 例外がスローされます。

`queryTimeout` クエリヒントは、メインクエリの `WHERE` 句、または次の例に示すようにいずれかのサブクエリの `WHERE` 句に指定する必要があります。

すべてのクエリ / サブクエリおよび SPARQL 更新セクション（INSERT、DELETE など）で 1 回のみ設定する必要があります。それ以外の場合は、 `Malformed query: Query hint 'queryTimeout' must be set only once` メッセージとともに `MalformedQueryException` 例外がスローされます。

**利用可能なスコープ**

`queryTimeout` ヒントは、SPARQL クエリと更新の両方に適用できます。
+ SPARQL クエリでは、メインクエリまたはサブクエリの WHERE 句に表示されます。
+ SPARQL 更新では、INSERT、DELETE、または WHERE 句で設定できます。複数の更新句がある場合は、そのうちの 1 つにのみ設定できます。

クエリヒントスコープの詳細については、「[Neptune における SPARQL クエリヒントの範囲。](sparql-query-hints.md#sparql-query-hints-scope)」を参照してください。

## `queryTimeout`SPARQL ヒントの例
<a name="sparql-query-hints-queryTimeout-example"></a>

`UPDATE` クエリのメイン `WHERE` 句で `hint:queryTimeout` を使用する例を示します。

```
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#>
INSERT {
    ?s ?p ?o
} WHERE {
    hint:Query hint:queryTimeout 100 .
    ?s ?p ?o .
}
```

ここで、`hint:queryTimeout` はサブクエリの `WHERE` 句にあります。

```
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#>
SELECT * {
   ?s ?p ?o .
   {
      SELECT ?s WHERE {
         hint:Query hint:queryTimeout 100 .
         ?s ?p1 ?o1 .
      }
   }
}
```