翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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、DELETE など)で 1 回のみ設定する必要があります。それ以外の場合は、 Malformed query: Query hint 'queryTimeout' must be set
only once メッセージとともに MalformedQueryException 例外がスローされます。
利用可能なスコープ
queryTimeout ヒントは、SPARQL クエリと更新の両方に適用できます。
SPARQL クエリでは、メインクエリまたはサブクエリの WHERE 句に表示されます。
SPARQL 更新では、INSERT、DELETE、または WHERE 句で設定できます。複数の更新句がある場合は、そのうちの 1 つにのみ設定できます。
クエリヒントスコープの詳細については、「Neptune における SPARQL クエリヒントの範囲。」を参照してください。
queryTimeoutSPARQL ヒントの例
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 . } } }