> > > What are the advantages of using HTTP directly over native SDK like the > Java > > one? > You have to understand that "native" runs as as part of the same process. > And that's why it's supposed to be faster. > Running as part of the app means that you lock the database to one single > app (you can't just go and fix production data). > > With REST, you have a separate server. Thus multiple applications can use. > Or you can access it directly through normal web browser to fix your data. > Or even run background jobs against that server. All that is not possible > with native.
Great points here about REST vs in-process use of Neo4j, but... > > > Don't they have a native SDK for Python and Ruby as well (although I > think > > they are just wrappers for tje HTTP API?) > No. Saying "native" it means that it is native to Java only. > So as long as you are on JVM, you can use the native SDK. > > There are versions of Ruby (JRuby) and Python (Jypthon) that are built > specifically to target JVM. And that's why you can use it. > But if you want to use "normal" Ruby or Python, your only option is REST. > This is wrong. There are REST *and* native Python (CPython, not just Jython) bindings, using a Python/JVM interface called JPype. Same applies to your case with Nodejs. So it would seem that if Node.js had an existing interface to the JVM, this would be possible. A quick search didn't find a JPype equivalent for Node, but at least the possibility is hinted at on SO - http://stackoverflow.com/questions/4729013/can-i-call-java-from-node-js-via-jni-and-how -- Matt Luongo Co-Founder, Scholr.ly _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user