In this blog we will cover graph and graph databases, now a days graph databases is most demandable and used in recent type. It is the type of NoSQL database.

Graph is a data structure of the form G(V,E)

Graph edges may have weights and directions

Directed graphs may have cycles

Graphs can…

model pairwise relationships between people, objects, or nodes in a network

uncover insights about the strength and direction of the relationship

Some Graph Algorithms

Graph traversal:

* Depth-first search

* Breadth-first search

Shortest Path:

* Floyd-Warshall Algorithm

* Dijkstra’s Algorithm

* Bellman-Ford Algorithm

Maximum Flow:

* Maximum Bipartite Path

* Ford-Fulkerson Algorithm

* Edmonds-Karp Algorithm

Minimum Spanning Tree

* Prim’s Algorithm

* Kruskal’s Algorithm

Topological Sorting:

* Kahn’s Algorithm

Cycle Detection

Connectivity

* Minimum cut

Back-Tracking

Graph Isomorphism

Traveling Salesman Problem

Types of Graph Analytics

Path analysis: This type of analysis can be used to determine the shortest distance between two nodes in a graph, for example. An obvious use case is route optimization that is particularly applicable to logistics, supply and distribution chains and traffic optimization for smart cities.

Connectivity analysis: This type of graph analysis can be applied tor determining weaknesses in networks such as a utility power grid. It also enables comparing connectivity across networks.

Community analysis: Distance and density–based analysis is used to find groups of interacting people in a social network, for example, and identifying whether they are transient and predicting if the network will grow.

Centrality analysis: This analysis type enables identifying relevancy to find the most influential people in a social network, for example, or to find most highly accessed web pages—such as by using the PageRank algorithm

### Graph Databases

Use graph structures for semantic queries with nodes, edges and properties to represent and store data

also called a graph-oriented database, is a type of NoSQL database that uses graph theory to store, map and query relationships

Some Systems:

* OntoText GraphDB

* OpenLink Virtuoso

* Neo4j

* Amazon Neptune

* AllegroGraph

* OrientDB

Some Graph DB Query Languages

* OWL

* SPARQL

* Cypher

* Gremlin

### RDBMS vs Graph Databases

### Relational vs Graph Model

Relational Model Graph Model

### Neo4j Graph Database

Example:

Property Graph Model

Neo4j Key Features

## Comments