neo4j logo - what is neo4j

Overview: What is Neo4j (Graph Database)?

Neo4j is the leading graph database available today. It is offered commercially and fully supported, as well as open-sourced. Created in 2007, Neo4j is a No-SQL database that is Java-based, schema-optional, and massively scalable. So what is Neo4j? It is commonly viewed as the best, enterprise-ready graph database available. In this article we discuss a bit more about graph databases, along with features and and advantages of Neo4j.

What is a Graph Database?

Fundamentally, Graph Databases store data in the form of “graphs”. Graphs are a mathematical concept that classifies elements in terms of vertices (nodes) and edges (relationships) to understand connections and patterns within the information being studied. In using a graph database like Neo4j, these graphs are often represented visually.

Graph databases are a relatively newer class of database leveraged for use cases that are particularly focused on the connectedness within data (see examples below). In other words, while graph databases do store data, like the nodes and edges that they store, they are far more about the relationships that are often hidden in that data and between the many elements in masses of data. In a graph database, relationships are first-class citizens along with data objects.

While Neo4j is often referred to as schema-less, a better term is schema-optional since a schema can be used (see What is GraphAware Hume? for more on creating Neo4j schemas), though it is not required.

For more on this, read our more in-depth article “What is graph database?” and check out this helpful video from Neo4j.

Why are Graph Databases Valuable?

We live in a world that becomes more connected every day and as a result our data is becoming more connected as well. Given the volume of data being produced globally each day, the value of the relationships inside the data is fast becoming even more valuable than the data itself. So, the unique value of a graph database derives from its ability to surface new interconnected knowledge, natively and at scale, as analytical insights that can have a material impact on businesses and other organizations.

Can’t RDBMS do this?

neo4j graph database vs rdbms graph database

With enough development time and compute power, RDBMS can be made to do many things for which it is not ideally suited. Unlike graph databases, traditional relational databases do not natively store the relationships between the data. Rather RDBMS store just the data itself, and then can only calculate the relationships at run time. This is time-consuming and compute-expensive to obtain the same information that can be returned in milliseconds from a very simple graph query. So, practically speaking RDBMS is ill-suited for the use cases where Neo4j and other graph databases excel.

The Top Graph Databases

While Neo4j is the most mature and adopted graph database in the world by a significant margin, there are dozens of others out there now, generally divided into the “native” (e.g. Neo4j) vs multi-model” (e.g. CosmosDB) camps. For more detail on the differences, check out our Neo4j performance article where we discuss Neo4j architecture. At present, the top 10 graph databases across both native & multi-model are:

  1. Neo4j
  2. Microsoft CosmosDB (certainly over-ranked due to ComosDB multi-model SQL Server popularity)
  3. Virtuoso
  4. ArangoDB
  5. OrientDB
  1. Amazon Neptune
  2. GraphDB
  3. JanusGraph
  4. TigerGraph
  5. DGraph
Check out the full rankings from DB-engines.

Principal Neo4j Features

  1. Cypher - a familiar, SQL-like query language
  2. LPG - Labelled Property Graph model
  3. Native graph - Includes native graph storage and native Graph Processing Engine (GPE)
  4. Index-optional - Index-free adjacency drives performance, but Neo4j can also leverage indices using Apache Lucence
  5. Schema-optional - Neo4j offers a schema-optional interaction, made possible because the nature fo the data and storage itself. There are use cases for deploying a schema, but certainly not in all cases.
  6. UNIQUE - supports UNIQUE constraints
  7. Strong UI - Neo4j Data Browser is an easy way to execute Cypher commands
  8. ACID compliant - database integrity founded on Atomicity, Consistency, Isolation and Durability.
  9. Exports - Supports exporting to JSON and Excel
  10. API access
    1. REST API is accessible via any means using REST protocol (Java, Spring etc)
    2. JavaScript access via any UI MVC Framework (e.g. Node JS)
    3. Java, with two APIs - Native Java API and Cypher API
  11. Sharding - Neo4j sharding is their advanced, distributed computing offering, as of version 4.0.

Top Advantages of Neo4j (Graph Database)

  1. First-mover: The first advantage of Neo4j is that it is significantly more penetrated in the market than any other solution, having a first-mover advantage measured in years. In fact, Emil Efreim, Neo4j founder actually coined the term ‘graph database’.
  2. Huge Community: Neo4j has a thriving user community, very active forums, deep documentation and resources for every question.
  3. High performing: Neo4j is one of the very few, true native graph databases, which enables index-free adjacency for massive performance gains.
  4. High Availability: From massive real-time applications to more analytically focused graph and graph data machine learning apps, Neo4j is setting the bar for meeting HA requirements.
  5. ACID Compliant: The performance across both read and write is demonstrably scaled to the enterprise now, while maintaining integrity with true ACID compliance, still lacking in most other offerings.
  6. Easy access: Whether it be through the Neo4j Browser UI, or with Cypher query language (much easier than alternatives like Gremlin) or through the Java API, it is very easy to interact with Neo4j.
  7. Unstructured/semi-stuctured/textual data: Deriving value from the absolutely massive and growing amount of unstructured textual data available today has never been easy. Given the unique capacity for graphs to embed meaning and to connect concepts, it has been proven to be the ideal solution for driving out that insight, and Neo4j is a leader in Natural Language Processing (NLP) on graph.
  8. Graph Data Science: Neo4j is the commercial leader in Data Science on graph, including NLP uses cases. Given that Google has asserted that the future of data science is being built around network theory / graph databases, this is a significant advantage for Neo4j.

Costs

While there is both a free, open-sourced version of Neo4j, most production use cases are now based on the commercial version. Click to learn more specifics about Neo4j pricing.

When to use Neo4j

What is Neo4j used for? While Neo4j can really be used for most use cases, the unique value becomes evident around uses cases focused on connectedness inside the data. Some of the most common uses cases include:

The common thread through all of these is how things are connected to other things, or how people are connected to other people, or to other entities in the data. Read about more Neo4j use cases from Graphable.

Neo4j Customers

Close to 1,000 commercial customers and nearly 5,000 startups use Neo4j. Some of the well-known commercial brands include:
Neo4j Customer - Novartis
Neo4j Customer - Zurich Insurance Switzerland
Neo4j Customer - NASA
Neo4j Customer - Allianz Benelux
Neo4j Customer - MITRE
Neo4j Customer - Novartis
Neo4j Customer - UBS
Neo4j Customer - Vanguard
Neo4j Customer - NBC News
Neo4j Customer - Comcast
Neo4j Customer - Pitney Bowes

Source: Neo4j.com - all logos are Neo4j customers (not Graphable customers), and each logo is clickable and linked to the Neo4j source case study in which the logo is used.

  • eBay
  • Walmart
  • Cisco
  • Citibank
  • HP
  • The National Geographic Society
  • Verizon
  • US Army
  • Vanguard
  • Microsoft
  • IBM
  • Thomson Reuters
  • Airbus
  • Orange
  • AT&T
  • Caterpillar
  • Volvo Cars
  • Comcast

Get Help With Neo4j

Need help with your Neo4j project? As experts in Neo4j graph DB, we can support you in any part of your project lifecycle, but we specialize in leading through the entire process. Contact us today to learn more about our Neo4j consulting serivces.