Best graph database with simple REST API and rich querying capabilities!
January 30, 2018

Best graph database with simple REST API and rich querying capabilities!

Anudeep Palanki | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

Overall Satisfaction with Neo4j

We used Neo4J to store data that have tree relationships. It is being used by our entire organization for various data to be stored. It addresses the problem of storing data that has multiple relationships pretty well. Storing data in Neo4J allows for a very efficient way to look up nodes and their relationships are quicker than storing similar data in traditional SQL database.
  • Mature Query language, I found Cypher QL to be mature in handling all sorts of problems we throw at it. Its expressive enough to be intuitive while providing rich features for various scenarios.
  • Native support for REST API, that makes interacting with Neo4J intuitive and easy.
  • Support for Procedures in Java, procedures are custom code that could be added to the Neo4J to write custom querying of data. The best part about the procedures is it could be invoked using the REST API. This allows us to overcome any shortcomings from their Cypher query language.
  • Nice UI and interface for executing the Query and visualizing the response.
  • UI access controlled by User credentials allows for neat access controls.
  • Awesome free community edition for small-scale projects.
  • Support for language based libraries. Currently, Neo4J only supports Java-based libraries. We used node and found issues with documentation and support for this library. It helps if Neo4J supports libraries in popular languages.
  • Support for triggers, that's one of the neat features of Postgres and other traditional SQL databases.
  • Support for indexes for data lookup. Looking up multiple nodes information using Neo4J is not very efficient, it is more optimized for looking up relationships between nodes. So adding that support would be very useful.
  • Very positive ROI, we moved legacy data from Oracle into Neo4J after considering query needs and the performance of the lookups increased 4x. Apart from the performance, the code is a lot concise and clean without needing to write 10 joins to look up 2 relationships.
  • Neo4J's licensing model allowed us to experiment with their community edition for free, which is amazing. They provide full support for Community edition and if your data does not warrant Hot backups and Master/Slave configurations, you might as well stick to the Community edition in Prod.
  • Overall, it was a very pleasant experience working with Neo4J. Would highly recommend it.
Its very well suited for storing graph types relationship information, such as a group of people and their relationships. Data modeling this sort of information in a traditional SQL database is a pain and inefficient. Using Neo4J allows for efficient modeling of data while providing rich querying capabilities using Cypher. Its also a great fit for any programming language because of its support for REST API.

It's less appropriate for any other data structure other than Graph data. So as with any DB, evaluate the data structure and query and if the querying revolves around relationships, then Neo4J is a fit. If there is more need for looking up individual nodes and their associated information, Neo4J might not be the most efficient solution in the market.