SPARQLsugerencias de consulta - 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.

SPARQLsugerencias de consulta

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

Las sugerencias de consulta se expresan mediante patrones triples adicionales que se incrustan en la SPARQL consulta y que constan de 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. Añadir una sugerencia de consulta no cambia el resultado de la consulta (excepto en lo que respecta al posible orden de los resultados, cuando no se ofrecen garantías de ordenación, es decir, cuando el orden de los resultados no se aplica explícitamente mediante ORDER BY).

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

Alcance de las sugerencias de SPARQL consulta en Neptune

En la siguiente tabla se muestran los ámbitos disponibles, las sugerencias asociadas y las descripciones de las sugerencias de SPARQL consulta 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

usar DFE

El uso de 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 SELECT subconsulta anidada. La subconsulta se evalúa de forma independiente, sin tener en cuenta las soluciones calculadas antes de la subconsulta.