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

Reply via email to