node-neo4j icon indicating copy to clipboard operation
node-neo4j copied to clipboard

Add EventEmitter/streaming support in the API

Open blevine opened this issue 11 years ago • 4 comments

The new neo4j streaming support provides some performance enhancements. However, clients of the node-neo4j API still have to wait for the entire result set to be collected, possibly converted to Node or Relationship objects, and then finally returned.

With neo4j streaming, a streaming JSON API such as Clarinet (https://github.com/dscape/clarinet), and an EventEmitter-based implementation, node-neo4j could return each result in a result set as it is received in something like a stream.on('result', obj) API.

This would obviously be a big win especially for large result sets.

blevine avatar Sep 28 '12 18:09 blevine

Great request. This would require some re-thinking at both the architectural and API levels. I've been thinking of starting a wiki page for v0.3 planning -- I'd like to rethink a lot of the API. Let's consider how this could fit in for that.

aseemk avatar Sep 28 '12 18:09 aseemk

Any news on that? This is a pretty neat feature I'd love to see in node-neo4j which would also make it the most promising lib for node and neo4j.

krnlde avatar Aug 28 '14 11:08 krnlde

Good news — getting tackled in the currently ongoing v2 redesign!

Issue: #143 / PR: #145 WIP docs: https://github.com/thingdom/node-neo4j/blob/v2/API_v2.md

aseemk avatar Nov 07 '14 10:11 aseemk

Update here: v2 won't have this 100% for now, but (a) it's now at least possible (you just have to wire things up manually, but I'll document how), and (b) an end-to-end impl. is still planned.

aseemk avatar Oct 12 '15 16:10 aseemk