# What is a Graph? What is Graph Databases?

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**