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.
Utilice esta sugerencia de consulta para desactivar la promoción de tipos en una consulta de SPARQL.
Cuando envía una consulta SPARQL que incluye un FILTER
en un valor o rango numérico, normalmente el motor de consultas de Neptune debe usar la promoción de tipos cuando ejecuta la consulta. Esto significa que tiene que examinar los valores de todos los tipos que puedan contener el valor por el que se está filtrando.
Por ejemplo, si está filtrando valores iguales a 55, el motor debe buscar números enteros iguales a 55, enteros largos iguales a 55L, flotantes iguales a 55,0, etc. Cada promoción de tipo requiere una búsqueda adicional en el almacenamiento, lo que puede provocar que una consulta aparentemente simple tarde un tiempo inesperadamente largo en completarse.
A menudo, la promoción de tipos no es necesaria porque ya sabe de antemano que solo necesita encontrar valores de un tipo específico. Cuando sea así, puede acelerar considerablemente sus consultas utilizando la sugerencia de consulta rangeSafe
para desactivar la promoción de tipos.
Sintaxis de sugerencias SPARQL de rangeSafe
La sugerencia de consulta rangeSafe
toma un valor de true
para desactivar la promoción de tipos. También acepta un valor de false
(el valor predeterminado).
Ejemplo. El siguiente ejemplo muestra cómo desactivar la promoción de tipos al filtrar por un valor entero de o
superior a 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>)