Skip to content

An Introduction to CosmosDB Graph API

I have recently completed an audition for Pluralsight. As part of that audition, I was asked to create a brief instructional video. I decided to create a video introducing the new CosmosDB Graph API functionality. Graph databases are based on graph theory and allow you to efficiently model data in a way that allows you to explore relationships between information.

An introduction to CosmosDB Graph API

CosmosDB uses Apache’s TinkerPop and its Gremlin language to add graph database functionality to its massively scalable data as a service offering. TinkerPop can be found in a host of other graph systems including Blazegraph, ChronoGraph, Hadoop Giraph and others. Its powerful graph traversal language, Gremlin, allows you to quickly traverse a database and derive information from the underlying data.

TinkerPop allows you to create property graphs. Property graphs are a form of graph database that divides data into Nodes, Edges and Properties. Nodes are specifc units of information that can be connected. Edges define how those nodes are connected together and Properties provide detailed information on both Nodes and Edges. In the video, I create a social network for a school information system using CosmosDB and Gremlin. This simple example provides a quick introduction into graph databases and CosmosDB.

In my audition video, I offer a definition of a graph database and provide a high level overview of CosmosDB’s Graph API using Gremlin. I’ve updated my audition video and am releasing it as part of our new “Sigao Studios Academy” series. Over time, we plan to release more videos on topics ranging from Microsoft’s Data Platform to InRule Business Rules Engine and Angular. We’re excited to expand our blog to include this medium.


We’re eager for feedback as well. Please let us know if there are topics you would like us to cover, or ways we can improve the content we are creating.

Additional Resources

The following resources are taken from the video and can help kick start your use of Azure CosmosDB: