Neo4j 3.x added a new transport protocol called ‘Bolt’ in essence a binary transmission protocol to speed up connectivity to the database, and with a series of official drivers – get everyone on an even keel.
Trouble is, changing from Neo4jClient to Neo4j-Driver is a big pain, for two main reasons:
1. You lose all the fluent setup you get with Neo4jClient (Cypher.Match(“”).Where(“”) etc)
2. You lose all the object mapping (.Return(u => u.As<User>()))
Some people would be happy to just be able to add text and lose 1, but 2 is a big deal breaker. Plus, if you have any amount of code – swapping it out would just take a long time. I happen to have a relatively large codebase using Neo4jClient (Tournr) and I’m quite frankly not willing to swap out.
I’ve pushed a Bolt version to my MyGet location:
It doesn’t have Transaction functionality (in either Full or Core .NET) for Bolt, but should have the Object mapping, please try it and let me know any problems.
Code wise - change:
new GraphClient(new Uri("http://localhost:7474/db/data"));
new BoltGraphClient(new Uri("bolt://localhost:7687"));