Sugerencias de consulta SPARQL - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Sugerencias de consulta SPARQL

Puede utilizar sugerencias de consulta para especificar estrategias de optimización y evaluación para una consulta SPARQL concreta en Amazon Neptune.

Las sugerencias de consulta se expresan utilizando patrones triples adicionales que están insertados en la consulta SPARQL con las siguientes partes:

scope hint value
  • scope: determina la parte de la consulta a la que se aplica la sugerencia de consulta, como un grupo determinado de la consulta o la consulta completa.

  • hint: identifica el tipo de sugerencia que se va a aplicar.

  • value: determina el comportamiento del aspecto del sistema considerado.

Las sugerencias y los ámbitos de consulta se exponen como términos predefinidos en el espacio de nombres http://aws.amazon.com/neptune/vocab/v01/QueryHints# de Amazon Neptune. Los ejemplos de esta sección incluyen el espacio de nombres como un prefijo hint que se define y se incluye en la consulta:

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

Por ejemplo, a continuación se muestra cómo incluir una sugerencia joinOrder en una consulta SELECT:

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

La consulta anterior indica al motor de Neptune que evalúe las uniones en la consulta en el orden indicado y deshabilita cualquier reordenación automática.

Tenga en cuenta lo siguiente al usar sugerencias de consulta:

  • Puede combinar diferentes sugerencias de consulta en una sola consulta. Por ejemplo, puede utilizar la sugerencia de consulta bottomUp para anotar una subconsulta para la evaluación ascendente y una sugerencia de consulta joinOrder para corregir el orden de unión dentro de la subconsulta.

  • Puede utilizar la misma sugerencia de consulta varias veces, en diferentes ámbitos no solapados.

  • Las sugerencias de consulta son sugerencias. Aunque el motor de consulta generalmente tiene como objetivo tener en cuenta determinadas sugerencias de consulta, también puede ignorarlas.

  • Las sugerencias de consulta mantienen la semántica. La adición de una sugerencia de consulta no modifica la salida de la consulta (excepto el orden potencial de los resultados cuando no se dan garantías de ordenación, es decir, cuando el orden de los resultados no se aplica explícitamente mediante el uso de ORDER BY).

En las siguientes secciones se proporciona más información sobre las sugerencias de consulta disponibles y su uso en Neptune.

Ámbito de las sugerencias de consulta SPARQL en Neptune

En la siguiente tabla, se muestran los ámbitos disponibles, las sugerencias asociadas y las descripciones para las sugerencias de consulta SPARQL en Amazon Neptune. El prefijo hint en estas entradas representa el espacio de nombres de Neptune para las sugerencias:

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#>
Ámbito Sugerencia admitida Descripción
hint:Query

joinOrder

La sugerencia de consulta se aplica a toda la consulta.
hint:Query

queryTimeout

El valor de expiración se aplica a toda la consulta
hint:Query

rangeSafe

La promoción de tipos está deshabilitada para toda la consulta.
hint:Query

queryId

El valor del identificador de consulta se aplica a toda la consulta
hint:Query

useDFE

El uso del DFE está habilitado (o deshabilitado) para toda la consulta.
hint:Group

joinOrder

La sugerencia de consulta se aplica a los elementos de nivel superior del grupo especificado, pero no a los elementos anidados (como las subconsultas) o a los elementos principales.
hint:SubQuery

evaluationStrategy

La sugerencia se especifica y se aplica a una subconsulta SELECT anidada. La subconsulta se evalúa de forma independiente, sin tener en cuenta las soluciones calculadas antes de la subconsulta.