1.2K
1.4K
+ 1
351

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 13.4K GitHub stars and 2.4K GitHub forks. Here’s a link to Neo4j's open source repository on GitHub

Who uses Neo4j?

Companies
225 companies reportedly use Neo4j in their tech stacks, including medium.com, doubleSlash, and Trendyol Group.

Developers
909 developers on StackShare have stated that they use Neo4j.

Neo4j Integrations

Google Anthos, GrapheneDB, Neos CMS, Linkurious, and Cartography are some of the popular tools that integrate with Neo4j. Here's a list of all 10 tools that integrate with Neo4j.
Pros of Neo4j
69
Cypher – graph query language
61
Great graphdb
33
Open source
31
Rest api
27
High-Performance Native API
23
ACID
21
Easy setup
17
Great support
11
Clustering
9
Hot Backups
8
Great Web Admin UI
7
Powerful, flexible data model
7
Mature
6
Embeddable
5
Easy to Use and Model
4
Highly-available
4
Best Graphdb
2
It's awesome, I wanted to try it
2
Great onboarding process
2
Great query language and built in data browser
2
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.

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
Needs advice
on
Amazon NeptuneAmazon Neptune
and
Neo4jNeo4j

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
Needs advice
on
ElasticsearchElasticsearchKafkaKafka
and
MongoDBMongoDB

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
Needs advice
on
Azure Cosmos DBAzure Cosmos DBNeo4jNeo4j
and
OrientDBOrientDB

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
Axel Dürkop
at Hamburg University of Technology · | 6 upvotes · 101K views
Needs advice
on
D3.jsD3.js
and
Neo4jNeo4j

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

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
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
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.
Cassandra
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.
OrientDB
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.
JanusGraph
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
1425 developers follow Neo4j to keep up with related blogs and decisions.