本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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
值。否则,将会引发带 Malformed query: Query hint 'queryTimeout' must be less than
neptune_query_timeout DB Parameter Group
消息的 MalformedQueryException
异常。
queryTimeout
查询提示应在主查询的 WHERE
子句中指定,或者在某个子查询的 WHERE
子句中指定,如下例所示。
在所有查询/子查询和SPARQL更新部分(例如和)中只能设置一次。INSERT DELETE否则,将会引发带 Malformed query: Query hint 'queryTimeout' must be set
only once
消息的 MalformedQueryException
异常。
可用范围
该queryTimeout
提示既可以应用于SPARQL查询,也可以应用于更新。
在SPARQL查询中,它可以出现在主查询或子查询的子WHERE句中。
在SPARQL更新中,可以在INSERTDELETE、或WHERE子句中进行设置。如果有多个 update 子句,则只能在其中一个中进行设置。
有关查询提示范围的更多信息,请参阅 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 . } } }