Indicateurs de requête SPARQ - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Indicateurs de requête SPARQ

Vous pouvez utiliser des conseils de requête pour spécifier des stratégies d'optimisation et d'évaluation pour une requête SPARQL particulière dans Amazon Neptune.

Les indicateurs de requête sont exprimés à l'aide de modèles de triplet supplémentaires qui sont intégrés à la requête SPARQL avec les éléments suivants :

scope hint value
  • portée— Détermine la partie de la requête à laquelle s'applique l'indice de requête, par exemple un certain groupe dans la requête ou la requête complète.

  • indice— Identifie le type de conseil à appliquer.

  • valeur— Détermine le comportement de l'aspect système considéré.

Les indices de requête et les étendues sont exposés sous forme de termes prédéfinis dans l'espace de noms Amazon Neptune.http://aws.amazon.com/neptune/vocab/v01/QueryHints#. Les exemples de cette section décrivent l'espace de noms sous la forme d'un préfixe hint qui est défini et inclus dans la requête :

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

Par exemple, le code suivant montre comment inclure un indicateur joinOrder dans une requête SELECT :

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

La requête précédente indique au moteur Neptune d'évaluer les jointures de la requête dansdonnécommande et désactive toute réorganisation automatique.

Tenez compte des éléments suivants lorsque vous utilisez des indicateurs de requête :

  • Vous pouvez combiner différents indicateurs de requête dans une seule requête. Par exemple, vous pouvez utiliser l'indicateur de requête bottomUp afin d'annoter une sous-requête pour une évaluation ascendante et un indicateur de requête joinOrder pour corriger l'ordre des jointures à l'intérieur de la sous-requête.

  • Vous pouvez utiliser le même indicateur de requête plusieurs fois, dans différentes portées qui ne se chevauchent pas.

  • Les indicateurs de requête sont des suggestions. Même si le moteur de requête vise généralement à prendre en compte des indicateurs de requête donnés, il peut également les ignorer.

  • Les indicateurs de requête préservent la sémantique. L'ajout d'un indice de requête ne modifie pas le résultat de la requête (sauf en ce qui concerne l'ordre des résultats potentiel lorsqu'aucune garantie d'ordre n'est donnée, c'est-à-dire lorsque l'ordre des résultats n'est pas explicitement appliqué à l'aide de ORDER BY).

Les sections suivantes fournissent des informations supplémentaires sur les indices de requête disponibles et leur utilisation dans Neptune.

Portée des conseils de requête SPARQL dans Neptune

Le tableau suivant présente les étendues disponibles, les conseils associés et les descriptions pour les conseils de requête SPARQL dans Amazon Neptune. Dans lahintLe préfixe dans ces entrées représente l'espace de noms Neptune pour les indices :

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#>
Portée Indicateurs supportés Description
hint:Query

joinOrder

L'indicateur de requête s'applique à toute la requête.
hint:Query

Délai d'expiration de la requête

La valeur de délai d’attente s'applique à l'ensemble de la requête.
hint:Query

Gamme Safe

La promotion des types est désactivée pour l'ensemble de la requête.
hint:Query

queryId

La valeur de l'ID de requête s'applique à l'ensemble de la requête.
hint:Query

Fe d'occasion

L'utilisation du DFE est désactivée pour l'ensemble de la requête.
hint:Group

joinOrder

L'indicateur de requête s'applique aux éléments de niveau supérieur du groupe spécifié, mais pas aux éléments imbriqués (comme les sous-requêtes) ou aux éléments parents.
hint:SubQuery

evaluationStrategy

L'indicateur est spécifié et appliqué à une sous-requête SELECT imbriquée. La sous-requête est évaluée de façon indépendante, sans tenir compte des solutions calculées avant la sous-requête.