Aviva Directory » Computers & Internet » Programming » Gremlin

Gremlin is a cross-platform graph traversal language and virtual machine developed by the Apache Software Foundation, as the language for Apache TinkerPop, a graph computing framework for graph databases and analytic systems.

Apache TinkerPop is an open-source, vendor-agnostic, graph computing framework distributed under the Apache License. Users can model their domain as a graph, then analyze that graph using the Gremlin graph traversal language. It is also Turing Complete.

Designed by Marko A. Rodriguez, Gremlin is a functional, data-flow language, with each traversal composed of a sequence of potentially nested steps. Each step is either a map step, a filter step, or a side effect step. Map steps transform the objects in the stream, while filter steps remove objects from the stream, and side effect steps compute statistics about the stream.

The language was designed according to write once, run anywhere philosophy of programming, the result being that every TinkerPop-enabled graph system can execute Gremlin traversals, and every Gremlin traversal can be evaluated as either a real-time database query, also known as an online transactional process (OLTP), or as a batch analytics query, known as an online analytics process (OLAP). This is brought about by the Gremlin traversal machine, which is a distributed, graph-based virtual machine. This means that users do not have to learn both a database query language and a domain-specific analytics language, as the Gremlin traversal machine can handle both.

The focus of this category is the Gremlin programming language, as well as any tools designed specifically to facilitate the use of the language. Gremlin user groups, forums, tutorials, guides, reviews, and other topics specific to the language are appropriate for this category.



Recommended Resources

Search for Gremlin on Google or Bing