Gremlin (query language)

Gremlin
Designed byMarko A. Rodriguez
DeveloperApache TinkerPop of the Apache Software Foundation
First appeared2009; 15 years ago (2009)
Stable release
3.7.0 / 31 July 2023; 14 months ago (2023-07-31)[1]
OSCross-platform (multi-platform)
LicenseApache License 2.0
Websitetinkerpop.apache.org
Dialects
Gremlin‑Java8, Gremlin‑Groovy, Gremlin‑Python, Gremlin‑Scala, Gremlin‑Clojure, Gremlin‑PHP, Gremlin‑JavaScript, Gremlin‑Typeset
Influenced by
Regular expression, XPath, Ripple, SPARQL, SQL, Java/JVM

Gremlin is a graph traversal language and virtual machine developed by Apache TinkerPop of the Apache Software Foundation. Gremlin works for both OLTP-based graph databases as well as OLAP-based graph processors. Gremlin's automata and functional language foundation 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 with Turing completeness.[2]

As an explanatory analogy, Apache TinkerPop and Gremlin are to graph databases what the JDBC and SQL are to relational databases. Likewise, the Gremlin traversal machine is to graph computing as what the Java virtual machine is to general purpose computing.[3]

  1. ^ "Apache TinkerPop - Downloads". Retrieved 27 October 2023.
  2. ^ Rodriguez, Marko A. (2015). "The Gremlin graph traversal machine and language (invited talk)". The Gremlin Graph Traversal Machine and Language. pp. 1–10. arXiv:1508.03843. doi:10.1145/2815072.2815073. ISBN 9781450339025. S2CID 10533031.
  3. ^ "The Benefits of the Gremlin Graph Traversal Machine". 2015-09-14. Retrieved September 17, 2015.