The Gremlin graph traversal machine and language (invited talk)
By Michael A. Rodriguez. International Workshop/Symposium on Database Programming Languages, 2015
323 citations recorded by the source corpus.
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, a traversal, and a set of traversers. 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 traversal 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.
Subfields: Computer Vision and Pattern Recognition, Hardware and Architecture
View Paper: https://www.semanticscholar.org/paper/283ae048d4bd7603bbf7bdae059580079439e1b8
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
- Leonid Libkin
- Victor Marsault
- Andrés Taylor
- P. Selmer
- Nadime Francis
- P. Guagliardo
- Stefan Plantikow
- Tobias Lindaaker
Citations in the corpus
- Knowledge Graphs (2020, unknown): “2 Querying A number of languages have been proposed for querying graphs [4, 121], including the SPARQL query language for RDF graphs [46]; and Cypher [34], Gremlin [112], and G-CORE [5] for querying property graphs.”
- Cypher: An Evolving Query Language for Property Graphs (2018, background): “Gremlin [53] is a property graph dataflow language designed by Apache Tinkerpop, which supports procedural pattern matching and traversals embedded in general purpose languages, but does not allow independent statement of a declarative query in the style of SQL and Cypher.”