In questa e nelle prossime lezioni vediamo come si può interagire con Neo4j server. In particolare, qui vedremo come interfacciarci al server Neo4j, introducendo il concetto dei driver. Nelle prossime lezioni metteremo in pratica questi concetti, approfondendo l'interfacciamento tramite i driver Java e C#/.NET, nonché capendo come utilizzare Neo4j tramite HTTP. Infine, valuteremo anche l'opzione di interfacciamento basata sul linguaggio di scripting JavaScript.
Le applicazioni possono interrogare o agire sul server Neo4j principalmente in due modi: utilizzando un driver oppure invocando la HTTP API. Mentre quest'ultima si basa su chiamate HTTP, un driver è semplicemente un'implementazione in un certo linguaggio del protocollo Bolt, un protocollo binario progettato per Neo4j, e con una versione indipendente dal database. La versione di un driver coincide con la versione del protocollo Bolt implementato.
Neo4j supporta quattro driver ufficiali:
- Java e tutti i linguaggi basati su JVM (Scala, Groovy, ecc.);
- C# e tutti i linguaggi del framework .NET (VB.NET, F#, ecc.);
- Python;
- JavaScript.
Per alcuni altri linguagi, ad esempio PHP, esistono implementazioni di Bolt realizzate e mantenute da terze parti, che forniscono driver anche ben documentati. In caso di linguaggi per cui invece non esiste un driver o non ne esista uno ben supportato, si può ricorrere alle API HTTP: è sufficiente utilizzare un client HTTP per consumare i servizi.
Come vedremo nelle prossime lezioni, i driver per Java e C# hanno una API molto simile: le classi e i metodi hanno nomi simili e si usano con costrutti analoghi. Nel caso del driver JavaScript, invece, sarà necessario scrivere codice leggermente diverso a causa della diversa struttura del linguaggio (per quanto i metodi abbiano nomi simili).