Neo4jClient–Bolt Edition

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:

https://www.myget.org/feed/cskardon/package/nuget/Neo4jClient

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"));

to

new BoltGraphClient(new Uri("bolt://localhost:7687"));

Print | posted @ Wednesday, December 7, 2016 5:43 PM

Comments on this entry:

No comments posted yet.

Post A Comment
Title:
Name:
Email:
Comment:
Verification: