L'indice rangeSafe SPARQL de requête - 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.

L'indice rangeSafe SPARQL de requête

Utilisez cet indice de requête pour désactiver la promotion de type pour une SPARQL requête.

Lorsque vous soumettez une SPARQL requête qui inclut une FILTER valeur ou une plage numérique supérieure à une valeur, le moteur de requêtes Neptune doit normalement utiliser la promotion de type lorsqu'il exécute la requête. Autrement dit, il doit examiner les valeurs de tous les types susceptibles de contenir la valeur sur laquelle porte le filtre.

Par exemple, si vous filtrez les valeurs égales à 55, le moteur doit rechercher les entiers égaux à 55, les entiers longs égaux à 55L, les nombres flottants égaux à 55,0, etc. Chaque promotion de type implique une recherche supplémentaire au niveau du stockage, ce qui peut entraîner un délai étonnamment long pour terminer une requête apparemment simple.

Souvent, la promotion de type n'est pas nécessaire, car vous savez déjà que vous n'avez besoin de trouver que les valeurs d'un type spécifique. Dans ce cas, vous pouvez accélérer considérablement les requêtes en utilisant l'indicateur de requête rangeSafe afin de désactiver la promotion de type.

rangeSafeSPARQLsyntaxe des indices

L'indicateur de requête rangeSafe utilise la valeur true pour désactiver la promotion de type. Il accepte également la valeur false (valeur par défaut).

Exemple. L'exemple suivant montre comment désactiver la promotion de type lors du filtrage d'une valeur entière o supérieure à 1 :

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> SELECT * { ?s ?p ?o . hint:Prior hint:rangeSafe 'true' . FILTER (?o > '1'^^<http://www.w3.org/2001/XMLSchema#int>)