I was at GraphConnect last week and I attended a Cypher training session (just for the heck of it :-)) I was amazed how easy it was to pick up in a short amount of time. I believe Cypher's Match/Where/Return syntax is a good starting point for those coming from an RDBMS/SQL background and there's a lot of those.
Implementing a Cypher driver could make it easier for those with SQL to move or at consider graph as a option. Regards Alaa On Tue, Oct 27, 2015 at 3:05 PM, Ran Magen <[email protected]> wrote: > 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 > > >>>> > > >>>> > > >> > > >> > > > > >
