English

The Gremlin Graph Traversal Machine and Language

Databases 2017-05-26 v1 Discrete Mathematics

Abstract

Gremlin is a graph traversal machine and language designed, developed, and distributed by the Apache TinkerPop project. Gremlin, as a graph traversal machine, is composed of three interacting components: a graph GG, a traversal Ψ\Psi, and a set of traversers TT. The traversers move about the graph according to the instructions specified in the traversal, where the result of the computation is the ultimate locations of all halted traversers. A Gremlin machine can be executed over any supporting graph computing system such as an OLTP graph database and/or an OLAP graph processor. Gremlin, as a graph traversal language, is a functional language implemented in the user's native programming language and is used to define the Ψ\Psi of a Gremlin machine. This article provides a mathematical description of Gremlin and details its automaton and functional properties. These properties enable Gremlin to naturally support imperative and declarative querying, host language agnosticism, user-defined domain specific languages, an extensible compiler/optimizer, single- and multi-machine execution models, hybrid depth- and breadth-first evaluation, as well as the existence of a Universal Gremlin Machine and its respective entailments.

Cite

@article{arxiv.1508.03843,
  title  = {The Gremlin Graph Traversal Machine and Language},
  author = {Marko A. Rodriguez},
  journal= {arXiv preprint arXiv:1508.03843},
  year   = {2017}
}

Comments

To appear in the Proceedings of the 2015 ACM Database Programming Languages Conference

R2 v1 2026-06-22T10:34:44.387Z