

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

# Dicas de consulta do SPARQL
<a name="sparql-query-hints"></a>

É possível usar as dicas de consulta para especificar estratégias de otimização e avaliação para uma determinada consulta SPARQL no Amazon Neptune. 

As dicas de consulta são expressas usando padrões triplos adicionais incorporados na consulta SPARQL com as seguintes partes:

```
scope hint value
```
+ *escopo*: determina a parte da consulta à qual a dica de consulta se aplica, como um grupo específico na consulta ou a consulta completa.
+ *dica*: identifica o tipo de dica a ser aplicada.
+ *value*: determina o comportamento do aspecto do sistema em consideração.

As dicas de consulta e os escopos são expostos como termos predefinidos no namespace `http://aws.amazon.com/neptune/vocab/v01/QueryHints#` do Amazon Neptune. Os exemplos desta seção incluem o namespace como um prefixo `hint` que é definido e incluído na consulta:

```
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#>
```

O exemplo a seguir mostra como incluir uma dica `joinOrder` em uma consulta `SELECT`:

```
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#>
SELECT ... {
 hint:Query hint:joinOrder "Ordered" .
 ...
}
```

A consulta anterior instrui o mecanismo do Neptune a avaliar junções na consulta em *determinada* ordem e desabilita qualquer reordenação automática.

Considere o seguinte ao usar as dicas de consulta:
+ É possível combinar dicas de consulta diferentes em uma única consulta. Por exemplo, é possível usar a dica de consulta `bottomUp` para anotar uma subconsulta para uma avaliação de baixo para cima e uma dica de consulta `joinOrder` para corrigir a ordem da junção dentro da subconsulta.
+ É possível usar a mesma dica de consulta várias vezes, em diferentes escopos não sobrepostos
+ Dicas de consultas são dicas. Embora o mecanismo de consulta geralmente tenha por objetivo considerar determinadas dicas de consulta, ele também pode ignorá-las.
+ As dicas de consulta são de preservação semântica. Adicionar uma dica de consulta não altera a saída da consulta (exceto pela possível ordem dos resultados quando nenhuma garantia de ordenação é oferecida, ou seja, quando a ordem dos resultados não é aplicada explicitamente usando ORDER BY). 

As seções a seguir fornecem mais informações sobre as dicas de consulta disponíveis e o uso no Neptune.

**Topics**
+ [Escopo de dicas de consulta do SPARQL no Neptune](#sparql-query-hints-scope)
+ [A dica de consulta `joinOrder` SPARQL](sparql-query-hints-joinOrder.md)
+ [A dica de consulta `evaluationStrategy` SPARQL](sparql-query-hints-evaluationStrategy.md)
+ [A dica de consulta `queryTimeout` SPARQL](sparql-query-hints-queryTimeout.md)
+ [A dica de consulta `rangeSafe` SPARQL](sparql-query-hints-rangeSafe.md)
+ [A dica de consulta `queryId` SPARQL](sparql-query-hints-queryId.md)
+ [A dica de consulta `useDFE` SPARQL](sparql-query-hints-useDFE.md)
+ [Dicas de consulta SPARQL usadas com DESCRIBE](sparql-query-hints-for-describe.md)

## Escopo de dicas de consulta do SPARQL no Neptune
<a name="sparql-query-hints-scope"></a>

A tabela a seguir mostra os escopos disponíveis, as dicas associadas e as descrições de dicas de consulta do SPARQL no Amazon Neptune. O prefixo `hint` nessas entradas representa o namespace do Neptune para dicas:

```
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#>
```


| Escopo | Dica compatível | Description | 
| --- | --- | --- | 
| hint:Query | [joinOrder](sparql-query-hints-joinOrder.md) | A dica de consulta se aplica à consulta inteira. | 
| hint:Query | [queryTimeout](sparql-query-hints-queryTimeout.md) | O valor de tempo limite se aplica a toda a consulta. | 
| hint:Query | [rangeSafe](sparql-query-hints-rangeSafe.md) | A promoção de tipo está desabilitada para toda a consulta. | 
| hint:Query | [queryId](sparql-query-hints-queryId.md) | O valor de ID de consulta se aplica a toda a consulta. | 
| hint:Query | [useDFE](sparql-query-hints-useDFE.md) | O uso do DFE está habilitado (ou desabilitado) para toda a consulta. | 
| hint:Group | [joinOrder](sparql-query-hints-joinOrder.md) | A dica de consulta se aplica aos elementos de nível superior no grupo especificado, mas não a elementos aninhados (como as subconsultas) ou elementos pai. | 
| hint:SubQuery | [evaluationStrategy](sparql-query-hints-evaluationStrategy.md) | A dica é especificada e aplicada a uma subconsulta SELECT aninhada. A subconsulta é avaliada de maneira independente, sem considerar as soluções calculadas antes da subconsulta. | 