Gremlin (query language)
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.
Designed by | Marko A. Rodriguez |
---|---|
Developer | Apache TinkerPop of the Apache Software Foundation |
First appeared | 2009 |
Stable release | 3.7.0
/ 31 July 2023 |
OS | Cross-platform (multi-platform) |
License | Apache License 2.0 |
Website | tinkerpop |
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 |
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.