ID de borde generado por el servidor en línea de Neptune - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

ID de borde generado por el servidor en línea de Neptune

Neptune es compatible con Edge generado por servidor en línea. IDs Se puede habilitar mediante el parámetro de configuración de Neptune neptune_enable_inline_server_generated_edge_id cuando neptune_streams no está habilitado. Esta función está disponible para las consultas de Gremlin a partir de la versión 1.4.3.0 del motor y estará disponible para consultas OpenCypher en una versión futura.

El ID de borde es el identificador único de un borde. Se puede proporcionar un ID de borde al insertar un borde. Si no se proporciona ningún ID, el servidor genera y asigna un ID basado en UUID al borde de forma predeterminada. Al igual que el ID definido por el usuario, el ID generado por el servidor basado en UUID se almacena en el diccionario.

Cuando la característica neptune_enable_inline_server_generated_edge_id está habilitada, el servidor genera un ID en línea único cuando no se proporciona ningún ID en la consulta. Los bordes insertados no IDs se almacenan en el diccionario, lo que mejora la eficiencia del almacenamiento. Las líneas insertadas generadas por el servidor IDs comienzan con el prefijo reservado. neptune_reserved

aviso

Neptune reserva el 'neptune_reserved' prefijo para el servidor generado en línea. IDs Se mostrará un error en las consultas que intenten insertar datos con un ID definido por el usuario que comience con el prefijo reservado.

La característica de ID de borde generado por el servidor en línea se puede habilitar configurando el parámetro del clúster neptune_enable_inline_server_generated_edge_id en 1. Es necesario reiniciar la instancia. En el siguiente ejemplo se habilita la característica de ID de borde generado por el servidor:

"ParameterName=neptune_enable_inline_server_generated_edge_id,ParameterValue=1,ApplyMethod=pending-reboot"

Para verificar si la característica está habilitada, puede comprobar las características en el estado del motor. Esta característica se deshabilita automáticamente si neptune_streams está habilitado. En el siguiente ejemplo de salida, se muestra el estado del motor para la característica habilitada:

"features":{"InlineServerGeneratedEdgeId":"enabled"}

El siguiente ejemplo de Gremlin agrega un borde sin un ID definido por el usuario cuando la característica de ID de borde generado por el servidor en línea está habilitada:

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": [] } } }