A dica de consulta queryTimeout SPARQL - Amazon Neptune

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 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).

Sintaxe de dica 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 . ... }

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.

Ela deve ser definida apenas uma vez em todas as consultas/subconsultas e seções de atualização 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.

Exemplo de dica queryTimeout SPARQL

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