

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
<a name="neptune-graph-summary"></a>

La API de resumen de gráficos de Neptune recupera la siguiente información sobre su gráfico:
+ En el caso de los gráficos de propiedades (PG), la API de resumen de gráficos devuelve una lista de solo lectura de etiquetas de nodos y bordes y claves de propiedades, junto con el recuento de nodos, bordes y propiedades.
+ En el caso de los gráficos del marco de descripción de recursos (RDF), la API de resumen de gráficos devuelve una lista de clases y claves de predicados de solo lectura, junto con el recuento de cuádruples, sujetos y predicados.

**nota**  
La API de resumen de gráficos se introdujo en la [versión 1.2.1.0 del motor](engine-releases-1.2.1.0.md) de Neptune.

Con la API de resumen de gráficos, puede obtener rápidamente una comprensión de alto nivel del tamaño y el contenido de los datos de sus gráficos. También puede utilizar la API de forma interactiva en un cuaderno de Neptune mediante el comando mágico [`%summary`](notebooks-magics.md#notebooks-line-magics-summary) de Neptune Workbench. En una aplicación de gráficos, la API se puede utilizar para mejorar los resultados de la búsqueda al proporcionar etiquetas de nodos o bordes descubiertos como parte de la búsqueda.

Los datos resumidos de los gráficos se extraen de las [estadísticas del DFE](neptune-dfe-statistics.md) que ha calculado el motor [DFE de Neptune](neptune-dfe-engine.md) durante el tiempo de ejecución y están disponibles siempre que lo estén las estadísticas del DFE. 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 estadísticas del DFE mediante la [API de estado de estadísticas](neptune-dfe-statistics.md#neptune-dfe-statistics-status). Mientras no se haya [deshabilitado](neptune-dfe-statistics.md#neptune-dfe-statistics-auto-disable) 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](neptune-dfe-statistics.md#neptune-dfe-statistics-manual) 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 de la API de resumen de gráficos para recuperar información de resumen de gráficos
<a name="neptune-graph-summary-retrieving"></a>

En el caso de un gráfico de propiedades que consulte con Gremlin u openCypher, puede recuperar un resumen de gráficos desde el punto de conexión del resumen del gráfico de propiedades. Hay un URI largo y uno corto para este punto de conexión:
+ `https://your-neptune-host:port/propertygraph/statistics/summary`
+ `https://your-neptune-host:port/pg/statistics/summary`

En el caso de un gráfico RDF que consulte mediante SPARQL, puede recuperar un resumen de gráficos desde el punto de conexión del resumen de RDF:
+ `https://your-neptune-host:port/rdf/statistics/summary`

Estos puntos de conexión son de solo lectura y solo admiten una operación `GET` HTTP. Si \$1GRAPH\$1SUMMARY\$1ENDPOINT se establece en la dirección del punto de conexión que desee consultar, puede recuperar los datos del resumen mediante `curl` y `GET` HTTP de la siguiente manera:

```
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 consulta de URL `mode` para la API de resumen de gráficos
<a name="neptune-graph-summary-mode"></a>

La API de resumen de gráficos acepta un parámetro de consulta de URL denominado `mode`, que puede tomar uno de dos valores: `basic` (el predeterminado) y `detailed`. En el caso de un gráfico RDF, la respuesta del resumen de gráficos del modo `detailed` contiene un campo `subjectStructures` 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)
<a name="neptune-graph-summary-pg-response"></a>

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 retorno HTTP de la solicitud. Si la solicitud se ha realizado correctamente, el código es 200.

  Consulte [Errores comunes del resumen de gráficos](#neptune-graph-summary-errors) para obtener una lista de los errores comunes.
+ **`payload`**
  + **`version`**: la versión de esta respuesta del resumen de gráficos.
  + **`lastStatisticsComputationTime `**: la marca temporal, en formato ISO 8601, de la hora en que Neptune calculó las [estadísticas](neptune-dfe-statistics.md) 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.

## Respuesta de resumen de gráficos para un gráfico RDF
<a name="neptune-graph-summary-rdf-response"></a>

En el caso de un gráfico RDF 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" : {
      "numDistinctSubjects" : 0,
      "numDistinctPredicates" : 0,
      "numQuads" : 0,
      "numClasses" : 0,
      "classes" : [ ],
      "predicates" : [ ],
      "subjectStructures" : [ ]
    }
  }
}
```

Una respuesta de resumen de gráficos RDF tiene los siguientes campos:
+ **`status`**: el código de retorno HTTP de la solicitud. Si la solicitud se ha realizado correctamente, el código es 200.

  Consulte [Errores comunes del resumen de gráficos](#neptune-graph-summary-errors) para obtener una lista de los errores comunes.
+ **`payload`**
  + **`version`**: la versión de esta respuesta del resumen de gráficos.
  + **`lastStatisticsComputationTime `**: la marca temporal, en formato ISO 8601, de la hora en que Neptune calculó las [estadísticas](neptune-dfe-statistics.md) 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)
<a name="neptune-graph-summary-sample-pg-response"></a>

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](https://github.com/aws/graph-notebook/tree/main/src/graph_notebook/seed/queries/propertygraph/gremlin/airports):

```
{
  "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 de resumen de un gráfico RDF
<a name="neptune-graph-summary-sample-rdf-response"></a>

Este es el resumen detallado de la respuesta de un gráfico RDF que contiene el [conjunto de datos de rutas aéreas RDF de ejemplo](https://github.com/aws/graph-notebook/tree/main/src/graph_notebook/seed/queries/rdf/sparql/airports):

```
{
  "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
<a name="neptune-graph-summary-iam"></a>

Puede acceder a los puntos de conexión de resúmenes de gráficos de forma segura con la autenticación de IAM mediante [awscurl](https://github.com/okigan/awscurl) o cualquier otra herramienta que funcione con HTTPS e IAM. Consulte [Uso de `awscurl` con credenciales temporales para conectarse de forma segura a un clúster de base de datos con la autenticación de IAM habilitada](iam-auth-connect-command-line.md#iam-auth-connect-awscurl) 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 identidad o el rol de IAM que crea las credenciales temporales debe tener una política de IAM adjunta que permita la acción de IAM. [GetGraphSummary](iam-dp-actions.md#getgraphsummary)

Consulte [Errores de autenticación de IAM](errors-engine-codes.md#errors-iam-auth) para ver una lista de los errores de IAM más comunes que puede encontrar.

## Códigos de error comunes que puede devolver una solicitud de resumen de gráficos
<a name="neptune-graph-summary-errors"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/neptune/latest/userguide/neptune-graph-summary.html)

Por ejemplo, si realiza una solicitud para representar gráficamente el punto de conexión del resumen en una base de datos de Neptune que tiene habilitada la autenticación de IAM y los permisos necesarios no están presentes en la política de IAM 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"
}
```