queryTimeout SPARQL クエリヒント - Amazon Neptune

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

queryTimeout SPARQL クエリヒント

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

このヒントの結果としてクエリが終了すると、 Operation terminated (deadline exceeded) メッセージとともに TimeLimitExceededException がスローされます。

queryTimeout SPARQL ヒント構文

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や など) で 1 回だけ設定する必要がありますDELETE。それ以外の場合は、Malformed query: Query hint 'queryTimeout' must be set only once メッセージとともに MalformedQueryException 例外がスローされます。

利用可能なスコープ

queryTimeout ヒントは、SPARQLクエリと更新の両方に適用できます。

  • SPARQL クエリでは、メインクエリまたはサブクエリの WHERE句に表示されます。

  • SPARQL 更新では、、INSERT、DELETEまたは WHERE句で設定できます。複数の更新句がある場合は、そのうちの 1 つにのみ設定できます。

クエリヒントスコープの詳細については、「Neptune のSPARQLクエリヒントの範囲」を参照してください。

queryTimeout SPARQL ヒントの例

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 . } } }