Using Grammes to Interface with Graph Databases

By Damien Stamates

Elevator Pitch

Grammes is a package built to communicate with Apache TinkerPop used by graph databases such as JanusGraph, MS Azure Cosmos DB, AWS Neptune, and DataStax Enterprise Graph. This includes things such as query building blocks and proper structs to make it easy to interact with the graph.



Grammes is a Go package built to communicate with Apache TinkerPop Graph computing framework using Gremlin; a graph traversal language used by several popular graph databases such as JanusGraph, Microsoft Azure Cosmos DB, Amazon Neptune, and DataStax Enterprise Graph.

An Easy Client

Grammes is an easy client that allows any level of Go developer to pick up how to query a graph database without having to know the Gremlin traversal language. This includes a /quick packge when you are not using a Client as well.

Building Blocks Traversing a Graph

One of the main features of Grammes is that there are building blocks to build a traversal query for the database. This essentially is an autocomplete and Gremlin driver for Golang. In the normal Gremlin console there is no autocompletion so having the ability to have it is nice for a beginner.

Proper Structures to Interact with the Graph

There are structures to use instead of building manual traversals and queries to the graph database. This means you can alter the properties of a vertex, add edges between vertices, and more with only the vertex object without building extra queries.


“Using Grammes to Interface with Graph Databases” Notes

I am here to represent the project of Grammes from Northwestern Mutual. I am the lead developer of this project and fit as the best option to speak about this for my deep understanding of graph databases and the Gremlin traversal language.

Release Date of Grammes

Grammes has a set course of release by mid-February. There is no more development required for the project in order to present. We are just currently waiting for last approval from the CTO to release this on the Northwestern Mutual GitHub. It will be released under my professional GitHub account for Northwestern Mutual.

Contact Information

If you are interested and need more information don’t be afraid to ask me! You can contact me via E-mail and LinkedIn.