What is Neo4j?

Neo4j stores data in nodes connected by directed, typed relationships with properties on both, also known as a Property Graph. It is a high performance graph store with all the features expected of a mature and robust database, like a friendly query language and ACID transactions.
Neo4j is a tool in the Graph Databases category of a tech stack.
Neo4j is an open source tool with 9.4K GitHub stars and 2.1K GitHub forks. Here’s a link to Neo4j's open source repository on GitHub

Who uses Neo4j?

210 companies reportedly use Neo4j in their tech stacks, including Stack, medium.com, and Pratilipi.

709 developers on StackShare have stated that they use Neo4j.

Neo4j Integrations

Google Anthos, GrapheneDB, Linkurious, Cartography, and Structr are some of the popular tools that integrate with Neo4j. Here's a list of all 8 tools that integrate with Neo4j.
Pros of Neo4j
Cypher – graph query language
Great graphdb
Open source
Rest api
High-Performance Native API
Easy setup
Great support
Hot Backups
Great Web Admin UI
Powerful, flexible data model
Easy to Use and Model
Best Graphdb
It's awesome, I wanted to try it
Great onboarding process
Great query language and built in data browser
Used by Crunchbase
Decisions about Neo4j

Here are some stack decisions, common use cases and reviews by companies and developers who chose Neo4j in their tech stack.

Axel Dürkop
at Hamburg University of Technology · | 6 upvotes · 48.4K views
Shared insights

I want to build learning paths in a simple way and visualize them, the way Neo4j or D3.js do it. Example: I have a set of learning resources that can be connected depending on certain criteria. Thus, it would be possible for learners to start from various starting points and have learning paths depending on this starting point.

Following this, I need two things: first, a UI that lets me connect entries from a database so that a linear view, like a path, comes out. And second, a bird's eye view on the various paths like a force-directed graph that stems from the linear connections I made.

See more
Shared insights
Amazon Neptune

Hey people!!!!! I am developing an application for which graph databases are perfect, but I am low on cash(0 actually), and I am wondering if there is any free service is available for Amazon Neptune or Neo4j or any other substitute is available for the two. As far as I checked, I couldn't find any free service.

See more

We have an in-house build experiment management system. We produce samples as input to the next step, which then could produce 1 sample(1-1) and many samples (1 - many). There are many steps like this. So far, we are tracking genealogy (limited tracking) in the MySQL database, which is becoming hard to trace back to the original material or sample(I can give more details if required). So, we are considering a Graph database. I am requesting advice from the experts.

  1. Is a graph database the right choice, or can we manage with RDBMS?
  2. If RDBMS, which RDMS, which feature, or which approach could make this manageable or sustainable
  3. If Graph database(Neo4j, OrientDB, Azure Cosmos DB, Amazon Neptune, ArangoDB), which one is good, and what are the best practices?

I am sorry that this might be a loaded question.

See more
Shared insights

Hello Stackshare. I'm currently doing some research on real-time reporting and analytics architectures. We have a use case where 1million+ records of users, 4million+ activities, and messages that we want to report against. The start was to present it directly from MySQL, which didn't go well and puts a heavy load on the database. Anybody can suggest something where we feed the data and can report in realtime? Read some articles about ElasticSearch and Kafka https://medium.com/@D11Engg/building-scalable-real-time-analytics-alerting-and-anomaly-detection-architecture-at-dream11-e20edec91d33 EDIT: also considering Neo4j

See more

I'm evaluating the use of RedisGraph vs Microsoft SQL Server 2019 graph features to build a social graph. One of the key criteria is high availability and cross data center replication of data. While Neo4j is a much-matured solution in general, I'm not accounting for it due to the cost & introduction of a new stack in the ecosystem. Also, due to the nature of data & org policies, using a cloud-based solution won't be a viable choice.

We currently use Redis as a cache & SQL server 2019 as RDBMS.

I'm inclining towards SQL server 2019 graph as we already use SQL server extensively as relational database & have all the HA and cross data center replication setup readily available. I still need to evaluate if it fulfills our need as a graph DB though, I also learned that SQL server 2019 is still a new player in the market and attempts to fit a graph-like query on top of a relational model (with node and edge tables). RedisGraph seems very promising. However, I'm not totally sure about HA, Graph data backup, cross-data center support.

See more

Blog Posts

Neo4j's Features

  • intuitive, using a graph model for data representation
  • reliable, with full ACID transactions
  • durable and fast, using a custom disk-based, native storage engine
  • massively scalable, up to several billion nodes/relationships/properties
  • highly-available, when distributed across multiple machines
  • expressive, with a powerful, human readable graph query language
  • fast, with a powerful traversal framework for high-speed graph queries
  • embeddable, with a few small jars
  • simple, accessible by a convenient REST interface or an object-oriented Java API

Neo4j Alternatives & Comparisons

What are some alternatives to Neo4j?
Titan is a scalable graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. Titan is a transactional database that can support thousands of concurrent users executing complex graph traversals in real time.
MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
It is an open source NoSQL database management system written in Java. It is a Multi-model database, supporting graph, document, key/value, and object models, but the relationships are managed as in graph databases with direct connections between records.
It is a scalable graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. It is a transactional database that can support thousands of concurrent users executing complex graph traversals in real time.
See all alternatives

Neo4j's Followers
1077 developers follow Neo4j to keep up with related blogs and decisions.