Graph Database - clumsyspeedboat/Decision-Tree-Neo4j GitHub Wiki
Graphs have been used for quite a long time to model different types of domains. With advancements in a large number of systems, the importance of graph-like data is very high in Biological, social and other networks. In biological networks, graphs are used to model genetic regulations. In a social network scenario, graphs are used to model relationships between users. Hence the graph database can be defined as follows:[4]Wikipedia. Graph database.
“Graph database is a database that uses graph structures for semantic queries with Nodes(represent entities or instances such as people, businesses, accounts, or any other item to be tracked. They are roughly the equivalent of a record, relation, or row in a relational database, or a document in a document store database), Edges(also termed as graphs or relationships, are the lines that connect nodes to other nodes; representing the relationship between them), and properties(are information associated to node) to represent and store data.”
Types of Graph Databases
Few notable Graph databases are [3]Technical matters. Graph databases explained. 2019
Neo4j | Amazon Neptune | SAP Hana Graph | OrientDB |
---|---|---|---|
Neo4j is the most popular graph database and is conceived as an open-source model. | This graph database can be used with the public cloud for Amazon Web Services and was released in 2018 as a high-performance database. | With SAP Hana, the developer SAP has created a platform that builds upon a relational database management system and that is complemented by the integrated, graph-oriented model SAP Hana Graph. | This graph database is one of the quickest models currently available. |
Neo4j
Neo4j is one of the best-known graph databases and is widely embraced by huge MNCs’ such as eBay, Microsoft, and so on. With Neo4j, we can map, store, and traverse networks of highly connected data to find unexplored contexts and hidden relationships as well as creating and maintaining the database in a logical manner. This serves as an immense contribution to the process of building machine learning algorithms. While feature extraction is an intrinsic part of training and testing an algorithm, a graph database inherently consists of relations and features predominant in its topology. Neo4j uses Cypher as its standard query language which is optimized for graphs.Neo4j is a declarative query language, therefore, can be used for describing visual patterns in graphs using ASCII-Art syntax. This makes Cypher queries much simpler and easier to write in compared to the SQL JOINs which are computationally expensive.
Advantages and Disadvantages of Graph Databases:
Advantages of graph database | Disadvantages of graph database |
---|---|
Query speed only dependent on the number of concrete relationships, and not on the amount of data. | Difficult to scale, as designed as one-tier architecture. |
Results in real-time. | No uniform query language. |
Clear and manageable representation of relationships. | |
Flexible and agile structures. |