

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.

# Utilisation de Gremlin avec le moteur de requêtes Neptune DFE
<a name="gremlin-with-dfe"></a>

Si vous activez le [moteur de requête alternatif](neptune-dfe-engine.md) de Neptune, connu sous le nom de DFE (en définissant le paramètre d'[neptune\_dfe\_query\_engine](parameters.md#parameters-instance-parameters-neptune_dfe_query_engine)instance sur`enabled`), Neptune traduit G705 queries/traversals en lecture seule en une représentation logique intermédiaire et les exécute sur le moteur DFE chaque fois que cela est possible.

Cependant, le DFE ne prend pas encore en charge toutes les étapes Gremlin. Lorsqu'une étape ne peut pas être exécutée en mode natif sur le DFE, Neptune recourt à nouveau TinkerPop pour exécuter l'étape. Les rapports `explain` et `profile` incluent des avertissements lorsque cela se produit.

## Entrelacement de la planification des requêtes
<a name="gremlin-with-dfe-interleaving"></a>

Lorsque le processus de conversion identifie une étape Gremlin qui n'a pas d'opérateur DFE natif correspondant, avant de revenir à Tinkerpop, il essaie de trouver d'autres parties de requête intermédiaires pouvant être exécutées nativement sur le moteur DFE. Pour ce faire, il applique une logique d'entrelacement à la traversée de niveau supérieur. De la sorte, les étapes prises en charge sont utilisées dans la mesure du possible.

Toute conversion de requête intermédiaire sans préfixe est représentée à l'aide de `NeptuneInterleavingStep` dans les sorties `explain` et `profile`.

Pour comparer les performances, vous pouvez désactiver l'entrelacement dans une requête, tout en utilisant le moteur DFE pour exécuter la partie avec préfixe. Vous pouvez également utiliser uniquement le TinkerPop moteur pour l'exécution de requêtes sans préfixe. Pour ce faire, vous avez besoin d'un indicateur de requête `disableInterleaving`.

Tout comme l'indicateur de requête [useDFE](gremlin-query-hints-useDFE.md) avec la valeur `false` empêche totalement l'exécution d'une requête sur le DFE, l'indicateur requête `disableInterleaving` avec la valeur `true` désactive l'entrelacement DFE pour la conversion d'une requête. Par exemple :

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

## Mise à jour de la sortie Gremlin `explain` et `profile`
<a name="gremlin-with-dfe-explain-update"></a>

Gremlin [explain](gremlin-explain.md) fournit des informations sur la traversée optimisée que Neptune utilisera pour exécuter une requête. Consultez l'[exemple de sortie DFE `explain`](gremlin-explain-api.md#gremlin-explain-dfe) pour voir ce à quoi ressemble la sortie `explain` lorsque le moteur DFE est activé.

L'[API Gremlin `profile`](gremlin-profile-api.md) effectue une traversée Gremlin spécifiée, collecte diverses métriques relatives à l'exécution et génère un rapport de profil contenant des informations sur le plan de requête optimisé et les statistiques d'exécution de différents opérateurs. Consultez l'[exemple de sortie DFE `profile`](gremlin-profile-api.md#gremlin-profile-sample-dfe-output) pour voir ce à quoi ressemble la sortie `profile` lorsque le moteur DFE est activé.

**Note**  
La prise en charge du format DFE pour G705 étant une fonctionnalité expérimentale, le format exact de la `profile` sortie `explain` et est sujet à modification.