As far as I understand, the initial protocol to access Neo4j was HTTP.
Later came Bolt.
Is there a short timeline to deprecate HTTP API access, or will HTTP be maintained over the time?
The Question is because we need to access Neo4j 4.x with PHP and using Bolt is a no go for them moment, then we fall back with writing HTTP API consumer.
If HTTP is going to be deprecated any soon, it's better for us to invest on writing Bolt code...
Anyway, I saw no trace of potential deprecation of HTTP, that is why I finally ask here.
Great observation. The bolt protocol has been the emphasis for the past few years, but there is work going on to refresh HTTP a bit. There are a few limitations with HTTP:
- it doesn't work well in a cluster
- the data representation is less than ideal
We expect that second concern to get some improvement with the upcoming Neo4j 4.2 release. The clustering support will take more time.
Can I ask, how would you feel about a REST or GraphQL proxy for Neo4j? Something running as a tightly integrated but separate process?
Thank you @abk for your answers.
Yes an HTTP proxy that is tightly integrated would be definitely a evry good thing, as it would allow more clients: think, even BASH or Powershell could then have an access and even more, some wrappers.
This is especially more relevent if that proxy supports WebSockets (and HTTP2). Although it could be redundant with bolt by being yet another binary protocol, the wide variety of potential clients makes it acceptable.