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

L'indicateur de requête queryTimeout spécifie un délai d'expiration qui est inférieur à la valeur neptune_query_timeout définie dans le groupe de paramètres de base de données.

Si la requête se termine en raison de cet indicateur, une exception TimeLimitExceededException est déclenchée avec le message Operation terminated (deadline exceeded).

queryTimeoutSPARQLsyntaxe des indices

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> SELECT ... WHERE { hint:Query hint:queryTimeout 10 . # OR hint:Query hint:queryTimeout "10" . # OR hint:Query hint:queryTimeout "10"^^xsd:integer . ... }

La valeur de délai d'attente est exprimée en millisecondes.

La valeur de délai d'attente doit être inférieure à la valeur neptune_query_timeout définie dans le groupe de paramètres de base de données. Sinon, une exception MalformedQueryException est déclenchée avec le message Malformed query: Query hint 'queryTimeout' must be less than neptune_query_timeout DB Parameter Group.

L'indicateur de requête queryTimeout doit être spécifié dans la clause WHERE de la requête principale ou dans la clause WHERE de l'une des sous-requêtes, comme dans l'exemple ci-dessous.

Il ne doit être défini qu'une seule fois dans toutes les requêtes/sous-requêtes et dans les sections SPARQL Mises à jour (telles que et). INSERT DELETE Sinon, une exception MalformedQueryException est déclenchée avec le message Malformed query: Query hint 'queryTimeout' must be set only once.

Portées disponibles

L'queryTimeoutindice peut être appliqué à la fois aux SPARQL requêtes et aux mises à jour.

  • Dans une SPARQL requête, il peut apparaître dans la WHERE clause de la requête principale ou dans une sous-requête.

  • Dans une SPARQL mise à jour, il peut être défini dans la WHERE clause INSERTDELETE, ou. S'il existe plusieurs clauses de mise à jour, il ne peut être défini que dans l'une d'elles.

Pour plus d'informations sur les portées d'indicateur de requête, consultez Portée des indices de SPARQL requête dans Neptune.

queryTimeoutSPARQLexemple d'indice

Voici un exemple d'utilisation de hint:queryTimeout dans la clause WHERE principale d’une requête UPDATE :

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> INSERT { ?s ?p ?o } WHERE { hint:Query hint:queryTimeout 100 . ?s ?p ?o . }

Ici, le hint:queryTimeout est dans la clause WHERE d'une sous-requête :

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> SELECT * { ?s ?p ?o . { SELECT ?s WHERE { hint:Query hint:queryTimeout 100 . ?s ?p1 ?o1 . } } }