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

Gunnar Morling gunnar at hibernate.org
Fri Aug 26 05:32:20 EDT 2016


> How much additional work would it be to keep the "old" rest in a legacy
module separated from the pure one?
> Does it even make sense?

As a user, when would I prefer which one over the other? If Bolt is the
general recommendation, I'd limit efforts on this one. It seems to be one
of those knobs I'd prevent the user from having to set if possible.

> Can you write a blog post with a small poll to know if anyone complains
> about dropping REST

+1. Would be nice to get some feedback.



2016-08-26 10:10 GMT+02:00 Emmanuel Bernard <emmanuel at hibernate.org>:

> Can you write a blog post with a small poll to know if anyone complains
> about dropping REST. Let's have it on for a week and make a decision. If
> nothing conclusive comes out, let's drop it.
>
> On Fri 2016-08-26  8:27, Davide D'Alto wrote:
> > > Thinking out loud. How much additional work would it be to keep the
> "old" rest in a legacy module
> >
> > It would still require to be maintained, I would prefer not to have it
> > unless there is a specific use case for it
> >
> > >. Does Bolt run atop HTTP as I remember it
> >
> > I don't think so, it's a binary protocol that connects to a port using
> sockets.
> >
> > > PS: it's a bit sad that we implement something (rest remote) and it's
> ready and by lack of release it is replaced and remove it without seeing
> the light of day. Release often.
> >
> > That's actually a bad call from my side, I wanted to release with the
> > new ORM and it took longer than expected to merge the PR.
> >
> > Davide
> >
> > On Fri, Aug 26, 2016 at 7:53 AM, Emmanuel Bernard
> > <emmanuel at hibernate.org> wrote:
> > > Thinking out loud. How much additional work would it be to keep the
> "old" rest in a legacy module separated from the pure one?
> > > Does it even make sense?
> > >
> > > I'm fine with the removal and focus on bolt on a general basis. Does
> Bolt run atop HTTP as I remember it ? Or is that specific ? If the later
> some might want to keep using rest.
> > >
> > > Emmanuel
> > >
> > > PS: it's a bit sad that we implement something (rest remote) and it's
> ready and by lack of release it is replaced and remove it without seeing
> the light of day. Release often.
> > >
> > >> On 22 août 2016, at 22:25, Guillaume Smet <guillaume.smet at gmail.com>
> wrote:
> > >>
> > >> Hi Davide,
> > >>
> > >> I wanted to add 2 things:
> > >> - Neo4j remote with Rest has not been released yet;
> > >> - if we remove the Rest protocol, remote Neo4j will only be supported
> with
> > >> Neo4j >= 3
> > >>
> > >> Personally I'm +1 to only support remote Neo4j with Bolt. Maintaining
> one
> > >> more dialect/protocol just to provide remote for Neo4j < 3 does not
> sound
> > >> like a good tradeoff to me.
> > >>
> > >> --
> > >> Guillaume
> > >>
> > >>> On Mon, Aug 22, 2016 at 8:11 PM, Davide D'Alto <davide at hibernate.org>
> wrote:
> > >>>
> > >>> Hello,
> > >>> 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
> > >>> one.
> > >>>
> > >>> Thanks,
> > >>> Davide
> > >>>
> > >>> [1]  https://dzone.com/articles/introducing-bolt-neo4js-
> > >>> upcoming-binary-protocol-p
> > >>> _______________________________________________
> > >>> hibernate-dev mailing list
> > >>> hibernate-dev at lists.jboss.org
> > >>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
> > >> _______________________________________________
> > >> hibernate-dev mailing list
> > >> hibernate-dev at lists.jboss.org
> > >> https://lists.jboss.org/mailman/listinfo/hibernate-dev
> > >
> > >
> > > _______________________________________________
> > > hibernate-dev mailing list
> > > hibernate-dev at lists.jboss.org
> > > https://lists.jboss.org/mailman/listinfo/hibernate-dev
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>


More information about the hibernate-dev mailing list