nicolewhite/RNeo4j

Bolt Integration to Support Neo4j 3.1 Enterprise Edition

hitfuture opened this issue · 7 comments

Bolt is a requirement to utilize the Enterprise edition that supports casual clustering, and security features. We need to integrate Bolt into RNeo4j. Is there work in progress, or a plan to go forward in this area?

I could be wrong, but it would need C bindings, which was discussed here: #58

Yeah, this has been on my to-do list for a while now. Back when Bolt came out I was still researching the best solution (either write my own C/C++ implementation or use @cleishm's https://github.com/cleishm/libneo4j-client) and it fell by the wayside. I would like to say it is 'coming soon' but I don't really know what I'd be getting myself into having never developed in C before.

Nicole, thank you for the response. I've been looking at the Neo4j drivers that support the bolt protocol. In many ways, R is closer to JavaScript or Python, and it looks like both of those languages are not based on C or C++. I'd be curious if we could take one of the existing drivers and translate it to R. We would have to do that manually, and it would take quite a bit of work. Can we get feedback from the Neo4j engineering team on the direction to go?

The R language supports native extensions, so it should be fairly easy to provide an R facade API to libneo4j-client. Happy to provide support on that.

I think it would be easier to use @cleishm's lib rather than write a driver from scratch. For the latter, we'd have to use something like httpuv and go from there. I have a little experience using the Rcpp package, which interfaces with C++, thought I don't know enough about C/C++ to say that it'd be as easy with C as it is with C++.

Just to let you know, I am part of the audience who is eager to know if RNeo4j will support bolt and when.

By the way, good job with RNeo4j so far! :)

Hi,
A pull request will be coming in from Lee Bousfield @PlasmaPower. Lee works for our company and has taken on the integration with the C based Bolt driver library that @cleishm. This version supports Bolt and the existing http protocol. He should be submitting the request tomorrow or on Wednesday. We look forward to your feedback.