本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
queryTimeout
SPARQL 查詢提示
queryTimeout
查詢提示指定的逾時比資料庫參數群組中設定的 neptune_query_timeout
值短。
如果查詢因為此提示而終止,則會擲出 TimeLimitExceededException
,並帶有 Operation terminated (deadline exceeded)
訊息。
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 . ... }
逾時值以毫秒表示。
逾時值必須小於資料庫參數群組中設定的 neptune_query_timeout
值。否則,會擲出 MalformedQueryException
例外狀況,並帶有 Malformed query: Query hint 'queryTimeout' must be less than
neptune_query_timeout DB Parameter Group
訊息。
queryTimeout
查詢提示應該在主要查詢的 WHERE
子句中指定,或在其中一個子查詢的 WHERE
子句中指定,如下例所示。
在所有查詢/子查詢和SPARQL更新區段 (例如 INSERT和 DELETE) 中只能設定一次。否則,會擲出 MalformedQueryException
例外狀況,並帶有 Malformed query: Query hint 'queryTimeout' must be set
only once
訊息。
可用範圍
queryTimeout
提示可以同時套用至SPARQL查詢和更新。
在SPARQL查詢中,它可以出現在主查詢或子查詢的WHERE子句中。
在SPARQL更新中,可以在 INSERT、 DELETE或 WHERE子句中設定。如果有多個更新子句,則只能在其中一個設定。
如需更多查詢提示範圍的詳細資訊,請參閱 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 . } } }