What Is a Graph Database?
Graph database is a type of NoSQL database, which uses graph theory to store relationship information between entities. Graph database is a kind of non-relational database, which uses graph theory to store the relationship information between entities. The most common example is the relationship between people in a social network. Relational databases are not very effective for storing "relational" data, and their queries are complex, slow, and beyond expectations, and the unique design of graph databases makes up for this shortcoming. [1]
- In a graph database, there are two main components, the node set and the relationship between the connected nodes (some are also called bubbles and arrows). The node set is a set of nodes in the graph, which is closer to the most commonly used table in a relational database, while the relation is a unique composition of the graph database. [2]
- When it is necessary to represent a many-to-many relationship, we often need to create an association table to record the many-to-many relationship of different entities, and these association tables are often not used to record information. If there are multiple relationships between two entities, then we need to create multiple association tables between them. In a graph database, we only need to indicate that there is a different relationship between the two. If we want to establish a two-way relationship between two node sets, we need to define a relationship for each direction. [2]
- In many intelligence and law enforcement procedures, it is important to look for a pattern of events. Any of these events may seem harmless, but their views and how they are directly or indirectly related are not the same concepts. Another example is social network analysis (SNA), which is very interested in consumer products from many suppliers. He is building a relationship diagram between people. Facebook is a social network that keeps in touch with family and friends. The graph database can well show whether the person has influence in his / her circle of friends, and whether the group of friends have common interests. [3]
Neo4j Graphic database Neo4j
- Neo4j is a popular graph database and it is open source. Recently, the community edition of Neo4j has changed from following the AGPL license agreement to following the GPL license agreement. Nonetheless, the Enterprise Edition of Neo4j is still licensed under the AGPL. Neo4j is based on Java and is compatible with ACID features. It also supports other programming languages such as Ruby and Python. [1]
FlockDB Graphic database FlockDB
- FlockDB is built by Twitter for relational data analysis. FlockDB has no stable version so far, and it is still controversial whether it is a true graph database. The difference between FlockDB and other graph databases (such as Neo4j, OrientDB) is graph traversal. Twitter's data model does not need to traverse the social graph. However, due to the application of FlockDB on large sites like Twitter and its simplicity compared to other graph databases, it is still worth our attention.
AllegroGrap Graphic database AllegroGrap
- AllegroGrap is a graph database built for the resource description framework based on the W3c standard. It is designed to handle linked data and web semantics and supports SPARQL, RDFS ++, and Prolog.
- AllegroGraph is one of the products of Franz Lnz (a provider of Web semantic products, and its flagship product is an enterprise development tool based on LISP). Pfizer, Ford, Kodak, NASA, and the US Department of Defense are its customers.
GraphDB GraphDB
- GraphDB is built on the basis of .NET by German sones company. Sones was founded in 2007 and has made several rounds of financing in recent years. The GraphDB Community Edition follows the AGPL v3 license agreement, and the Enterprise Edition is commercialized. GraphDB is hosted on the Windows Azure platform.
InfiniteGraph Graph database InfiniteGraph
- InfiniteGraph is based on Java and its goal is to build a "distributed graph database" that has been adopted by the US Department of Defense and the US Central Intelligence Agency.
- In addition, there are other graph databases such as OrientDB, InfoGrid and HypergraphDB. Ravel is built on the open source Pregel implementation, and the Trinity project from Microsoft Research is also a graph database project.