*** REPOST: Forgot to cc: dev@ in the gremlin-users@ email. Apologies if you
are already on gremlin-users@.
Hello Gremlin-heads,
In October I will be giving the keynote at ACM's Database Programming Languages
conference and the organizers asked if I would like to contribute an article. A
pre-print of this article is available here:
The Gremlin Graph Traversal Machine and Language
http://arxiv.org/abs/1508.03843
I'm super proud of this article. I learned so much about Gremlin while writing
it that my head is spinning with new ideas. Here is a breakdown of what you
will learn about in this article.
1. Gremlin is both a virtual machine and programming language much like
Java JVM + Java language. (Section 2, 3, and 3.9)
2. Gremlin graph pattern matching (declarative) is a simple consequence
of Gremlin traversing (imperative). (Section 3.8)
3. Gremlin's optimizer is a collection of rewrite rules for step
sequences (traversal strategies). (Section 4)
4. Gremlin OLAP is a natural extension of Gremlin OLTP made scalable
via an equivalence relation known as "bulking." (Section 5)
5. Gremlin is Turing Complete and thus can compute any known algorithm.
(Section 6.1)
6. Gremlin has a theoretical "Universal Gremlin Machine" which enables
it to be represented in the graph itself. (Section 6.2-6.4)
7. Gremlin, at a particular level of abstraction, can be thought of
(and potentially implemented) as a "chemical process." (Section 6.5)
I hope you enjoy the work,
Marko.
http://markorodriguez.com