About Neo4j

Neo4j is the world's most popular graph database management system (DBMS). It is also one of the most popular NoSQL database systems, as well as one of the more popular DBMSs of any category.

Neo4j is used by thousands of organisations, including more than 50 of the Global 2000, in mission-critical production applications.

What does Neo4j Look Like?

Screenshot of a Neo4j graph

Neo4j stores and presents data in the form of a graph. Data is represented by nodes and relationships between those nodes.

Neo4j databases (as with any graph database) are a lot different to relational databases such as MS Access, SQL Server, MySQL, etc. Relational databases use tables, rows, and columns to store data. They also present data in a tabular fashion.

Neo4j doesn't use tables, rows, or columns to store or present data.

What can Neo4j be used for?

Neo4j is highly suitable for storing data that has has many interconnecting relationships. This is where graph databases can make a huge difference. In fact, graph databases like Neo4j are much better at dealing with relational data than relational databases are.

This is in part, due to the fact that the graph model doesn't usually require a predefined schema. You don't need to create the database structure before you load the data (like you do in a relational database). In Neo4j, the data is the structure. Neo4j is a "schema-optional" DBMS.

But the main reason Neo4j is better for relational data is in the way it allows you to create relationships. Neo4j is built around relationships. There is no need to set up primary key/foreign key constraints to predetermine which fields can have a relationship, and to which data. With Neo4j, just add any relationship between any node whenever you need.

So this makes Neo4j extremely well suited for social networking applications like Facebook, Twitter, etc. But there are many other areas where Neo4j excels. Here are some of the main areas that Neo4j can be used for: