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à.
Neptune supporta la creazione di applicazioni a grafo mediante openCypher, attualmente uno dei linguaggi di query più popolari per gli sviluppatori che lavorano con database a grafo. Sviluppatori, analisti aziendali e data scientist apprezzano la sintassi ispirata a SQL di openCypher perché fornisce una struttura familiare per comporre query per applicazioni a grafo.
openCypher è un linguaggio di query dichiarativo per grafi di proprietà che è stato sviluppato originariamente da Neo4j, per poi diventare open source nel 2015, e che ha contribuito al progetto openCypher
Per le limitazioni e le differenze nel supporto di Neptune della specifica openCypher, vedi Conformità alle specifiche OpenCypher in Amazon Neptune.
Nota
L'attuale implementazione Neo4j del linguaggio di query Cypher si è discostata in qualche modo dalla specifica openCypher. Se si sta eseguendo la migrazione del codice Neo4j Cypher corrente a Neptune, consulta Compatibilità di Neptune con Neo4j e Riscrittura delle query Cypher da eseguire in openCypher su Neptune per ulteriori informazioni.
A partire dal rilascio 1.1.1.0 del motore, openCypher è disponibile per l'uso in produzione in Neptune.
Gremlin e openCypher: somiglianze e differenze
Gremlin e openCypher sono entrambi linguaggi di query per grafi di proprietà e sono complementari in molti modi.
Gremlin è stato progettato per attrarre i programmatori e adattarsi perfettamente al codice. Di conseguenza, Gremlin è fondamentale fin dalla progettazione, mentre la sintassi dichiarativa di openCypher può sembrare più familiare a chi ha esperienza con SQL o SPARQL. Gremlin potrebbe sembrare più naturale per un data scientist che utilizza Python in un notebook Jupyter, mentre openCypher potrebbe sembrare più intuitivo per un utente aziendale con un background SQL.
L'aspetto positivo è che in Neptune non è necessario scegliere tra Gremlin e openCypher. Le query in entrambi i linguaggi possono operare sullo stesso grafo indipendentemente da quale dei due linguaggi sia stato utilizzato per inserire i dati. A seconda di ciò che si fa, può essere più conveniente usare Gremlin per alcune cose e openCypher per altre.
Gremlin utilizza una sintassi imperativa che consente di controllare il modo in cui ci si sposta nel grafo in una serie di passaggi, ognuno dei quali riceve un flusso di dati, esegue alcune azioni su di esso (utilizzando un filtro, una mappa e così via) e quindi invia i risultati al passaggio successivo. Una query Gremlin di solito assume il formato g.V()
, seguito da passaggi aggiuntivi.
In openCypher si utilizza una sintassi dichiarativa, ispirata a SQL, che specifica un modello di nodi e relazioni da trovare nel grafo utilizzando una sintassi basata su Motif (come ()-[]->()
). Una query openCypher spesso inizia con una clausola MATCH
, seguita da altre clausole come WHERE
, WITH
e RETURN
.