

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di Gremlin con il motore di query Neptune DFE
<a name="gremlin-with-dfe"></a>

Se abiliti il motore di [query alternativo di](neptune-dfe-engine.md) Neptune noto come DFE ([neptune\$1dfe\$1query\$1engine](parameters.md#parameters-instance-parameters-neptune_dfe_query_engine)impostando il parametro di istanza su`enabled`), Neptune traduce queries/traversals Gremlin di sola lettura in una rappresentazione logica intermedia e li esegue sul motore DFE quando possibile.

Tuttavia, il motore DFE non supporta ancora tutti i passaggi Gremlin. Quando un passaggio non può essere eseguito in modo nativo sul DFE, Neptune torna a eseguire il passaggio. TinkerPop I report `explain` e `profile` includono avvisi quando ciò accade.

## Interleaving della pianificazione delle query
<a name="gremlin-with-dfe-interleaving"></a>

Quando il processo di conversione incontra un passaggio Gremlin che non ha un operatore DFE nativo corrispondente, prima di tornare a usare Tinkerpop cerca di trovare altre parti di query intermedie che possano essere eseguite in modo nativo sul motore DFE. Lo fa applicando la logica di interleaving all'attraversamento di livello superiore. Il risultato è che i passaggi supportati vengono utilizzati laddove possibile.

Tale conversione di query intermedia, senza prefisso viene rappresentata utilizzando `NeptuneInterleavingStep` negli output di `explain` e `profile`.

Per confrontare le prestazioni, si potrebbe voler disattivare l'interleaving in una query, continuando a utilizzare il motore DFE per eseguire la parte del prefisso. In alternativa, potresti voler utilizzare solo il TinkerPop motore per l'esecuzione di query senza prefisso. A tale scopo, utilizzare l'hint di query `disableInterleaving`.

Proprio come l'hint di query [useDFE](gremlin-query-hints-useDFE.md) con il valore `false` impedisce del tutto l'esecuzione di una query sul motore DFE, l'hint di query `disableInterleaving` con il valore `true` disattiva l'interleaving del motore DFE per la conversione di una query. Esempio:

```
g.with('Neptune#disableInterleaving', true)
 .V().has('genre','drama').in('likes')
```

## Output aggiornato di `explain` e `profile` di Gremlin
<a name="gremlin-with-dfe-explain-update"></a>

Gremlin [explain](gremlin-explain.md) fornisce dettagli sull'attraversamento ottimizzato utilizzato da Neptune per eseguire una query. Consultare l'[output di esempio di `explain` del motore DFE](gremlin-explain-api.md#gremlin-explain-dfe) per un esempio di come appare l'output di `explain` quando il motore DFE è abilitato.

L'[API Gremlin `profile`](gremlin-profile-api.md) esegue un attraversamento Gremlin specificato, raccoglie varie metriche sull'esecuzione e produce un report di profile che contiene dettagli sul piano di interrogazione ottimizzato e sulle statistiche di runtime di vari operatori. Consultare l'[output di esempio di `profile` del motore DFE](gremlin-profile-api.md#gremlin-profile-sample-dfe-output) per un esempio di come appare l'output di `profile` quando il motore DFE è abilitato.

**Nota**  
Poiché il supporto DFE per Gremlin è una funzionalità sperimentale, il formato esatto dell'`profile`output `explain` e è soggetto a modifiche.