Obtención de un informe resumido rápido sobre su gráfico - 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.

Obtención de un informe resumido rápido sobre su gráfico

El resumen del gráfico de Neptune API recupera la siguiente información sobre el gráfico:

  • En el caso de los gráficos de propiedades (PG), el resumen del gráfico API devuelve una lista de claves de propiedades y etiquetas de nodos y aristas de solo lectura, junto con los recuentos de nodos, aristas y propiedades.

  • En el caso de los gráficos del marco de descripción de recursos (RDF), el resumen del gráfico API devuelve una lista de clases y claves de predicados de solo lectura, junto con los recuentos de cuádriceps, sujetos y predicados.

nota

El resumen gráfico API se introdujo en la versión 1.2.1.0 del motor Neptune.

Con el resumen del gráficoAPI, puede obtener rápidamente una comprensión exhaustiva del tamaño y el contenido de los datos del gráfico. También puedes usarlo de API forma interactiva en un cuaderno Neptuno con la magia de %summaryNeptune Workbench. En una aplicación de gráficos, se API puede utilizar para mejorar los resultados de la búsqueda proporcionando etiquetas de nodos o aristas descubiertos como parte de la búsqueda.

Los datos resumidos de los gráficos se extraen de las DFEestadísticas calculadas por el DFEmotor de Neptune durante el tiempo de ejecución y están disponibles siempre que haya DFE estadísticas disponibles. Las estadísticas se habilitan de forma predeterminada cuando crea un nuevo clúster de base de datos de Neptune.

nota

La generación de estadísticas está deshabilitada en los tipos de instancias t3 y t4 (es decir, en los tipos de instancias db.t3.medium y db.t4g.medium) para ahorrar memoria. Como resultado, los datos resumidos de los gráficos tampoco están disponibles en esos tipos de instancias.

Puede comprobar el estado de las DFE estadísticas mediante el estado API de las estadísticas. Mientras no se haya deshabilitado la generación automática de estadísticas, las estadísticas se actualizarán automáticamente de forma periódica.

Si quiere asegurarse de que las estadísticas estén lo más actualizadas posible cuando solicite un resumen de gráficos, puede activar manualmente una actualización de las estadísticas justo antes de recuperar el resumen. Si el gráfico está cambiando mientras se calculan las estadísticas, estas se retrasarán necesariamente un poco, pero no mucho.

Uso del resumen del gráfico API para recuperar la información del resumen del gráfico

En el caso de un gráfico de propiedades que consulte con Gremlin oopenCypher, puede recuperar un resumen del gráfico desde el punto final del resumen del gráfico de propiedades. Hay una longitud y una abreviatura URI para este punto final:

  • https://your-neptune-host:port/propertygraph/statistics/summary

  • https://your-neptune-host:port/pg/statistics/summary

Para un RDF gráfico que utilice para realizar consultasSPARQL, puede recuperar un resumen del gráfico desde el punto final del RDF resumen:

  • https://your-neptune-host:port/rdf/statistics/summary

Estos puntos finales son de solo lectura y solo admiten una operación. HTTP GET Si $ GRAPH _ SUMMARY _ ENDPOINT está configurado en la dirección del punto final que desee consultar, puede recuperar los datos resumidos de la siguiente maneracurl: HTTP GET

curl -G "$GRAPH_SUMMARY_ENDPOINT"

Si no hay estadísticas disponibles al intentar recuperar un resumen de gráficos, la respuesta tendrá el siguiente aspecto:

{ "detailedMessage": "Statistics are not available. Summary can only be generated after statistics are available.", "requestId": "48c1f788-f80b-b69c-d728-3f6df579a5f6", "code": "StatisticsNotAvailableException" }

El parámetro de mode URL consulta para el resumen del gráfico API

El resumen del gráfico API acepta un parámetro de URL consulta denominadomode, que puede tomar uno de dos valores, a saber basic (el predeterminado) ydetailed. En el caso RDF de un gráfico, la respuesta resumida del gráfico de detailed modo contiene un subjectStructures campo adicional. En el caso de un gráfico de propiedades, la respuesta de resumen de gráficos detallada contiene dos campos adicionales: nodeStructures y edgeStructures.

Para solicitar una respuesta resumida en el gráfico detailed, incluya el parámetro mode de la siguiente manera:

curl -G "$GRAPH_SUMMARY_ENDPOINT?mode=detailed"

Si el parámetro mode no está presente, se utiliza el modo basic de forma predeterminada, por lo que, aunque es posible especificar ?mode=basic de forma explícita, no es necesario.

Respuesta del resumen de gráficos para un gráfico de propiedades (PG)

En el caso de un gráfico de propiedades vacío, la respuesta del resumen de gráficos detallado tiene el siguiente aspecto:

{ "status" : "200 OK", "payload" : { "version" : "v1", "lastStatisticsComputationTime" : "2023-01-10T07:58:47.972Z", "graphSummary" : { "numNodes" : 0, "numEdges" : 0, "numNodeLabels" : 0, "numEdgeLabels" : 0, "nodeLabels" : [ ], "edgeLabels" : [ ], "numNodeProperties" : 0, "numEdgeProperties" : 0, "nodeProperties" : [ ], "edgeProperties" : [ ], "totalNodePropertyValues" : 0, "totalEdgePropertyValues" : 0, "nodeStructures" : [ ], "edgeStructures" : [ ] } } }

Una respuesta de resumen de gráficos de propiedades (PG) tiene los siguientes campos:

  • status— el código de HTTP retorno de la solicitud. Si la solicitud se ha realizado correctamente, el código es 200.

    Consulte Errores comunes del resumen de gráficos para obtener una lista de los errores comunes.

  • payload

    • version: la versión de esta respuesta del resumen de gráficos.

    • lastStatisticsComputationTime — La marca de tiempo, en formato ISO 8601, de la hora en que Neptune calculó las estadísticas por última vez.

    • graphSummary

      • numNodes: número de nodos del gráfico.

      • numEdges: número de bordes del gráfico.

      • numNodeLabels: número de etiquetas de nodos distintas del gráfico.

      • numEdgeLabels: número de etiquetas de bordes distintas del gráfico.

      • nodeLabels: lista de etiquetas de nodos distintas del gráfico.

      • edgeLabels: lista de etiquetas de bordes distintas del gráfico.

      • numNodeProperties: número de propiedades de nodos distintas del gráfico.

      • numEdgeProperties: número de propiedades de bordes distintas del gráfico.

      • nodeProperties: lista de las propiedades de nodos distintas del gráfico, junto con el recuento de nodos en los que se utiliza cada propiedad.

      • edgeProperties: lista de las propiedades de bordes distintas del gráfico, junto con el recuento de bordes en los que se utiliza cada propiedad.

      • totalNodePropertyValues: número total de usos de todas las propiedades de los nodos.

      • totalEdgePropertyValues: número total de usos de todas las propiedades de los bordes.

      • nodeStructures: este campo solo está presente cuando mode=detailed se especifica en la solicitud. Contiene una lista de estructuras de nodos, cada una de las cuales contiene los siguientes campos:

        • count: número de nodos que tienen esta estructura específica.

        • nodeProperties: lista de propiedades de los nodos presentes en esta estructura específica.

        • distinctOutgoingEdgeLabels: lista de las etiquetas de borde salientes distintas presentes en esta estructura específica.

      • edgeStructures: este campo solo está presente cuando mode=detailed se especifica en la solicitud. Contiene una lista de estructuras de borde, cada una de las cuales contiene los siguientes campos:

        • count: número de bordes que tienen esta estructura específica.

        • edgeProperties: lista de propiedades de los bordes presentes en esta estructura específica.

Representación gráfica: respuesta resumida para una gráfica RDF

En el caso de un RDF gráfico vacío, la respuesta resumida detallada del gráfico tiene el siguiente aspecto:

{ "status" : "200 OK", "payload" : { "version" : "v1", "lastStatisticsComputationTime" : "2023-01-10T07:58:47.972Z", "graphSummary" : { "numDistinctSubjects" : 0, "numDistinctPredicates" : 0, "numQuads" : 0, "numClasses" : 0, "classes" : [ ], "predicates" : [ ], "subjectStructures" : [ ] } } }

Una respuesta resumida de un RDF gráfico tiene los siguientes campos:

  • status— el código de HTTP retorno de la solicitud. Si la solicitud se ha realizado correctamente, el código es 200.

    Consulte Errores comunes del resumen de gráficos para obtener una lista de los errores comunes.

  • payload

    • version: la versión de esta respuesta del resumen de gráficos.

    • lastStatisticsComputationTime — La marca de tiempo, en formato ISO 8601, de la hora en que Neptune calculó las estadísticas por última vez.

    • graphSummary

      • numDistinctSubjects: el número de sujetos distintos del gráfico.

      • numDistinctPredicates: el número de predicados distintos del gráfico.

      • numQuads: el número de cuádruples del gráfico.

      • numClasses: el número de clases del gráfico.

      • classes: lista de clases del gráfico.

      • predicates: lista de predicados del gráfico, junto con los recuentos de predicados.

      • subjectStructures: este campo solo está presente cuando mode=detailed se especifica en la solicitud. Contiene una lista de estructuras de sujetos, cada una de las cuales contiene los siguientes campos:

        • count: número de apariciones de esta estructura específica.

        • predicates: lista de predicados presentes en esta estructura específica.

Ejemplo de respuesta del resumen de gráficos de propiedades (PG)

Esta es la respuesta de resumen detallada para un gráfico de propiedades que contiene el conjunto de datos de rutas aéreas de un gráfico de propiedades de ejemplo:

{ "status" : "200 OK", "payload" : { "version" : "v1", "lastStatisticsComputationTime" : "2023-03-01T14:35:03.804Z", "graphSummary" : { "numNodes" : 3748, "numEdges" : 51300, "numNodeLabels" : 4, "numEdgeLabels" : 2, "nodeLabels" : [ "continent", "country", "version", "airport" ], "edgeLabels" : [ "contains", "route" ], "numNodeProperties" : 14, "numEdgeProperties" : 1, "nodeProperties" : [ { "desc" : 3748 }, { "code" : 3748 }, { "type" : 3748 }, { "country" : 3503 }, { "longest" : 3503 }, { "city" : 3503 }, { "lon" : 3503 }, { "elev" : 3503 }, { "icao" : 3503 }, { "region" : 3503 }, { "runways" : 3503 }, { "lat" : 3503 }, { "date" : 1 }, { "author" : 1 } ], "edgeProperties" : [ { "dist" : 50532 } ], "totalNodePropertyValues" : 42773, "totalEdgePropertyValues" : 50532, "nodeStructures" : [ { "count" : 3471, "nodeProperties" : [ "city", "code", "country", "desc", "elev", "icao", "lat", "lon", "longest", "region", "runways", "type" ], "distinctOutgoingEdgeLabels" : [ "route" ] }, { "count" : 161, "nodeProperties" : [ "code", "desc", "type" ], "distinctOutgoingEdgeLabels" : [ "contains" ] }, { "count" : 83, "nodeProperties" : [ "code", "desc", "type" ], "distinctOutgoingEdgeLabels" : [ ] }, { "count" : 32, "nodeProperties" : [ "city", "code", "country", "desc", "elev", "icao", "lat", "lon", "longest", "region", "runways", "type" ], "distinctOutgoingEdgeLabels" : [ ] }, { "count" : 1, "nodeProperties" : [ "author", "code", "date", "desc", "type" ], "distinctOutgoingEdgeLabels" : [ ] } ], "edgeStructures" : [ { "count" : 50532, "edgeProperties" : [ "dist" ] } ] } } }

Ejemplo de respuesta resumida en un gráfico RDF

Este es el resumen detallado de la respuesta a un RDF gráfico que contiene el conjunto de datos de rutas RDF aéreas de muestra:

{ "status" : "200 OK", "payload" : { "version" : "v1", "lastStatisticsComputationTime" : "2023-03-01T14:54:13.903Z", "graphSummary" : { "numDistinctSubjects" : 54403, "numDistinctPredicates" : 19, "numQuads" : 158571, "numClasses" : 4, "classes" : [ "http://kelvinlawrence.net/air-routes/class/Version", "http://kelvinlawrence.net/air-routes/class/Airport", "http://kelvinlawrence.net/air-routes/class/Continent", "http://kelvinlawrence.net/air-routes/class/Country" ], "predicates" : [ { "http://kelvinlawrence.net/air-routes/objectProperty/route" : 50656 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/dist" : 50656 }, { "http://kelvinlawrence.net/air-routes/objectProperty/contains" : 7004 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/code" : 3747 }, { "http://www.w3.org/2000/01/rdf-schema#label" : 3747 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/type" : 3747 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/desc" : 3747 }, { "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" : 3747 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/icao" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/lat" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/region" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/runways" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/longest" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/elev" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/lon" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/country" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/city" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/author" : 1 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/date" : 1 } ], "subjectStructures" : [ { "count" : 50656, "predicates" : [ "http://kelvinlawrence.net/air-routes/datatypeProperty/dist" ] }, { "count" : 3471, "predicates" : [ "http://kelvinlawrence.net/air-routes/datatypeProperty/city", "http://kelvinlawrence.net/air-routes/datatypeProperty/code", "http://kelvinlawrence.net/air-routes/datatypeProperty/country", "http://kelvinlawrence.net/air-routes/datatypeProperty/desc", "http://kelvinlawrence.net/air-routes/datatypeProperty/elev", "http://kelvinlawrence.net/air-routes/datatypeProperty/icao", "http://kelvinlawrence.net/air-routes/datatypeProperty/lat", "http://kelvinlawrence.net/air-routes/datatypeProperty/lon", "http://kelvinlawrence.net/air-routes/datatypeProperty/longest", "http://kelvinlawrence.net/air-routes/datatypeProperty/region", "http://kelvinlawrence.net/air-routes/datatypeProperty/runways", "http://kelvinlawrence.net/air-routes/datatypeProperty/type", "http://kelvinlawrence.net/air-routes/objectProperty/route", "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/2000/01/rdf-schema#label" ] }, { "count" : 238, "predicates" : [ "http://kelvinlawrence.net/air-routes/datatypeProperty/code", "http://kelvinlawrence.net/air-routes/datatypeProperty/desc", "http://kelvinlawrence.net/air-routes/datatypeProperty/type", "http://kelvinlawrence.net/air-routes/objectProperty/contains", "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/2000/01/rdf-schema#label" ] }, { "count" : 31, "predicates" : [ "http://kelvinlawrence.net/air-routes/datatypeProperty/city", "http://kelvinlawrence.net/air-routes/datatypeProperty/code", "http://kelvinlawrence.net/air-routes/datatypeProperty/country", "http://kelvinlawrence.net/air-routes/datatypeProperty/desc", "http://kelvinlawrence.net/air-routes/datatypeProperty/elev", "http://kelvinlawrence.net/air-routes/datatypeProperty/icao", "http://kelvinlawrence.net/air-routes/datatypeProperty/lat", "http://kelvinlawrence.net/air-routes/datatypeProperty/lon", "http://kelvinlawrence.net/air-routes/datatypeProperty/longest", "http://kelvinlawrence.net/air-routes/datatypeProperty/region", "http://kelvinlawrence.net/air-routes/datatypeProperty/runways", "http://kelvinlawrence.net/air-routes/datatypeProperty/type", "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/2000/01/rdf-schema#label" ] }, { "count" : 6, "predicates" : [ "http://kelvinlawrence.net/air-routes/datatypeProperty/code", "http://kelvinlawrence.net/air-routes/datatypeProperty/desc", "http://kelvinlawrence.net/air-routes/datatypeProperty/type", "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/2000/01/rdf-schema#label" ] }, { "count" : 1, "predicates" : [ "http://kelvinlawrence.net/air-routes/datatypeProperty/author", "http://kelvinlawrence.net/air-routes/datatypeProperty/code", "http://kelvinlawrence.net/air-routes/datatypeProperty/date", "http://kelvinlawrence.net/air-routes/datatypeProperty/desc", "http://kelvinlawrence.net/air-routes/datatypeProperty/type", "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/2000/01/rdf-schema#label" ] } ] } } }

Uso de la autenticación AWS Identity and Access Management (IAM) con puntos finales resumidos en gráficos

Puede acceder a los puntos finales del resumen gráfico de forma segura mediante la IAM autenticación mediante awscurl o cualquier otra herramienta que funcione con y. HTTPS IAM Consulte Se utiliza awscurl con credenciales temporales para conectarse de forma segura a un clúster de base de datos con la IAM autenticación habilitada para saber cómo configurar las credenciales adecuadas. Una vez que lo haya hecho, podrá realizar solicitudes como la siguiente:

awscurl "$GRAPH_SUMMARY_ENDPOINT" \ --region (your region) \ --service neptune-db
importante

La IAM identidad o el rol que crea las credenciales temporales debe tener una IAM política adjunta que permita la acción. GetGraphSummaryIAM

Consulte Errores de autenticación de IAM para ver una lista de IAM los errores más comunes que puede encontrar.

Códigos de error comunes que puede devolver una solicitud de resumen de gráficos

Código de error de servicio de Neptune HTTPestado Mensaje Escenario de error Mitigación

AccessDeniedException

403

Falta token de autenticación

Se envió una solicitud sin firmar o firmada incorrectamente a la base IAM de datos de Neptune con la opción habilitada.

Firme la solicitud con SigV4 antes de enviarla (consulte IAMy resúmenes gráficos).

403

Usuario: (user ARN) no está autorizado a realizar: neptune-db: on resource: GetGraphSummary (resource ARN).

IAMla política no permite la acción GetGraphSummarycuando la solicitud de resumen del gráfico se envió a la base de datos de Neptune con IAM la opción habilitada.

Asegúrese de que la IAM política asociada al usuario o rol que realiza la solicitud permita la GetGraphSummary acción.

BadRequestException

400

Las estadísticas están deshabilitadas, por lo que el resumen de gráficos también está deshabilitado.

Intento de obtener un resumen de los tipos de instancias ampliables (t3 o t4g) en las que las estadísticas están deshabilitadas.

Use un tipo de instancia en el que la generación de estadísticas esté habilitada (todas las instancias compatibles excepto t3 y t4g).

400

Ruta incorrecta: /rdf/statistics/summarypathapi

Solicitud enviada a una ruta no válida.

Utilice la ruta correcta para el punto de conexión del resumen de gráficos.

InvalidParameterException

400

La solicitud contiene parámetros desconocidos: '(unknown parameter or parameters)'.

Cuando se especifica un parámetro no válido en la solicitud.

Utilice únicamente parámetros válidos (por ejemplo, mode) en la solicitud.

InvalidParameterException

400

URIEl parámetro de consulta 'mode' tiene un valor no admitido '(invalid value)'.

Cuando el URL parámetro «modo» de la solicitud va seguido de un valor no válido.

Utilice valores válidos (como basic odetailed) al especificar el URL parámetro «modo».

MethodNotAllowedException

405

Método no permitido

Llamar al punto final de resumen con cualquier HTTP método que no sea GET (por ejemplo, POST oDELETE).

Utilice el HTTP GET método al llamar al punto final de resumen.

StatisticsNotAvailableException

400

Las estadísticas aún no se han calculado, el resumen gráfico estará disponible una vez que se realice este cálculo.

No hay estadísticas disponibles cuando la solicitud se envía al punto de conexión del resumen.

Espere hasta que se generen las estadísticas. Puede comprobar el estado de la generación de estadísticas utilizando el estado de las estadísticas API.

400

Se ha alcanzado el límite de estadísticas, por lo que el resumen gráfico no está disponible.

La generación de estadísticas se detuvo porque se alcanzaron los límites de tamaño de las estadísticas.

El resumen de gráficos no está disponible en este gráfico.

Por ejemplo, si realiza una solicitud para graficar el punto final de resumen en una base de datos de Neptune que tiene habilitada la IAM autenticación y los permisos necesarios no están presentes en la IAM política del solicitante, obtendrá una respuesta como la siguiente:

{ "detailedMessage": "User: arn:aws:iam::(account ID):(user or user name) is not authorized to perform: neptune-db:GetGraphSummary on resource: arn:aws:neptune-db:(region):(account ID):(cluster resource ID)/*", "requestId": "7ac2b98e-b626-d239-1d05-74b4c88fce82", "code": "AccessDeniedException" }