

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à.

# Informazioni generali sulla migrazione da Neo4j a Neptune
<a name="migrating-from-neo4j-general"></a>

Grazie al [supporto di Neptune per il linguaggio di query openCypher](feature-opencypher-compliance.md), puoi spostare la maggior parte dei carichi di lavoro Neo4j che utilizzano il protocollo Bolt o HTTPS su Neptune. Tuttavia, openCypher è una specifica open source che contiene molte, ma non tutte, le funzionalità supportate da altri database come Neo4j.

Nonostante sia compatibile in molti modi, Neptune non sostituisce in tutto e per tutto Neo4j. Neptune è un servizio di database a grafo completamente gestito con funzionalità aziendali come l'alta disponibilità e l'elevata durabilità, ma la sua architettura è diversa da quella di Neo4j. Neptune si basa sulle istanze: ha una singola istanza di scrittura principale e fino a 15 istanze di replica di lettura che consentono di dimensionare orizzontalmente la capacità di lettura. Utilizzando [Neptune Serverless](neptune-serverless.md), puoi aumentare o ridurre automaticamente la capacità di calcolo a seconda del volume di query. Ciò non dipende dall'archiviazione di Neptune, che viene ridimensionata automaticamente con l'aggiunta di dati.

Neptune supporta la [specifica standard openCypher open source, versione 9](https://s3.amazonaws.com/artifacts.opencypher.org/openCypher9.pdf). Noi crediamo che l'open source sia un bene per tutti e ci impegniamo sia a portare il valore dell'open source ai nostri clienti, sia a portare l'eccellenza operativa delle comunità open source. AWS AWS 

Tuttavia, molte applicazioni in esecuzione su Neo4j utilizzano anche funzionalità proprietarie che non sono open source e che Neptune non supporta. Ad esempio, Neptune non supporta le procedure APOC, alcune clausole e funzioni specifiche di Cypher e i tipi di dati `Char`, `Date` o `Duration`. Neptune trasmette automaticamente i tipi di dati mancanti utilizzando i [tipi di dati supportati](bulk-load-tutorial-format-opencypher.md#bulk-load-tutorial-format-opencypher-data-types).

Oltre a OpenCypher, Neptune supporta anche il linguaggio di interrogazione [ TinkerPop Apache Gremlin per i grafici delle](https://tinkerpop.apache.org/docs/current/reference/#traversal) proprietà (oltre a SPARQL per i dati RDF). Gremlin può interagire con openCypher sullo stesso grafo delle proprietà e, in molti casi, può essere utilizzato per fornire funzionalità che openCypher non offre. Di seguito è riportato un rapido confronto tra i due linguaggi:


|  | openCypher | Gremlin | 
| --- | --- | --- | 
| Stile | Dichiarativo | Imperativo | 
| Sintassi |  Abbinamento di modelli <pre>Match p=(a)-[:route]->(d)<br />WHERE a.code='ANC'<br />RETURN p<br /></pre>  |  Basato su attraversamento <pre>g.V().has('code', 'ANC').<br />out('route').path().<br />by(elementMap())</pre>  | 
| Facilità d'uso | Ispirato a SQL, interpretabile da chi non è programmatore | Più difficile da apprendere, simile a linguaggi di programmazione come Java | 
| Flessibilità | Bassa | Elevata | 
| Supporto delle query | Query basate su stringhe | Query basate su stringhe o codice in linea supportato da librerie client | 
| Client | HTTPS e Bolt | HTTPS e Websocket | 

In generale, non è necessario modificare il modello di dati per eseguire la migrazione da Neo4j a Neptune poiché sia Neo4j che Neptune supportano i dati LPG (Labeled Property Graph). Tuttavia, Neptune ha alcune differenze in termini di architettura e modello di dati da usare per ottimizzare le prestazioni. Esempio:
+ I IDs Nettuno sono trattati come cittadini di prima classe.
+ Neptune utilizza le [policy di AWS Identity and Access Management (IAM)](iam-auth.md) per proteggere l'accesso ai dati del grafo in modo flessibile e dettagliato.
+ Neptune offre diversi modi per [utilizzare i notebook Jupyter](graph-notebooks.md) al fine di eseguire query e [visualizzare i risultati](notebooks-visualization.md). Neptune funziona anche con [strumenti di visualizzazione di terze parti](visualization-tools.md).
+ >Neptune non dispone di un sostituto immediato della libreria Graph Data Science (GDS) di Neo4j, Neptune ma al momento supporta l'analisi dei grafi mediante varie soluzioni. Ad esempio, diversi [notebook di esempio dimostrano come sfruttare l'[integrazione di Neptune con l'SDK AWS Pandas all'interno degli](https://github.com/amazon-archives/fully-automated-neo4j-to-neptune) ambienti Python per eseguire analisi](https://github.com/aws/graph-notebook/tree/main/src/graph_notebook/notebooks/01-Neptune-Database/03-Sample-Applications/06-Data-Science-Samples) sui dati grafici.

In caso di domande, contatta l' AWS assistenza o contatta il team del tuo account. AWS Utilizziamo il tuo feedback per dare priorità a nuove funzionalità in grado di soddisfare le tue esigenze.