Hi all, moving this discussion to the community, it is very important getting your feedback! Including Andres' original post on top again ...
2011/11/4 Andres Taylor <[email protected]> Good afternoon, gentlemen. I've been involved in a sales thingie, and had to translate SQL to Cypher. At around the same time, Andreas suggested that we should call Cypher PQL (pickle) instead - Pattern Query Language. After sleeping on it, I realized the obviousness of the truth - if we want to hook Joe Corp Java-coder, having something that is similar to SQL is a Good Thing (TM). So this morning I changed Cypher (and the 228 breaking tests) to look like SQL. Example: Cypher -=-=-=-=- START lucy = node(1000) MATCH lucy-[:ACTS_IN]->movie<-[:ACTS_IN]-co_actor RETURN movie.title, count(*) ORDER BY count(*) DESC PQL -=-=- SELECT movie.title, count(*) FROM node(1000) as lucy PATTERN lucy-[:ACTS_IN]->movie<-[:ACTS_IN]-co_actor ORDER BY count(*) DESC The code is in place now (the branch is PQL). What's left to do is take care of cypher-plugin, check that I haven't missed anything in the manual, and make sure SDN doesn't mind. Michael assured me that that would not be a problem. The question is - should we make an effort to ship this with 1.5? I think we should. The change is purely syntactic - and that makes me feel comfortable that no new bugs have been introduced. Opinions? Andrés (Peter - happy now? You win!) On Fri, Nov 4, 2011 at 10:45 AM, David Montag <[email protected]> wrote: Sorta agree with Mattias. OTOH the syntax is pretty cool too. Could we ask the community? Could this discussion be had publicly? Also, I like the fact that Cypher flows forward and SQL flows backward. David 2011/11/4 Mattias Persson <[email protected]> Going down the SQL-like path will certainly please many, but also anger others where it doesn't function exactly like SQL... that I don't think we'd get with that differentiated syntax. Also we'd have to put constraints on evolving the syntax with "no, we can't do that because that wouldn't be SQL like" and I'd really.... really dislike that; it'd make us followers instead of leaders. Den 4 november 2011 17:50 skrev Michael Hunger <[email protected]>: I'll take it to be the devils advocate. Do we really want to be perceived as a "SQL-like" database (aka first association == RDBMS) also Pickle sounds like nitpicking and also like PL/SQL. What level of boringness do we want to afford. These are the gut feelings. What about all our users that already got comfortable with Cypher (which is a cooler name btw.) and are writing a lot of queries in it. Also our screencasts, documentation and third party libs (also provided by the community have to be updated, or at least checked and their docs updated). Putting select at the beginning breaks the flow somehow, the return at the end felt more natural, because I decided, what I want to project as one of the last things, LINQ did it better too. Are our node and relationship-sets in the start clause really like tables? (Aka sets of similar "rows") ? Probably Shoudn't we get rid then of the iconographic syntax as well? And default to something like FROM nodes() as x [LEFT OUTER|…] JOIN nodes() as y via r ON (r.type = 'KNOWS' and … ) I know you're only taking on a role here, but I'd like to say: are you mad? etc. Having said that all, let's go for it. Michael Am 04.11.2011 um 17:14 schrieb Björn Granvik: I like it. ...a lot. Could someone be the devil's advocate and point to possible problems? Tech, ux, or whatever. Or is it truly just a good thing? /Björn 4 nov 2011 kl. 17:01 skrev Ian Robinson <[email protected]>: I've got to say, that suddenly looks very good. Interesting moment at the NOSQL Exchange this week with someone struggling to 'see' the ASCII art representation of a graph : Cypher is perfectly comprehensible to me - it's only when you come across someone else's misunderstandings and difficulties that you see the benefits of conforming to expectations. I'd say: let's try get this into 1.5. The sooner we can start showing off something that devs already expect, the more we'll hook them, I'm sure. ian _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

