TrustRadius: an HG Insights company

Neo4j Reviews & Insights

Score9.7 out of 10

35 Reviews and Ratings

Community insights

TrustRadius Insights for Neo4j are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.

Pros

Fast and Efficient Performance: Many users have praised Neo4j for its extremely fast performance, allowing for quick processing of queries and efficient handling of large datasets. The software's ability to handle complex tasks without any performance issues has been highlighted by multiple reviewers.

Intuitive Query Language: Reviewers have appreciated the intuitive and easy-to-use query language, Cypher, which makes it simple to write and execute queries in Neo4j. This mature query language offers rich features and is capable of effectively handling a wide range of problems, making it a preferred choice for many users.

Flexible Integration Options: Neo4j's support for APIs in various programming languages such as Java, Python, PHP, and NodeJS has been highly valued by users. This flexibility allows for seamless integration with different systems and provides ease of use when working with external applications or services.

Neo4j Reviews

9 Reviews

Look in a different way if you need scale - this is not suitable

Rating: 2 out of 10

Use Cases and Deployment Scope

Scaling is a huge issue in Neo4j. Clusters are supposed to allow horizontal scaling and they say they support billions of nodes, but in fact, a database with ~600 mil nodes and 1.5TB in size is barely manageable. Backups slow, count() times out, server restart will take hours (!!!!). And 2GB hard transaction limit is another hard candy of a clustered mode, requiring to use things like apoc.iterate for long updates, making them impossible to rollback in case something goes wrong (apoc.iterate commits results on the go).

So - if you need scaling, think twice.

Pros

  • Graph traverse.

Cons

  • Scaling and clustering.
  • Transactions limitations.
  • Performance on millions of data.
  • Backup and restore.

Likelihood to Recommend

Small to medium data sets (up to tens of millions of nodes) work acceptably.
Big data sets - hundreds of millions - look another way.
Vetted Review
Neo4j
2 years of experience

To Neo4J or not to Neo4J? Neo4J all the way!

Rating: 8 out of 10
Incentivized

Use Cases and Deployment Scope

[Neo4j] is being used on the commercial side of our organization to help create network maps and see relationships between customers or end-users. I am not sure if other areas of the business are using it at the moment. I would say it is still in its infancy at our company, though.

Pros

  • Show relationships between different data points
  • Visualize network maps
  • Show stronger influencers

Cons

  • Be quicker at processing data
  • Have less lagging when interacting with the network map
  • Be able share with other users on a server

Likelihood to Recommend

Neo4J is great for creating network graphs or illustrating how things are related. It is also good for finding individuals or things that have greater influence than others in a system. It is not appropriate if you have standard data sets that can be analyzed using conventional methods or visualized using Tableau, for example.
Vetted Review
Neo4j
1 year of experience

Neo4j : Good option for small dataset with API support

Rating: 6 out of 10
Incentivized

Use Cases and Deployment Scope

As [we are] working in the US healthcare domain, we have to deal with large databases like UMLS. It also contains more than 12 relationships among the nodes. To analyze and build a relational module, Neo4j is good choice for us. Mostly Neo4j is used in the R&D department for analysis. But it is also in use at application level to support queries on a large dataset.

Pros

  • It's very efficient on large datasets to support the multiple relations between the nodes.
  • Inserting or updating any node or relation is also very easy through the UI or a script
  • Provides very good graphical representation to analyse or present a dataset
  • Very good interactive UI for analysis of any dataset

Cons

  • Though the performance is good on a small dataset it requires a well configured server for a large dataset
  • Also graphical representation for less complex dataset is good but for complex dataset in which more than 10 relation possible graphs are not good
  • Also the interactive UI for a complex dataset is little bit complex

Likelihood to Recommend

Neo4j is well suited for POC and analysis purposes on some subsets of large data sets; also very efficient query language to query the knowledge. But if you have to deal with a large and complex data set, it's not a good option.
Vetted Review
Neo4j
5 years of experience

Neo4j, best graph database out there!

Rating: 10 out of 10
Incentivized

Use Cases and Deployment Scope

We use Neo4j to manage all the relationships of our data. We didn't want to use anything else because joins get too slow for querying. Neo4j is actually the glue to our platform. Everything is connected using Neo4j, having it makes the management of our data fairly easy and also allows for easy analysis and reports.

Pros

  • Easy way to query data.
  • Easy way to insert and store relationships.
  • Easy to visualize data in Neo4j browser.
  • Easy to learn.

Cons

  • Sometimes hard to visualize complex data analyses.
  • Tough to see space used.
  • Tough to allocate memory or other configurations.

Likelihood to Recommend

If you are looking for a graph database solution Neo4j is the way to go. It is the easiest and most robust solution to use on the market. Even so, the community version is free and the community support around Neo4j is really good. The database performance is extremely fast.

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

Rating: 10 out of 10
Incentivized

Use Cases and Deployment Scope

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.

Pros

  • 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.

Cons

  • 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.

Likelihood to Recommend

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.

Where graph data modeling shines using Neo4j

Rating: 10 out of 10
Incentivized

Use Cases and Deployment Scope

I am using it as schemaless data store to persist my knowledge graph. As the name indicates, neo4j is a perfect choice when the query pattern is about finding the relationships between entities. I evaluated it with similar use cases, besides knowledge graph, where finding patterns was essential. It is a very good choice when joins are very common in a relational store. As the data is completely materialized, all joins are in constant time which tremendously improves query performance out of the box without extra system design.

Pros

  • When joins are a common in a relational store, switching to Neo4j is better
  • When pattern matching and surfacing interesting insights is the goal, neo4j's cypher is pretty powerful
  • When schema is not completely known beforehand and needs to be evolved with time

Cons

  • Better support for aggregation queries
  • Drivers for Spark where ML or more computationally heavy jobs are to be performed
  • Native support for complex properties for nodes and relationships

Likelihood to Recommend

  • When pattern matching in data is crucial
  • When data exploration is common query pattern
  • When a graph algorithm solves the problem better at scale
  • When evolving schema is important
  • When constant time joins in a relational database are common
  • When schemaless transaction support is required
  • When thinking in patterns is a more common way to derive insights from the data

High performance, great support, easy to extend functionality

Rating: 10 out of 10

Use Cases and Deployment Scope

Neo4j provides the framework for our business’ cloud solution, which helps companies digitize their supply chains. It is used primarily by our developer team, but our entire organization benefits from it. We were looking for a solution that would be able to handle very complex queries without sacrificing performance, and Neo4j really addresses these issues.

Pros

  • Very quick to get our project up and running (prototype built in less than 3 months).
  • No performance issues even for very large amounts of data, and extremely quick search response time. No need to worry about problems for users of our platform.
  • Always easy to extend functionality – Neo4j helps us accelerate our company development.

Cons

  • Our developer team is very happy with the functionalities provided by Neo4j.

Likelihood to Recommend

Neo4j is well suited for any company dealing with complicated and interconnected data.
Vetted Review
Neo4j
2 years of experience

Are you ready for the best Graph Database in town? :)

Rating: 10 out of 10
Incentivized

Use Cases and Deployment Scope

Neo4j was an experiment for us. We needed to model people and relationships for which graph databases were most suited. Google search resulted "Neo4j" on top, so we tried it, and it is awesome! The project, unfortunately, has been shut down, but at the time, we used it as the primary database for the application. The database model was designed such that every piece of information could be mapped to either a node or an edge, so we didn't need to use any sort of relational or other no-SQL database.

Pros

  • Neo4j is extremely fast.
  • Neo4j has its own query language CYPHER which is very intuitive and easy to use.
  • Neo4j supports API in almost every language like Java, Python, PHP, NodeJS, etc.

Cons

  • One of the hardest challenges that Neo4j had to solve was the horizontal scaling problem. I am not updated on recent developments, but at the time of my use, I couldn't find a viable solution.
  • Neo4j does not play with other open source APIs like Blueprint. You have to use the native Neo4j API.
  • There wasn't a visual tool to see your data. Of course, third party tools are always available, but I would have loved something which came with the Neo4j bundle. I love that Docker comes bundled with Kitematic, so it's not wrong to hope that Neo4j could also ship with some default visualization software.

Likelihood to Recommend

If you have a graph problem, or if you can model your data in nodes and edges, my friend, you need a graph database. And Neo4j is the leading one. So that is reason good enough to use it.

But if you try and use it without a use case, you are in for a rough ride. It is hard to switch from a relational or JSON like data structure to a graph one. You wouldn't have access to all the joins and tables (at least not in the traditional sense).

Neo4j: Connecting the dots for graph data

Rating: 10 out of 10
Incentivized

Use Cases and Deployment Scope

We use Neo4j as storage for data that can naturally be modeled as a graph (think nodes and edges). It allows us to create rich objects with multiple properties, ingest them at reasonable rates, and the search against the graph and return results fast enough that you can run a website directly off it.

It's not a general data storage solution, but for applications where you can about the graph or network nature of the data it excels.

Pros

  • It's very easy to install.
  • The built in web interface is incredibly useful. It enables you to quickly test out queries and visualize the results.
  • Third-party libraries/APIs are well represented. CYPHER isn't actually that hard to write directly, either.

Cons

  • It would be nice to have some concept of namespaces, or some way of roughly making a single instance multi-tenant. It'd be nice to make sandboxing easier.
  • Automatic backups could be improved.

Likelihood to Recommend

Neo4j should only used when your data can be modeled as a graph (e.g. nodes and edges) AND you actually care about its network qualities. It's not a general purpose data store. If you have large amounts of text to store, you'll need to augment Neo4j with something else like ElasticSearch. Also Neo4j can be a little wonky with date time data (e.g., attempts at representing date time objects explicitly on the graph, as opposed to properties, is going to be a challenge).