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.
Neptune prend en charge le protocole Inline Server-Generated Edge. IDs Il peut être activé via le paramètre de configuration Neptune neptune_enable_inline_server_generated_edge_id
lorsqu'il n'neptune_streams
est pas activé. Cette fonctionnalité est disponible pour les requêtes Gkremlin à partir de la version 1.4.3.0 du moteur et sera disponible pour les OpenCypher requêtes dans une future version.
L'identifiant Edge est un identifiant unique pour un bord. Un identifiant de bord peut être fourni lors de l'insertion d'un bord. Si aucun identifiant n'est fourni, le serveur génère et attribue un identifiant basé sur l'UUID au périphérique par défaut. Tout comme l'identifiant défini par l'utilisateur, l'identifiant généré par le serveur basé sur l'UUID est stocké dans le dictionnaire.
Lorsque la neptune_enable_inline_server_generated_edge_id
fonctionnalité est activée, le serveur génère un identifiant intégré unique lorsqu'aucun identifiant n'est fourni dans la requête. Les bords intégrés ne IDs sont pas enregistrés dans le dictionnaire, ce qui améliore l'efficacité du stockage. Les données intégrées générées par le serveur IDs commencent par le préfixe réservé. neptune_reserved
Avertissement
Neptune réserve le 'neptune_reserved'
préfixe pour les données intégrées générées par le serveur. IDs Une erreur s'affichera pour les requêtes qui tentent d'insérer des données avec un identifiant défini par l'utilisateur commençant par le préfixe réservé.
La fonction Edge ID intégrée générée par le serveur peut être activée en définissant le paramètre au niveau du cluster sur. neptune_enable_inline_server_generated_edge_id
1
Un redémarrage de l'instance est requis. L'exemple suivant active la fonctionnalité Edge ID générée par le serveur :
"ParameterName=neptune_enable_inline_server_generated_edge_id,ParameterValue=1,ApplyMethod=pending-reboot"
Pour vérifier si la fonctionnalité est activée, vous pouvez vérifier les fonctionnalités dans l'état du moteur. Cette fonctionnalité est automatiquement désactivée si elle neptune_streams
est activée. L'exemple de sortie suivant montre l'état du moteur pour la fonctionnalité activée :
"features":{"InlineServerGeneratedEdgeId":"enabled"}
L'exemple suivant de Gremlin ajoute un Edge sans ID défini par l'utilisateur lorsque la fonctionnalité Edge ID générée par le serveur en ligne est activée :
curl - X POST--url https: //<neptune-cluster-endpoint>:8182/gremlin/ --data '{"gremlin":"g.withSideEffect(\"Neptune#disablePushdownOptimization\", true).addV().property(id, \"a\").addV().property(id, \"b\").addE(\"el\").to(V(\"a\"))"}'
{
"requestId": "b6b84605-53ad-4c04-baf1-7f0f31a3aeaf",
"status": {
"message": "",
"code": 200,
"attributes": {
"@type": "g:Map",
"@value": []
}
},
"result": {
"data": {
"@type": "g:List",
"@value": [{
"@type": "g:Edge",
"@value": {
"id": "neptune_reserved_231850767",
"label": "el",
"inVLabel": "vertex",
"outVLabel": "vertex",
"inV": "a",
"outV": "b"
}
}]
},
"meta": {
"@type": "g:Map",
"@value": []
}
}
}