Neo4j: Connecting the dots for graph data
September 12, 2016

Neo4j: Connecting the dots for graph data

Aaron Gussman | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

Overall Satisfaction with Neo4j

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.
  • 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.
  • 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.
  • It enables backend functionality that would essentially be impossible without it. It's also pretty easy to get up and running and demos very well.
We've done some BOE comparisons between Neo4j, Titan, and OrientDB. The general consensus was that Titan is too unweildy and that Neo4j beat out OrientDB by being more active and having a large community.
Amazon Elastic Compute Cloud (EC2), Elasticsearch, DataSift, Mesosphere
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).