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 子句中对其进行设置。如果有多个 update 子句,则只能在其中一个中进行设置。
有关查询提示范围的更多信息,请参阅 Neptune 中的 SPARQL 查询提示范围。
queryTimeout SPARQL 提示示例
此处是在 hint:queryTimeout 主查询的 WHERE 子句中使用 UPDATE 的示例。
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 . } } }