

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# A dica de consulta `queryTimeout` SPARQL
<a name="sparql-query-hints-queryTimeout"></a>

A dica de consulta `queryTimeout` especifica um tempo limite menor do que o valor `neptune_query_timeout` definido no grupo de parâmetros do banco de dados.

Se a consulta for encerrada como resultado dessa dica, um `TimeLimitExceededException` será lançado com uma mensagem `Operation terminated (deadline exceeded)`. A repetição de uma consulta com tempo limite depende da natureza da falha e da sua carga de trabalho. Para obter orientações, consulte [Tratamento de exceções e novas tentativas](transactions-exceptions.md).

## Sintaxe de dica `queryTimeout` SPARQL
<a name="sparql-query-hints-queryTimeout-syntax"></a>

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

O valor de tempo limite é expresso em milissegundos.

O valor de tempo limite deve ser menor que o valor `neptune_query_timeout` definido no grupo de parâmetros de banco de dados. Caso contrário, uma exceção `MalformedQueryException` será gerada com uma mensagem `Malformed query: Query hint 'queryTimeout' must be less than neptune_query_timeout DB Parameter Group`.

A dica de consulta `queryTimeout` deve ser especificada na cláusula `WHERE` da consulta principal, ou na cláusula `WHERE` de uma das subconsultas, conforme mostrado no exemplo a seguir.

Ele deve ser definido somente uma vez em todas as queries/subqueries seções de atualizações do SPARQL (como INSERT e DELETE). Caso contrário, uma exceção `MalformedQueryException` será gerada com uma mensagem `Malformed query: Query hint 'queryTimeout' must be set only once`.

**Escopos disponíveis**

A dica `queryTimeout` pode ser aplicada a consultas e atualizações SPARQL.
+ Em uma consulta SPARQL, ela pode aparecer na cláusula WHERE da consulta principal ou em uma subconsulta.
+ Em uma atualização SPARQL, ela pode ser definida na cláusula INSERT, DELETE ou WHERE. Se houver várias cláusulas de atualização, ela só poderá ser definida em uma delas.

Para obter mais informações sobre escopos de dica de consulta, consulte [Escopo de dicas de consulta do SPARQL no Neptune](sparql-query-hints.md#sparql-query-hints-scope).

## Exemplo de dica `queryTimeout` SPARQL
<a name="sparql-query-hints-queryTimeout-example"></a>

Veja um exemplo de uso de `hint:queryTimeout` na cláusula principal `WHERE` de uma consulta `UPDATE`:

```
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#>
INSERT {
    ?s ?p ?o
} WHERE {
    hint:Query hint:queryTimeout 100 .
    ?s ?p ?o .
}
```

Aqui, `hint:queryTimeout` está na cláusula `WHERE` de uma subconsulta:

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