

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Der SPARQL-Abfragehinweis `queryTimeout`
<a name="sparql-query-hints-queryTimeout"></a>

Der `queryTimeout`-Abfragehinweis gibt eine Zeitüberschreitung an, die kürzer ist als der `neptune_query_timeout`-Wert, der in der DB-Parameter-Gruppe festlegt ist.

Wenn die Abfrage aufgrund dieses Hinweises beendet wird, wird ein`TimeLimitExceededException` mit einer `Operation terminated (deadline exceeded)`- Nachricht ausgelöst. Ob Sie eine Abfrage, bei der das Timeout abgelaufen ist, erneut versuchen sollten, hängt von der Art des Fehlers und Ihrer Arbeitslast ab. Anleitungen finden Sie unter [Ausnahmebehandlung und Wiederholungen](transactions-exceptions.md).

## SPARQL-Hinweissyntax `queryTimeout`
<a name="sparql-query-hints-queryTimeout-syntax"></a>

```
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 .
 ...
}
```

Der Timeout-Wert wird in Millisekunden angegeben.

Der Timeout-Wert muss kleiner sein als der in der DB-Parametergruppe festgelegte `neptune_query_timeout`-Wert. Andernfalls wird eine `MalformedQueryException`-Ausnahme mit einer `Malformed query: Query hint 'queryTimeout' must be less than neptune_query_timeout DB Parameter Group`-Nachricht ausgelöst.

Der `queryTimeout`-Abfragehinweis sollte in der `WHERE`-Klausel der Hauptabfrage oder in der `WHERE`-Klausel einer der Unterabfragen, wie im nachfolgenden Beispiel dargestellt, angegeben werden.

Sie darf für alle Abschnitte queries/subqueries und SPARQL-Updates (wie INSERT und DELETE) nur einmal gesetzt werden. Andernfalls wird eine `MalformedQueryException`-Ausnahme mit einer `Malformed query: Query hint 'queryTimeout' must be set only once`-Nachricht ausgelöst.

**Verfügbare Bereiche**

Der `queryTimeout`-Hinweis kann sowohl auf SPARQL-Abfragen als auch auf Updates angewendet werden.
+ In einer SPARQL-Abfrage kann sie in der WHERE-Klausel der Hauptabfrage oder einer Unterabfrage erscheinen.
+ In einem SPARQL-Update kann er in der INSERT-, DELETE- oder WHERE-Klausel festgelegt werden. Wenn es mehrere Update-Klauseln gibt, kann er nur in einer davon festgelegt werden.

Weitere Informationen zu Bereichen von Abfragehinweisen finden Sie unter [Bereich der SPARQL-Abfragehinweise in Neptune](sparql-query-hints.md#sparql-query-hints-scope).

## Beispiel für einen SPARQL-Hinweis `queryTimeout`
<a name="sparql-query-hints-queryTimeout-example"></a>

Hier finden Sie ein Beispiel für die Verwendung von `hint:queryTimeout` in der `WHERE`-Hauptklausel einer `UPDATE`-Abfrage:

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

Hier ist `hint:queryTimeout` eine Unterabfrage in der `WHERE`-Klausel:

```
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 .
      }
   }
}
```