

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Formato di caricamento dei dati openCypher
<a name="bulk-load-tutorial-format-opencypher"></a>

Per caricare i dati openCypher utilizzando il formato CSV openCypher, è necessario specificare nodi e relazioni in file separati. Lo strumento di caricamento può caricare da più di questi file di nodi e file di relazioni in un unico processo di caricamento.

Per ogni comando di caricamento, il set di file da caricare deve avere lo stesso prefisso di percorso in un bucket Amazon Simple Storage Service. Il prefisso viene specificato nel parametro di origine. I nomi e le estensioni effettivi dei file non sono importanti.

In Amazon Neptune, il formato CSV openCypher è conforme alla specifica CSV RFC 4180. Per ulteriori informazioni, vedere [Common Format and MIME Type for CSV Files](https://tools.ietf.org/html/rfc4180) (https://tools.ietf.org/html/rfc4180) sul sito Web di Internet Engineering Task Force (IETF).

**Nota**  
Questi file DEVONO essere codificati in formato UTF-8.

Ogni file ha una riga di intestazione separata da virgole che contiene sia intestazioni di colonna di sistema che intestazioni di colonna di proprietà.

## Intestazioni di colonna di sistema nei file di caricamento dati openCypher
<a name="bulk-load-tutorial-format-opencypher-system-headers"></a>

Una determinata colonna di sistema può essere presente una sola volta in ogni file. Tutte le etichette delle intestazioni di colonna di sistema fanno distinzione tra maiuscole e minuscole.

Le intestazioni di colonna di sistema obbligatorie e consentite sono diverse per i file di caricamento dei nodi e i file di caricamento delle relazioni openCypher:

### Intestazioni di colonna di sistema nei file dei nodi
<a name="bulk-load-tutorial-format-opencypher-system-headers-nodes"></a>
+ **`:ID`**: (obbligatorio) ID per il nodo.

  È possibile aggiungere uno spazio ID opzionale all'intestazione di colonna `:ID` del nodo in questo modo: `:ID(ID Space)`. Un esempio è `:ID(movies)`.

  Quando caricate le relazioni che collegano i nodi di questo file, utilizzate gli stessi spazi ID nelle colonne dei file di relazione. `:START_ID` and/or `:END_ID`

  La colonna `:ID` del nodo può essere facoltativamente archiviata come proprietà nel formato `property name:ID`. Un esempio è `name:ID`.

   IDs Il nodo deve essere unico per tutti i file di nodi nel caricamento corrente e precedente. Se viene utilizzato uno spazio ID, il nodo IDs deve essere univoco per tutti i file di nodi che utilizzano lo stesso spazio ID nei caricamenti correnti e precedenti.
+ **`:LABEL`**: etichetta per il nodo.

  Quando si utilizzano più valori di etichetta per un singolo nodo, ogni etichetta deve essere separata da punto e virgola ()`;`.

### Intestazioni di colonna di sistema nei file delle relazioni
<a name="bulk-load-tutorial-format-opencypher-system-headers-relationships"></a>
+ **`:ID`**: ID della relazione. È obbligatorio quando `userProvidedEdgeIds` è true (impostazione predefinita), ma non è valido quando `userProvidedEdgeIds` è `false`.

  La relazione IDs deve essere unica in tutti i file di relazione nei caricamenti correnti e precedenti.
+ **`:START_ID`**: (*obbligatorio*) ID del nodo da cui inizia questa relazione.

  Facoltativamente, è possibile associare uno spazio ID alla colonna ID iniziale nel formato `:START_ID(ID Space)`. Lo spazio ID assegnato all'ID nodo iniziale deve corrispondere allo spazio ID assegnato al nodo nel relativo file dei nodi.
+ **`:END_ID`**: (*obbligatorio*) ID del nodo in cui termina questa relazione.

  Facoltativamente, è possibile associare uno spazio ID alla colonna ID finale nel formato `:END_ID(ID Space)`. Lo spazio ID assegnato all'ID nodo finale deve corrispondere allo spazio ID assegnato al nodo nel relativo file dei nodi.
+ **`:TYPE`**: tipo della relazione. Le relazioni possono avere un solo tipo.

**Nota**  
[Caricamento di dati openCypher](load-api-reference-load.md#load-api-reference-load-parameters-opencypher)Per informazioni su come il nodo o la relazione duplicati IDs vengono gestiti dal processo di caricamento in blocco, vedere.

### Intestazioni di colonna di proprietà nei file di caricamento dati openCypher
<a name="bulk-load-tutorial-format-opencypher-property-headers"></a>

È possibile specificare che una colonna contenga i valori di una particolare proprietà utilizzando l'intestazione di una colonna di proprietà nel seguente formato:

```
propertyname:type
```

Lo spazio, la virgola, il riepilogo e i caratteri di nuova riga non sono consentiti nelle intestazioni delle colonne, pertanto i nomi delle proprietà non possono includere questi caratteri. Ecco un esempio di intestazione di colonna per una proprietà denominata `age` di tipo `Int`:

```
age:Int
```

La colonna con `age:Int` come intestazione di colonna dovrebbe quindi contenere un numero intero o un valore vuoto in ogni riga.

## Tipi di dati nei file di caricamento dati di Neptune openCypher
<a name="bulk-load-tutorial-format-opencypher-data-types"></a>
+ **`Bool`** o **`Boolean`**: campo booleano. I valori consentiti sono `true` e `false`.

  Qualsiasi valore diverso da `true` viene trattato come `false`.
+ **`Byte`**: numero intero compreso tra `-128` e `127`.
+ **`Short`**: numero intero compreso tra `-32,768` e `32,767`.
+ **`Int`**: numero intero compreso tra `-2^31` e `2^31 - 1`.
+ **`Long`**: numero intero compreso tra `-2^63` e `2^63 - 1`.
+ **`Float`**: numero in virgola mobile IEEE 754 a 32 bit. Sono supportate sia la notazione decimale che la notazione scientifica. `Infinity`, `-Infinity` e `NaN` sono tutti riconosciuti, mentre `INF` non lo è.

  I valori che contengono troppe cifre vengono arrotondati al valore più vicino (un valore intermedio viene arrotondato a 0 per l'ultima cifra rimanente a livello di bit).
+ **`Double`**: numero in virgola mobile IEEE 754 a 64 bit. Sono supportate sia la notazione decimale che la notazione scientifica. `Infinity`, `-Infinity` e `NaN` sono tutti riconosciuti, mentre `INF` non lo è.

  I valori che contengono troppe cifre vengono arrotondati al valore più vicino (un valore intermedio viene arrotondato a 0 per l'ultima cifra rimanente a livello di bit).
+ **`String`**: le virgolette sono facoltative. Per i caratteri di virgola, nuova riga e ritorno a capo viene automaticamente inserito un carattere di escape, se sono inclusi in una stringa racchiusa tra virgolette doppie (`"`) come `"Hello, World"`.

  È possibile includere le virgolette in una stringa tra virgolette usandone due di seguito come `"Hello ""World"""`.
+ **`DateTime`**: data Java in uno dei seguenti formati ISO-8601:
  + `yyyy-MM-dd`
  + `yyyy-MM-ddTHH:mm`
  + `yyyy-MM-ddTHH:mm:ss`
  + `yyyy-MM-ddTHH:mm:ssZ`

### Tipi di dati con trasmissione automatica nei file di caricamento dati di Neptune openCypher
<a name="bulk-load-tutorial-format-opencypher-data-auto-cast"></a>

I tipi di dati con trasmissione automatica vengono forniti per caricare tipi di dati attualmente non supportati in modo nativo da Neptune. I dati in tali colonne vengono archiviati letteralmente come stringhe senza alcuna verifica rispetto ai formati previsti. Sono consentiti i seguenti tipi di dati con trasmissione automatica:
+ **`Char`**: campo `Char`. Archiviato come stringa.
+ **`Date`**, **`LocalDate`** e **`LocalDateTime`**: vedi [Neo4j Temporal Instants](https://neo4j.com/docs/cypher-manual/current/values-and-types/temporal/#cypher-temporal-instants) per una descrizione dei tipi `date`, `localdate` e `localdatetime`. I valori vengono caricati letteralmente come stringhe, senza convalida.
+ **`Duration`**: vedi [Neo4j Duration format](https://neo4j.com/docs/cypher-manual/current/values-and-types/temporal/#cypher-temporal-durations). I valori vengono caricati letteralmente come stringhe, senza convalida.
+ **Point**: campo Point per l'archiviazione di dati spaziali. Vedi [Spatial instants](https://neo4j.com/docs/cypher-manual/current/values-and-types/spatial/#spatial-values-spatial-instants). I valori vengono caricati letteralmente come stringhe, senza convalida.

## Esempio del formato di caricamento openCypher
<a name="bulk-load-tutorial-format-opencypher-example"></a>

Il seguente diagramma tratto dal TinkerPop Modern Graph mostra un esempio di due nodi e una relazione:

![\[Diagramma di due nodi e una relazione tra di essi.\]](http://docs.aws.amazon.com/it_it/neptune/latest/userguide/images/tinkerpop-2-nodes-and-relationship.png)


Di seguito è riportato il grafo nel normale formato di caricamento di Neptune openCypher.

**File dei nodi:**

```
:ID,name:String,age:Int,lang:String,:LABEL
v1,"marko",29,,person
v2,"lop",,"java",software
```

**File di relazione:**

```
:ID,:START_ID,:END_ID,:TYPE,weight:Double
e1,v1,v2,created,0.4
```

In alternativa, è possibile utilizzare gli spazi ID e l'ID come proprietà, come segue:

**File del primo nodo:**

```
name:ID(person),age:Int,lang:String,:LABEL
"marko",29,,person
```

**File del secondo nodo:**

```
name:ID(software),age:Int,lang:String,:LABEL
"lop",,"java",software
```

**File di relazione:**

```
:ID,:START_ID(person),:END_ID(software),:TYPE,weight:Double
e1,"marko","lop",created,0.4
```