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.
Pour charger des données openCypher à l'aide du format CSV openCypher, vous devez spécifier les nœuds et les relations dans des fichiers séparés. Le chargeur peut charger les données à partir de plusieurs de ces fichiers de nœuds et fichiers de relations en une seule tâche de chargement.
Pour chaque commande de chargement, l'ensemble de fichiers à charger doit avoir le même préfixe de chemin dans un compartiment Amazon Simple Storage Service. Vous spécifiez ce préfixe dans le paramètre source. Les noms et les extensions de fichier ne sont pas importants.
Dans Amazon Neptune, le format CSV openCypher est conforme à la spécification CSV RFC 4180. Pour plus d'informations, consultez Common Format et type MIME pour les fichiers CSV
Note
Ces fichiers DOIVENT être encodés au format UTF-8.
Chaque fichier possède une ligne d'en-têtes séparés par des virgules, qui contient à la fois les en-têtes de colonne système et les en-têtes de colonne des propriétés.
En-têtes de colonne système dans les fichiers de chargement de données openCypher
Une colonne système spécifique ne peut apparaître qu'une seule fois dans chaque fichier. Toutes les étiquettes d'en-tête de colonne système sont sensibles à la casse.
Les en-têtes de colonne système obligatoires et autorisés sont différents pour les fichiers de chargement de nœuds et les fichiers de chargement de relations openCypher :
En-têtes de colonnes système dans les fichiers de nœuds
-
:ID
: (obligatoire) ID du nœud.Un espace d'ID facultatif peut être ajouté à l'en-tête de colonne du nœud
:ID
comme ceci ::ID(
. Par exemple :ID Space
):ID(movies)
.Lorsque vous chargez des relations qui connectent les nœuds de ce fichier, utilisez les mêmes espaces d'ID dans les colonnes
:START_ID
et/ou:END_ID
des fichiers de relations.La colonne du nœud
:ID
peut éventuellement être stockée en tant que propriété sous la forme
. Par exemple :property name
:IDname:ID
.Le nœud IDs doit être unique parmi tous les fichiers de nœuds des chargements actuels et précédents. Si un espace d'identification est utilisé, le nœud IDs doit être unique parmi tous les fichiers de nœuds qui utilisent le même espace d'identification lors des chargements actuels et précédents.
-
:LABEL
: étiquette du nœud.Plusieurs valeurs d'étiquette sont autorisées, séparées par des points-virgules (
;
).
En-têtes de colonnes système dans les fichiers de relations
-
:ID
: ID de la relation. Obligatoire lorsqueuserProvidedEdgeIds
est défini sur true (valeur par défaut), mais non valide quanduserProvidedEdgeIds
indiquefalse
.La relation IDs doit être unique dans tous les fichiers de relations des chargements actuels et précédents.
-
:START_ID
: (obligatoire) ID du nœud à partir duquel cette relation commence.Un espace d'ID peut être associé à la colonne d'ID de départ sous la forme
:START_ID(
. L'espace d'ID attribué à l'ID du nœud de départ doit correspondre à l'espace d'ID attribué au nœud dans son fichier de nœud.ID Space
) -
:END_ID
: (obligatoire) ID du nœud où cette relation se termine.Un espace d'ID peut être associé à la colonne d'ID de fin sous la forme
:END_ID(
. L'espace d'ID attribué à l'ID du nœud de fin doit correspondre à l'espace d'ID attribué au nœud dans son fichier de nœud.ID Space
) -
:TYPE
: type de relation. Les relations ne peuvent avoir qu'un seul type.
Note
Consultez Chargement de données openCypher pour plus d'informations sur la façon dont les nœuds ou IDs les relations dupliqués sont gérés par le processus de chargement en bloc.
En-têtes de colonnes de propriétés dans les fichiers de chargement de données openCypher
Vous pouvez spécifier qu'une colonne contient les valeurs d'une propriété particulière à l'aide d'un en-tête de colonne de propriété sous la forme suivante :
propertyname
:type
Les espaces, les virgules, le retour en chariot et les caractères de nouvelle ligne ne sont pas autorisés dans les en-têtes de colonne. Les noms de propriétés ne peuvent donc pas inclure ces caractères. Voici un exemple d'en-tête de colonne pour une propriété nommée age
de type Int
:
age:Int
La colonne avec age:Int
comme en-tête de colonne devrait alors contenir un entier ou une valeur vide sur chaque ligne.
Types de données dans les fichiers de chargement de données Neptune openCypher
-
Bool
ouBoolean
: champ booléen. Les valeurs autorisées sonttrue
etfalse
.Toute valeur autre que
true
qui est traitée commefalse
. -
Byte
: nombre entier compris entre-128
et127
. -
Short
: nombre entier compris entre-32,768
et32,767
. -
Int
: nombre entier compris entre-2^31
et2^31 - 1
. -
Long
: nombre entier compris entre-2^63
et2^63 - 1
. -
Float
: nombre à virgule flottante IEEE 754 32 bits. La notation décimale et la notation scientifique sont toutes deux prises en charge.Infinity
,-Infinity
, etNaN
sont tous reconnus, mais pasINF
.Les valeurs contenant trop de chiffres sont arrondies à la valeur la plus proche (une valeur intermédiaire est arrondie à 0 pour le dernier chiffre restant au niveau du bit).
-
Double
: nombre à virgule flottante IEEE 754 64 bits. La notation décimale et la notation scientifique sont toutes deux prises en charge.Infinity
,-Infinity
, etNaN
sont tous reconnus, mais pasINF
.Les valeurs contenant trop de chiffres sont arrondies à la valeur la plus proche (une valeur intermédiaire est arrondie à 0 pour le dernier chiffre restant au niveau du bit).
-
String
: les guillemets sont facultatifs. Les virgules et les caractères de saut de ligne et de retour à la ligne font automatiquement l'objet d'un échappement s'ils sont inclus dans une chaîne entourée de guillemets doubles ("
) comme"Hello, World"
.Vous pouvez inclure des guillemets dans une chaîne qui contient déjà des guillemets en utilisant deux guillemets d'affilée comme
"Hello ""World"""
. -
DateTime
: date Java dans l'un des formats ISO 8601 suivants :yyyy-MM-dd
yyyy-MM-ddTHH:mm
yyyy-MM-ddTHH:mm:ss
yyyy-MM-ddTHH:mm:ssZ
Types de données diffusées automatiquement dans les fichiers de chargement de données Neptune openCypher
Les types de données diffusées automatiquement sont fournis pour charger des types de données qui ne sont pas actuellement pris en charge nativement par Neptune. Les données de ces colonnes sont stockées sous forme de chaînes, mot pour mot, sans vérification par rapport au format prévu. Voici les types de données diffusées automatiquement qui sont autorisés :
-
Char
: champChar
. Stocké sous forme de chaîne. -
Date
,LocalDate
, etLocalDateTime
: consultez Instants temporels Neo4jpour obtenir une description des types date
,localdate
etlocaldatetime
. Les valeurs sont chargées telles quelles sous forme de chaînes, sans validation. -
Duration
: consultez le format de durée Neo4j. Les valeurs sont chargées telles quelles sous forme de chaînes, sans validation. -
Point : champ de point destiné au stockage de données spatiales. Consultez Instants spatiaux
. Les valeurs sont chargées telles quelles sous forme de chaînes, sans validation.
Exemple de format de chargement openCypher
Le schéma suivant, tiré du TinkerPop Modern Graph, montre un exemple de deux nœuds et d'une relation :

Voici le graphe au format de chargement Neptune openCypher normal.
Fichier de nœud :
:ID,name:String,age:Int,lang:String,:LABEL v1,"marko",29,,person v2,"lop",,"java",software
Fichier de relation :
:ID,:START_ID(person),:END_ID(software),:TYPE,weight:Double e1,"marko","lop",created,0.4
Vous pouvez également utiliser les espaces d'ID et l'ID en tant que propriétés, comme suit :
Fichier du premier nœud :
name:ID(person),age:Int,lang:String,:LABEL "marko",29,,person
Fichier du deuxième nœud :
name:ID(software),age:Int,lang:String,:LABEL "lop",,"java",software
Fichier de relation :
:ID,:START_ID,:END_ID,:TYPE,weight:Double e1,"marko","lop",created,0.4