HackerPapers

arXiv:1508.03843cs.DB

The Gremlin Graph Traversal Machine and Language

Marko A. Rodriguez

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 $G$, a traversal $Ψ$, and a set of traversers $T$. 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 $Ψ$ 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.

arXiv comments
To appear in the Proceedings of the 2015 ACM Database Programming Languages Conference
Journal reference
ACM Proceedings of the 15th Symposium on Database Programming Languages, pages 1-10, 2015
DOI
doi:10.1145/2815072.2815073
Subjects
cs.DBDatabases cs.DMDiscrete Mathematics

On Hacker News

Linked by 2 identifiable commenters in 4 comments across 4 threads, from Aug 2015 to Feb 2019. Found in 2 HN submissions from Aug 2015 to Nov 2015. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments4 threads

  1. A Case for a New Language 1 comment
    • Check out Gremlin by Apache TinkerPop: http://tinkerpop.apache.org/gremlin.html It is a Turing Complete language that can be embedded in any host language that supports function composition (f.g) and function nesting (f(g)). Finally, if this resonates with you…

      okramView on HNParent context

    • Here are some pointers to some of the most recent papers and talks by Marko Rodriguez, the creator of Gremlin... The Benefits of the Gremlin Graph Traversal Machine http://www.datastax.com/dev/blog/the-benefits-of-the-gremlin... The Gremlin Graph Traversal Machine and Language…

      espeedView on HNParent context

    • Constraint-based things to check out: 1. Sussman's talk "We Really Don't Know How to Compute" (http://www.infoq.com/presentations/We-Really-Dont-Know-How-T...) and his work on the Propagator (https://github.com/ProjectMAC/propagators). 2. Gremlin Graph Traversal Machine…

      espeedView on HNParent context

    • Gremlin is an Apache Software Foundation query language and as such, can be used by any graph system (Titan, Neo4j, OrientDB, etc.). It is not bound to a particular vendor. Gremlin has a natural compilation to the common distributed vertex-centric computing model (bulk…

      okramView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.