Considérations spéciales relatives au chargement openCypher des données - Amazon Neptune

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.

Considérations spéciales relatives au chargement openCypher des données

  • Lorsque vous openCypher chargez des données au CSV format, le paramètre de format doit être défini suropencypher.

  • Le updateSingleCardinalityProperties paramètre n'est pas pris en charge pour les openCypher charges car toutes les openCypher propriétés ont une cardinalité unique. Le format de openCypher chargement ne prend pas en charge les tableaux, et si une valeur d'ID apparaît plusieurs fois, elle est traitée comme un doublon ou comme une erreur d'insertion (voir ci-dessous).

  • Le chargeur Neptune gère les doublons qu'il trouve dans les données de la manière openCypher suivante :

    • Si le chargeur identifie plusieurs lignes avec le même ID de nœud, elles sont fusionnées selon la règle suivante :

      • Toutes les étiquettes des lignes sont ajoutées au nœud.

      • Pour chaque propriété, une seule des valeurs de propriété est chargée. Le choix de celle à charger n'est pas déterministe.

    • Si le chargeur identifie plusieurs lignes avec le même ID de relation, une seule d'entre elles est chargée. Le choix de celle à charger n'est pas déterministe.

    • Le chargeur ne met jamais à jour les valeurs des propriétés d'un nœud ou d'une relation dans la base de données s'il trouve des données de chargement avec l'ID de ce nœud ou de cette relation. Cependant, il charge les étiquettes et les propriétés des nœuds qui ne se trouvent pas dans le nœud ou la relation existants.

  • Bien que vous n'ayez pas à assigner IDs aux relations, c'est généralement une bonne idée (voir le userProvidedEdgeIds paramètre ci-dessus). En l'absence de relation expliciteIDs, le chargeur doit recharger toutes les relations en cas d'erreur dans un fichier de relations, plutôt que de reprendre le chargement là où il a échoué.

    De plus, si les données de chargement ne contiennent pas de relation expliciteIDs, le chargeur n'a aucun moyen de détecter les relations dupliquées.

Voici un exemple de commande de openCypher chargement :

curl -X POST https://your-neptune-endpoint:port/loader \ -H 'Content-Type: application/json' \ -d ' { "source" : "s3://bucket-name/object-key-name", "format" : "opencypher", "userProvidedEdgeIds": "TRUE", "iamRoleArn" : "arn:aws:iam::account-id:role/role-name", "region" : "region", "failOnError" : "FALSE", "parallelism" : "MEDIUM", }'

La réponse du chargeur est la même que d'habitude. Par exemple :

{ "status" : "200 OK", "payload" : { "loadId" : "guid_as_string" } }