[hibernate-dev] [OGM] Bolt vs Rest for Neo4j

Davide D'Alto davide at hibernate.org
Mon Aug 22 14:11:23 EDT 2016

at the moment in OGM we connect remotely using the Rest API.
The reason is that when I created the dialect the new Bolt[1] protocol
wasn't available.

I've now finished implementing the dialect so that it uses the Bolt
protocol, there is a lot of duplication since it is very similar to
the approach I used for Rest.

I worked for a while trying to improve the code but I started to
wonder if it might be really helpful to provide two ways to connect
remotely with an increase in complexity of the code (more interfaces
mainly with some additional classes).

I'm now of the idea that we could remove the dialect thata uses Rest
and only keep the one that uses Bolt (as suggested by Giulliame in an
old chat on hipchat).

This will simplify the code and we can always add it back if the need
arise or somebody asks.
Note that the Bolt protocol is the suggested one to use for Neo4j
since it promises better performance.
It will also allow us to remove some dependencies required for the rest client.

Please, let me know if you think there is value in keeping  both
approaches, otherwise I'm going to send a PR that removes the remote


[1]  https://dzone.com/articles/introducing-bolt-neo4js-upcoming-binary-protocol-p

More information about the hibernate-dev mailing list