I have for some years used the HTTP API to access neo4j database from the Eiffel language. I was thinking of using AuraDB and found this statement
"The HTTP API is available in Community Edition and Enterprise Edition, but not in AuraDB"
I assume that I need to use a driver that use the BOLT protocol or write my own driver based on the BOLT protocol to be able to use AuraDB. How different is a driver implementation using BOLT compared to using the HTTP API implementation?
Does it exists any other drawbacks of using the HTTP API compared to BOLT, for example will not be supported in later versions of neo4j? I have read that BOLT has a richer feature set than the HTTP API but so far I have not been restricted by the feature set available in the HTTP API,
If I want to publish my Eiffel driver that use the HTTP API do you have any requirements on how it should be done?
Hello, some features are not fully available in REST APIs (some authentication schemes are missing for instance). The major difference, as you pointed out, is the current lack of support of REST API in Aura.
If Aura is a requirement, you will indeed have to implement a driver that complies to the Bolt protocol, which is documented in 7687.org (and we, the drivers team, can help you do so, in a best-effort fashion).
Regarding HTTP API implementations, there is no particular guidelines. Some HTTP-based Neo4j clients stick to what the HTTP API expose, others build up a rich feature set on top of it.