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.
Génération d'un rapport récapitulatif rapide de votre graphe
Le résumé du graphe Neptune permet de API récupérer les informations suivantes concernant votre graphe :
Pour les graphes de propriétés (PG), le résumé du graphique API renvoie une liste en lecture seule des étiquettes et des clés de propriété des nœuds et des arêtes, ainsi que le nombre de nœuds, d'arêtes et de propriétés.
Pour les graphes Resource Description Framework (RDF), le résumé du graphe API renvoie une liste en lecture seule de classes et de clés de prédicat, ainsi que le nombre de quads, de sujets et de prédicats.
Note
Le résumé du graphique API a été introduit dans la version 1.2.1.0 du moteur Neptune.
Grâce au résumé du graphiqueAPI, vous pouvez rapidement acquérir une connaissance approfondie de la taille et du contenu des données de votre graphique. Vous pouvez également l'utiliser de API manière interactive dans un bloc-notes Neptune grâce à la magie de %summaryNeptune Workbench. Dans une application graphique, le API peut être utilisé pour améliorer les résultats de recherche en fournissant des étiquettes de nœuds ou de bords découverts dans le cadre de la recherche.
Les données récapitulatives du graphique sont tirées des DFEstatistiques calculées par le DFEmoteur Neptune pendant l'exécution et sont disponibles chaque fois que des DFE statistiques sont disponibles. Les statistiques sont activées par défaut lorsque vous créez un cluster de bases de données Neptune.
Note
La génération de statistiques est désactivée sur les types d'instance t3
et t4
(c'est-à-dire sur les types d'instance db.t3.medium
et db.t4g.medium
) pour économiser de la mémoire. Par conséquent, les données récapitulatives de graphe ne sont pas disponibles non plus sur ces types d'instances.
Vous pouvez vérifier l'état des DFE statistiques à l'aide du statut des statistiques API. Tant que la génération automatique des statistiques n'est pas désactivée, les statistiques sont automatiquement mises à jour périodiquement.
Si vous voulez vous assurer que les statistiques sont aussi à jour que possible lorsque vous demandez un résumé de graphe, vous pouvez déclencher manuellement une mise à jour des statistiques juste avant de récupérer ce résumé. Si le graphe change pendant le calcul des statistiques, celles-ci prendront nécessairement un peu de temps, mais pas beaucoup.
Utilisation du résumé du graphique API pour récupérer les informations du résumé du graphique
Pour un graphe de propriétés que vous interrogez à l'aide de Gremlin ouopenCypher, vous pouvez récupérer un résumé du graphique à partir du point de terminaison du graphe de propriétés. Il existe à la fois un long et un abrégé URI pour ce point final :
https://
your-neptune-host
:port
/propertygraph/statistics/summaryhttps://
your-neptune-host
:port
/pg/statistics/summary
Pour un RDF graphique que vous interrogez à l'aideSPARQL, vous pouvez récupérer un résumé du graphique à partir du point de terminaison du RDF résumé :
https://
your-neptune-host
:port
/rdf/statistics/summary
Ces points de terminaison sont en lecture seule et ne prennent en charge qu'une opération. HTTP GET
Si $ GRAPH _ SUMMARY _ ENDPOINT est défini sur l'adresse du point de terminaison que vous souhaitez interroger, vous pouvez récupérer les données récapitulatives en utilisant curl
et HTTP GET
comme suit :
curl -G "$GRAPH_SUMMARY_ENDPOINT"
Si aucune statistique n'est disponible lorsque vous essayez de récupérer un résumé de graphe, la réponse ressemble à ce qui suit :
{ "detailedMessage": "Statistics are not available. Summary can only be generated after statistics are available.", "requestId": "48c1f788-f80b-b69c-d728-3f6df579a5f6", "code": "StatisticsNotAvailableException" }
Le paramètre de mode
URL requête pour le résumé du graphique API
Le résumé du graphe API accepte un paramètre de URL requête nommémode
, qui peut prendre l'une des deux valeurs suivantes, à savoir basic
(par défaut) etdetailed
. Pour un RDF graphique, la réponse récapitulative du graphe en detailed
mode contient un subjectStructures
champ supplémentaire. Pour un graphe de propriétés, la réponse détaillée de résumé de graphe contient deux champs supplémentaires, à savoir nodeStructures
et edgeStructures
.
Pour demander une réponse de résumé de graphe sous forme detailed
, incluez le paramètre mode
comme suit :
curl -G "$GRAPH_SUMMARY_ENDPOINT?mode=detailed"
Si le paramètre mode
n'est pas présent, le mode basic
est utilisé par défaut. Il est donc possible de spécifier ?mode=basic
explicitement, mais cela n'est pas nécessaire.
Réponse de résumé pour un graphe de propriétés (PG)
Pour un graphe de propriétés vide, la réponse détaillée de résumé de graphe se présente comme suit :
{ "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" : [ ] } } }
Une réponse de résumé de graphe de propriétés (PG) contient les champs suivants :
-
status
— le code de HTTP retour de la demande. Si la demande aboutit, le code est 200.Pour obtenir une liste des erreurs courantes, consultez Erreurs courantes liées au résumé de graphe.
-
payload
version
: version de la réponse de résumé de graphe.lastStatisticsComputationTime
— L'horodatage, au format ISO 8601, de l'heure à laquelle Neptune a calculé ses statistiques pour la dernière fois.-
graphSummary
numNodes
: nombre de nœuds dans le graphe.numEdges
: nombre d'arêtes dans le graphe.numNodeLabels
: nombre d'étiquettes de nœuds distinctes dans le graphe.numEdgeLabels
: nombre d'étiquettes d'arête distinctes dans le graphe.nodeLabels
: liste des étiquettes de nœuds distincts dans le graphe.edgeLabels
: liste des étiquettes d'arête distinctes dans le graphe.numNodeProperties
: nombre de propriétés de nœuds distinctes dans le graphe.numEdgeProperties
: nombre de propriétés d'arêtes distinctes dans le graphe.nodeProperties
: liste des propriétés de nœud distinctes dans le graphe et nombre de nœuds où chaque propriété est utilisée.edgeProperties
: liste des propriétés d'arêtes distinctes dans le graphe et nombre d'arêtes où chaque propriété est utilisée.totalNodePropertyValues
: nombre total d'utilisations de toutes les propriétés de nœud.totalEdgePropertyValues
: nombre total d'utilisations de toutes les propriétés d'arête.-
nodeStructures
: ce champ n'est présent que lorsquemode=detailed
est spécifié dans la demande. Contient une liste de structures de nœuds, chacune avec les champs suivants :count
: nombre de nœuds dotés de cette structure spécifique.nodeProperties
: liste des propriétés de nœud présentes dans cette structure spécifique.distinctOutgoingEdgeLabels
: liste des différentes étiquettes d'arête sortantes présentes dans cette structure spécifique.
-
edgeStructures
: ce champ n'est présent que lorsquemode=detailed
est spécifié dans la demande. Contient une liste de structures d'arêtes, chacune avec les champs suivants :count
: nombre d'arêtes dotées de cette structure spécifique.edgeProperties
: liste des propriétés d'arête présentes dans cette structure spécifique.
Réponse récapitulative du graphique pour un RDF graphique
Pour un RDF graphique vide, la réponse récapitulative détaillée du graphique se présente comme suit :
{ "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" : [ ] } } }
Une réponse récapitulative sous forme de RDF graphique comporte les champs suivants :
-
status
— le code de HTTP retour de la demande. Si la demande aboutit, le code est 200.Pour obtenir une liste des erreurs courantes, consultez Erreurs courantes liées au résumé de graphe.
-
payload
version
: version de la réponse de résumé de graphe.lastStatisticsComputationTime
— L'horodatage, au format ISO 8601, de l'heure à laquelle Neptune a calculé ses statistiques pour la dernière fois.-
graphSummary
numDistinctSubjects
: nombre de sujets distincts dans le graphe.numDistinctPredicates
: nombre de prédicats distincts dans le graphe.numQuads
: nombre de quadruplets dans le graphe.numClasses
: nombre de classes dans le graphe.classes
: liste des classes dans le graphe.predicates
: liste des prédicats dans le graphe et nombre de prédicats.-
subjectStructures
: ce champ n'est présent que lorsquemode=detailed
est spécifié dans la demande. Contient une liste de structures de sujets, chacune avec les champs suivants :count
: nombre d'occurrences de cette structure spécifique.predicates
: liste des prédicats présents dans cette structure spécifique.
Exemple de réponse de résumé de graphe de propriétés (PG)
Voici la réponse détaillée de résumé de graphe de propriétés contenant un exemple de jeu de données de routes aériennes impliquant un graphe de propriétés
{ "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" ] } ] } } }
Exemple de réponse récapitulative sous forme de RDF graphique
Voici la réponse récapitulative détaillée pour un RDF graphique contenant l'exemple de jeu de données sur les routes RDF aériennes
{ "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" ] } ] } } }
Utilisation AWS Identity and Access Management (IAM) authentification avec les points de terminaison du résumé graphique
Vous pouvez accéder aux points de terminaison du résumé des graphes en toute sécurité grâce à l'IAMauthentification à l'aide d'awscurl
awscurl "$GRAPH_SUMMARY_ENDPOINT" \ --region
(your region)
\ --service neptune-db
Important
L'IAMidentité ou le rôle qui crée les informations d'identification temporaires doit être associé à une IAM politique autorisant l'GetGraphSummaryIAMaction.
Consultez Erreurs d'authentification IAM la liste des IAM erreurs courantes que vous pouvez rencontrer.
Codes d'erreur courants pouvant être renvoyés par une demande de résumé de graphe
Code d'erreur du service Neptune | HTTPstatut | Message | Scénario d'erreur | Résolution |
---|---|---|---|---|
|
403 |
Jeton d'authentification manquant. |
Une demande non signée ou mal signée a été envoyée à la base IAM de données Neptune avec cette option activée. |
Signez la demande avec SigV4 avant de l'envoyer (voir IAMet résumés de graphiques). |
403 |
Utilisateur : |
IAMla politique n'autorise pas l'action GetGraphSummarylorsque la demande de résumé du graphe a été envoyée à la base de données Neptune avec IAM cette option activée. |
Assurez-vous que la IAM politique attachée à l'utilisateur ou au rôle à l'origine de la demande autorise l' |
|
|
400 |
Les statistiques étant désactivées, le résumé de graphe est également désactivé. |
Essayer d'obtenir un résumé sur les types d'instances extensibles ( |
Utilisez un type d'instance dans lequel la génération de statistiques est activée (toutes les instances prises en charge sauf |
400 |
Mauvais itinéraire : |
Demande envoyée à un chemin non valide. |
Utilisez la route correcte pour le point de terminaison du résumé de graphe. |
|
|
400 |
La demande contient des paramètres inconnus : ' |
Survient lorsqu'un paramètre non valide est spécifié dans la demande. |
N'utilisez que des paramètres valides (tels que |
|
400 |
URIle paramètre de requête 'mode' a une valeur non prise en charge ' |
Lorsque le URL paramètre « mode » de la demande est suivi d'une valeur non valide. |
Utilisez des valeurs valides (telles que |
|
405 |
Méthode non autorisée |
Appel du point de terminaison récapitulatif avec une HTTP méthode autre que |
Utilisez la HTTP |
|
400 |
Les statistiques ne sont pas encore calculées: Le résumé du graphe sera disponible une fois le calcul des statistiques terminé. |
Aucune statistique n'est disponible lorsque la demande est envoyée au point de terminaison de résumé. |
Attendez que la génération des statistiques soit terminée. Vous pouvez vérifier l'état de la génération des statistiques à l'aide du statut des statistiques API. |
400 |
La limite de statistiques est atteinte. Le résumé du graphe n'est donc pas disponible. |
La génération de statistiques s'est arrêtée, car les limites de taille des statistiques ont été atteintes. |
Le résumé n'est pas disponible sur ce graphe. |
Par exemple, si vous faites une demande pour représenter graphiquement le point de terminaison récapitulatif dans une base de données Neptune sur laquelle l'IAMauthentification est activée et que les autorisations nécessaires ne sont pas présentes dans la IAM politique du demandeur, vous obtiendrez une réponse comme celle-ci :
{ "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" }