Michał Tyszkiewicz
9/26/2021
A while ago I wrote a bit about the GRAND stack, an integration of GraphQL, React, Apollo and the Neo4j Database. While working with the stack carries numerous benefits (and hey if you’re curious about those head on over and read about them here) it can be a bit overwhelming to get straight into it if you’re just starting out. So this time let's just look at the integration of the ‘G’ with the ‘N’ and with good reason as there is quite a bit of new stuff to check out there.
The GRAND stack has made use of combining the strengths of the Neo4j database with GraphQL for a while, but the team at Neo4j wasn't resting on their laurels and has been hard at work to improve on the benefits of combining the two technologies. In 2018 they released a library neo4j-graphql.js, a GraphQL-to-Cypher based query execution layer for Neo4j and JavaScript GraphQL implementations. To put it short, something that gives you a fully functioning GraphQL API backed by Neo4j just by using type implementations from the GraphQL schema. The library was very useful and quite popular so it's not surprising they decided to build on that.
In early april of 2021 the Neo4j team announced that after a year of hard work they’re releasing a beta of the Neo4j GraphQL library. Since then they’ve only picked up the pace with the full stable 1.0.0 release coming in that very same month. Even at just a glance the features look pretty enticing
Continuing with their blistering pace, neo4j dropped version 2.0.0 of their library on august tenth. While you could say that on the whole this library is a replacement or rather a continuation of the neo4j-graphql.js library with the sheer number of features it has far surpassed it. Aside from the usual stuff you can expect from a 2.0 update like bug fixes or performance improvements we have a few completely new features:
That’s not all, the update also provides improvements to union relationship fields, more comprehensive validation of type definitions and various bug fixes. On the whole the key thing is still utilizing how good GraphQL is at displaying even complex data and relationships is probably the best way to take full advantage of that. Even if that doesn't convince you, with how quickly the development is going on this particular library, you can be sure a lot of additional features will be added very soon.
Oh and make sure to check this video presenting Neo4j GraphQL Library in action:
https://www.youtube.com/watch?v=Ww3XclhuaaU