Hello,
*** Just want to work to dispel the "Gremlin isn't declarative"-myth that
doesn't seem to die :).
> My 2 cents - Tinkerpop is a great API that makes graph application
> development much easier, but the lack of a declarative query language is a
> barrier to making those applications scale. I strongly prefer to develop
> application code using Tinkerpop over raw RDF or Sesame, but once the data
> is there I prefer to access and update it via SPARQL.
Gremlin3 support declarative pattern matching much like SPARQL. In fact,
internal benchmarks have shown that Gremlin3's query optimizer is equal or more
efficient than some vendors native declarative query language.
http://tinkerpop.incubator.apache.org/docs/3.0.2-incubating/#match-step
Moreover, realize that these same queries compile to work over any OLAP graph
processor such as Apache Giraph or Spark. Thus, you can do declarative pattern
matching over an arbitrarily large cluster.
http://www.slideshare.net/slidarko/acm-dbpl-keynote-the-graph-traversal-machine-and-language/131
Finally, scroll through to slide 136. The Gremlin virtual machines is a
distributed virtual machine and any language that compiles to Gremlin's
instruction set automatically executes on the cluster. E.g., compile SPARQL to
Gremlin's instruction set and TADA! Distributed SPARQL.
Thanks,
Marko.
http://markorodriguez.com