Hey Marko, Gremlin is definitely the best over-all "GQL" around. That's why I think that before we develop any language-driver, we need to ask ourselves if there's are any use-cases in which that language would be a better choice than gremlin.
- SPARQL - Many people are familiar with SPARQL, so a driver would help them easily get to work with a TP graph. - GraphQL - QBE is a great definition. The cool thing about these queries is that they're very "composable", which is perfect for a composite application in which you have deeply nested components, each specifying its own sub-query (e.g. the standard practice in React UIs). Granted gremlin is much more powerful, and I'd use it in almost all applications, but when building something like a React application, GraphQL could come on top. - OpenCypher - While it's an over-all more "able" language than SPARQL & GraphQL, I haven't seen any use-case in which it trumps gremlin. That's why IMO there is no point in implementing it. My 2 cents. Cheers, Ran On Tue, 27 Oct 2015 at 02:37 Marko Rodriguez <[email protected]> wrote: > Hi Ran, > > Here are my thoughts on GraphQL now that I have learned more about it. > > 1. Matt Frantz and David Robinson nailed it -- its not really a > "graph language." Its more a QBE (query by example -- first time I heard > that was from Matt). > - As such, do we want to support it in TinkerPop when we > can do much more complex queries with the Gremlin machine? > 2. I think we should try and get the GraphQL guys to implement a > compiler for Gremlin VM. > - You said it -- providers have to implement a server to > execute it. Why not just implement graph.structure API and let the Gremlin > VM do the work for you. > - Is this a Facebook thing? Perhaps someone can find their > repository and post a ticket and see where it goes. > > The one thing that GraphQL has going for it (like SPARQL) is the ease of > the development/maintenance of the compiler. Cypher and SQL are going to be > insanely complex compilers to implement/maintain -- it will take manpower. > > Marko. > > http://markorodriguez.com > > On Oct 26, 2015, at 11:49 AM, Ran Magen <[email protected]> wrote: > > > I'd be much more interested in GraphQL support. > > The cool thing about GraphQL is that you can easily create a unified > "graph > > query" from different components in an application, while keeping the > > separation between the components. It's a great feature for composite > UIs (e.g. > > React). > > As I understand it, GraphQL is mostly a standard for graph queries, but > the > > user has to implement a server to actually execute the queries. And what > > better execution engine than the Gremlin VM? > > > > On Mon, 26 Oct 2015 at 15:17 Marko Rodriguez <[email protected]> > wrote: > > > >> Hey, > >> > >> After reading Stephen's reply, I was like -- "huh, sure." I didn't > really > >> don't care one way or another until I just read this: > >> > >> http://neo4j.com/blog/open-cypher-sql-for-graphs/ > >> > >> Look at the tone and lies that Neo4j is portraying. > >> > >> * Marko Rodriguez as "just some buddy of Emil's." > >> * Aurelius is some company. No, its called DataStax. > >> * Not once is Apache TinkerPop discussed or referenced -- "just > >> Marko and a band of merry 'graphistas'."?! > >> * DataStax is NOT involved in their efforts for OpenCypher. > >> > >> The problem with Neo4j is they are corrupt. They use lies to control the > >> population. If we support Cypher in TinkerPop (like actively put it into > >> the repository as a distribution) we will see press releases like: > >> > >> * TinkerPop drops Gremlin in favor of Cypher. > >> * TinkerPop realizes that Cypher is the superior language. > >> * TinkerPop follows Neo4j in learning how to do graph processing > >> the right way. > >> * etc. > >> > >> Its going to be a bunch malarky like that that I don't want surrounding > >> our project. It would behoove us to be smart about how we interact with > >> people like this as they will use every opportunity they can to destroy > our > >> project to better their economic efforts. > >> > >> I don't do lies nor interact with people who use misinformation and > >> deception to get "ahead," > >> Marko. > >> > >> http://markorodriguez.com > >> > >> On Oct 26, 2015, at 4:35 AM, Stephen Mallette <[email protected]> > >> wrote: > >> > >>> I'd be open to have cypher and sparql as first class citizens of The > >>> TinkerPop. As I see it, there are two groups of graph users on the > fringe > >>> of TinkerPop and they live in the cypher world and in the RDF world. > >>> Having both of these projects in TinkerPop would allow us to reach both > >> of > >>> those communities. Doing so would help to expand usage and potentially > >>> attract more committers. > >>> > >>> On Fri, Oct 23, 2015 at 1:08 PM, Marko Rodriguez <[email protected] > > > >>> wrote: > >>> > >>>> Hi, > >>>> > >>>> I (personally) am interested in getting another language into > >> TinkerPop's > >>>> distribution. I see an imbalance in the following table: > >>>> > >>>> TinkerGraph | Gremlin-Java8 > >>>> Neo4j | Gremlin-Groovy > >>>> Hadoop | NOTHING > >>>> > >>>> That is, we have 3 graph distributions, why not have 3 language > >>>> distributions. Moreover, I don't want yet another Gremlin-JVMLang > >> language > >>>> as that doesn't showcase the virtual machine aspects of Gremlin as > well > >> as, > >>>> for example: SPARQL-Gremlin or SQL-Gremlin. > >>>> > >>>> I (personally) am NOT interested in openCypher as the 3rd language > >>>> distribution for the following 2 reasons: > >>>> > >>>> 1. It will be at least a year+ before it culminates into > >> something. > >>>> 2. It doesn't fold a different computing space into TinkerPop. > >>>> > >>>> To expand on #2, Hadoop is NOT typically seen as a graph system, but > >> with > >>>> TinkerPop, we have Hadoop serving as a graph engine. With SPARQL, we > >> pull > >>>> in the RDF guys (thats cool). With SQL, we pull in the world. I sorta > >>>> prefer SPARQL as its an easy language to handle (thanks in part to > >> Apache > >>>> Jena). With SQL we have Apache Calcite offering help, but SQL is > nasty > >>>> looking for graph queries and is just suuuuuch a beast of a language > >> that > >>>> it would need someone dedicated to its maintenance/evolution. > >>>> > >>>> Anywho -- thats what I think about another language in TinkerPop. I'm > >> pro > >>>> SPARQL-Gremlin if it matures and people are excited about it. > >>>> https://github.com/dkuppitz/sparql-gremlin > >>>> > >>>> Thanks, > >>>> Marko. > >>>> > >>>> http://markorodriguez.com > >>>> > >>>> On Oct 23, 2015, at 10:45 AM, pieter-gmail <[email protected]> > >>>> wrote: > >>>> > >>>>> Is a opencypher <http://neo4j.com/blog/open-cypher-sql-for-graphs/> > -> > >>>>> gremlin compiler something the tinkerpop team would consider > >>>> implementing? > >>>>> Perhaps, hopefully with help from neo4j themselves. > >>>>> > >>>>> Thanks > >>>>> Pieter > >>>> > >>>> > >> > >> > >
