jbmusso / gremlin-javascript

JavaScript tools for graph processing in Node.js and the browser inspired by the Apache TinkerPop API
MIT License
214 stars 63 forks source link

Gremlin Client NPM Version Clarification #108

Closed freeformflow closed 6 years ago

freeformflow commented 6 years ago

I'm looking to implement a Node.js server that can make queries against a separate graph database (AWS Neptune). Your repo at https://www.npmjs.com/package/gremlin seemed perfect for my needs when I looked at it on Friday, but Monday morning it was updated to v3.3.2 and points to a completely different repo that has a different interface.

I'm going to try using v2.7 for now, but is there a new recommended way to form a Gremlin client in Node.js? I want to learn about best practices, but I also appreciate the ReadMe you laid out that isn't present on the v3 npm site. 😅

Thank you for your time, -- David

freeformflow commented 6 years ago

PS - oh, and I found an example in AWS Neptune's knowledgebase that also uses this repo. It looks like yesterday AWS Neptune folks updated it to also recommend v2.7 for the time being while they adjust their docs further.

jbmusso commented 6 years ago

This library has been superseded by the official Apache TinkerPop JavaScript/Node.js client which was just published as v3.3.2 on npmjs.org (this matches Apache TinkerPop version). I may be pushing fixes to the v2.x branches here but no further development will be done for this library on this repository.

We decided to publish the official JS Gremlin language variant under the same package name gremlin on npmjs, to avoid fragmenting the ecosystem and adding confusion for newcomers. Since it's a new major version, hopefully it will only cause issue for users relying on the latest version. Doing npm i gremlin@v2 should work for people interested in the older, non official version. I'm happy AWS Neptune already updated their doc! Actually, I wasn't aware that this lib was in the official documentation. I didn't check but I think Microsoft CosmosDB may have to slightly update their doc too.

If you wish to follow the development of the official JavaScript Gremlin language variant, see: https://github.com/apache/tinkerpop/tree/46b743d/gremlin-javascript

I was really happy to start this PoC almost 4 years ago. I learnt a lot! I think this mono-repository will be dedicated to other JS related graph tools, most likely an in-memory graph database, a JS graph traversal machine, and other useful tools which I think would bring a lot of value to the JS/web ecosystem.