In questa lezione vedremo come utilizzare C# per interagire con Neo4j.
In .NET la gestione le dipendenze è affidata a NuGet. In questo caso il package da installare è Neo4j.Driver.
Come vediamo nel seguente blocco di codice, che esegue gli stessi passi del precedente esempio in Java, la sintassi e il nome delle classi è molto simile.
using Neo4j.Driver.V1;
IDriver driver = GraphDatabase.Driver("bolt://localhost",
AuthTokens.Basic("neo4jUser", "pwd"));
using(ISession session = driver.Session())
{
Statement statement = new Statement(
"MATCH (u:User) WHERE u.name ENDS WITH {searchText} RETURN u.name");
IStatementResult cursor = session.Run(
statement,
new { searchText = "@html.it" } );
foreach(Record record in result) {
String name = record.Item["name].ToString();
// TODO: usare name
}
// Transazione
using(ITransaction transaction = session.BeginTransaction())
{
transaction.Run(
"CREATE(u:User {name: {new_user}})",
new { new_user = "newUser@html.it" });
transation.Success();
}
}
L'unica differenza è che abbiamo introdotto, alla creazione del driver, l'autenticazione (Basic) con username e password. Autenticazione e security sono state oggetto di un importante sviluppo in Neo4j dalla versione 3. Sono infatti supportate le opzioni Basic con username/password, LDAP, Kerberos e autenticazione personalizzata, che può essere realizzata come plugin di Neo4j.