Yes. This thread is about ONLY the traverse-Endpoint not scripting in general.
Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - NOSQL for the Enterprise. http://startupbootcamp.org/ - Öresund - Innovation happens HERE. On Wed, Nov 2, 2011 at 8:35 AM, Jacob Hansson <jacob.hans...@neotechnology.com> wrote: > On Wed, Nov 2, 2011 at 3:44 PM, Peter Neubauer < > peter.neuba...@neotechnology.com> wrote: > >> Mmh, >> this thread is just about deprecating the travers() section of the >> REST API, not take away general scripting form the server. I have not >> seen one single case where people have exploited the JavaScript >> exposure in the return/stop evaluators to do anything like you say >> Michael. >> >> Extensions and plugins are not going away for the time being, I am >> only concerned about >> http://docs.neo4j.org/chunked/snapshot/rest-api-traverse.html not >> adding value to the API, and being able to be scripted in a more >> concise way via the existing extensions (which I want to make examples >> of). >> >> I haven't heard any argument for this case, so the question is whether >> to document the usecases in other ways (Groovy, JavaScript or Cypher >> plugins) and deprecate this section, since it doesn't add >> functionality, just exposes scripting in a hacked-up way. >> > > Good that you point this out, this thread is a bit confusing since we're > talking about a lot of different things. If we can't find use cases that > warrants the REST traversal API, we should deprecate it. It would be great > to get the input of some of the people working on clients for the REST > server before a decision is made though. > > > I would also *really* like to continue the discussion about arbitrary > script execution, because I want to understand the arguments for it. > Perhaps we should break that discussion into a separate thread, to keep > things concise. > > Imma start a new thread :) > > >> >> Cheers, >> >> /peter neubauer >> >> GTalk: neubauer.peter >> Skype peter.neubauer >> Phone +46 704 106975 >> LinkedIn http://www.linkedin.com/in/neubauer >> Twitter http://twitter.com/peterneubauer >> >> http://www.neo4j.org - NOSQL for the Enterprise. >> http://startupbootcamp.org/ - Öresund - Innovation happens HERE. >> >> >> >> On Wed, Nov 2, 2011 at 3:11 AM, Michael Hunger >> <michael.hun...@neotechnology.com> wrote: >> > custom use-cases like the ones implemented by our customers with plugins >> / extensions >> > >> > and in the case of the ruby script extensions a way I'd like to promote >> to talk to the server that is >> > >> > 1) create you own RESTful endpoints that are focused on a protocol >> speaking your domain and not nodes + rels >> > 2) the protocol is use-case oriented >> > 3) it only transmits the information necessary (not more). >> > 4) The code of these endpoints would be transactionally executed >> > >> > Use-Cases with customers so far have been: >> > * unique nodes with locking + index lookup >> > * batch data insertion (also unique stuff see above) >> > * custom traversals with complicated callbacks >> > * aggregating multiple gremlin / cypher queries in the server and >> returning only a partial result-set/projection of those executions >> > * .... >> > >> > With the ruby script extension what we've done there is to leverage the >> web/REST frameworks of the platform and allow rack-apps to expose their >> REST endpoints within the neo4j-server. >> > >> > Thomas and I also talked about a more generic way to allow any language >> supported by the javax.script extension to register endpoints with the >> neo4j-server. >> > >> > A generic javax.scripting languages plugin would accommodate for more >> ad-hoc execution mode for which writing an extension is too much ceremony. >> > >> > Michael >> > >> > >> > Am 02.11.2011 um 10:54 schrieb Jacob Hansson: >> > >> >> On Wed, Nov 2, 2011 at 10:20 AM, Michael Hunger < >> >> michael.hun...@neotechnology.com> wrote: >> >> >> >>> I vote not dropped, as there are lots of non-java developers out there >> >>> which would want to use REST server dynamically. >> >>> >> >> >> >> I am completely open to the notion that I am wrong here. But I want us >> to >> >> have answered the questions I was asking before properly, if we are >> going >> >> to embrace all these ways to talk to the server. >> >> >> >> >> >> What use cases does dynamic script execution cover that cypher or >> gremlin >> >> do not? >> >> >> >> Why should those use cases not be covered by cypher or gremlin? >> >> >> >> >> >> >> >>> >> >>> That was the reason why we wrote the ruby-script-extension support. >> >>> >> >>> Michael >> >>> >> >>> Am 02.11.2011 um 10:08 schrieb Jacob Hansson: >> >>> >> >>>> On Tue, Nov 1, 2011 at 5:37 PM, Peter Neubauer < >> >>>> peter.neuba...@neotechnology.com> wrote: >> >>>> >> >>>>> Well, >> >>>>> I think that Cypher is not yes taking into account Uniqueness, or is >> >>>>> it Andres? Otherwise, most of the normal traversals are covered. >> >>>>> >> >>>>> To keep things consistent and give people a way of doing fine grained >> >>>>> traversals, I would then suggest to document all the existing >> examples >> >>>>> using Cypher or Groovy code, so we can document that things are >> >>>>> working as expected and not loose functionality. >> >>>>> >> >>>> >> >>>> Sounds like a really good idea. >> >>>> >> >>>> >> >>>>> >> >>>>> The JavaScript exposure then would totally go away from the REST API >> >>>>> and possibly be factored out into a plugin like Groovy/Gremlin. Or >> >>>>> dropped. >> >>>>> >> >>>> >> >>>> I vote dropped :) >> >>>> >> >>>> >> >>>>> >> >>>>> WDYT? >> >>>>> >> >>>>> Cheers, >> >>>>> >> >>>>> /peter neubauer >> >>>>> >> >>>>> GTalk: neubauer.peter >> >>>>> Skype peter.neubauer >> >>>>> Phone +46 704 106975 >> >>>>> LinkedIn http://www.linkedin.com/in/neubauer >> >>>>> Twitter http://twitter.com/peterneubauer >> >>>>> >> >>>>> http://www.neo4j.org - NOSQL for the Enterprise. >> >>>>> http://startupbootcamp.org/ - Öresund - Innovation happens HERE. >> >>>>> >> >>>>> >> >>>>> >> >>>>> On Tue, Nov 1, 2011 at 9:31 AM, Jacob Hansson >> >>>>> <jacob.hans...@neotechnology.com> wrote: >> >>>>>> On Tue, Nov 1, 2011 at 5:22 PM, Peter Neubauer < >> >>>>>> peter.neuba...@neotechnology.com> wrote: >> >>>>>> >> >>>>>>> Nope, >> >>>>>>> I mean a server side script execution (which we already are doing >> in >> >>>>>>> http://docs.neo4j.org/chunked/snapshot/rest-api-traverse.html) to >> >>>>>>> execute traversal API code on the server. Neo4js is a client >> driver. >> >>>>>>> >> >>>>>>> >> >>>>>> Remember that adding yet another way to talk to the server comes at >> a >> >>>>> cost >> >>>>>> of confusion and spreading engineering focus thin. >> >>>>>> >> >>>>>> I don't think we should do this unless there is a good answer to the >> >>>>>> question: >> >>>>>> >> >>>>>> *Is there anything* *that this solves that is not solved by Cypher >> or >> >>>>>> Gremlin, and if so, why don't we expand Cypher or Gremlin to >> >>> incorporate >> >>>>>> that use case instead? >> >>>>>> >> >>>>>> *Collecting our efforts in fewer buckets means that improvements >> will >> >>>>>> benefit everyone, not just the group that uses the Groovy endpoint, >> or >> >>>>> the >> >>>>>> Traversal API, or the JS endpoint and so on. >> >>>>>> >> >>>>>> >> >>>>>>> Cheers, >> >>>>>>> >> >>>>>>> /peter neubauer >> >>>>>>> >> >>>>>>> GTalk: neubauer.peter >> >>>>>>> Skype peter.neubauer >> >>>>>>> Phone +46 704 106975 >> >>>>>>> LinkedIn http://www.linkedin.com/in/neubauer >> >>>>>>> Twitter http://twitter.com/peterneubauer >> >>>>>>> >> >>>>>>> http://www.neo4j.org - NOSQL for the Enterprise. >> >>>>>>> http://startupbootcamp.org/ - Öresund - Innovation happens >> HERE. >> >>>>>>> >> >>>>>>> >> >>>>>>> >> >>>>>>> On Tue, Nov 1, 2011 at 9:19 AM, Andres Taylor >> >>>>>>> <andres.tay...@neotechnology.com> wrote: >> >>>>>>>> You, something like Neo4js <https://github.com/neo4j/neo4js>? >> We've >> >>>>> had >> >>>>>>>> that since forever. Or do you mean something different? >> >>>>>>>> >> >>>>>>>> Andrés >> >>>>>>>> >> >>>>>>>> On Tue, Nov 1, 2011 at 5:06 PM, Peter Neubauer < >> >>>>>>>> peter.neuba...@neotechnology.com> wrote: >> >>>>>>>> >> >>>>>>>>> Also, >> >>>>>>>>> there is another possibility: We are exposing a ECMA script >> >>> execution >> >>>>>>>>> engine via the Traverse enpoints. Instead of trying to shoehorn >> the >> >>>>>>>>> traversal API into REST calls and then anyway executing script >> >>>>>>>>> snippets, Why not exposing a JavaScript plugin along exactly the >> >>> same >> >>>>>>>>> lines as the Groovy plugin, and provide examples on how to use >> the >> >>>>>>>>> same usecases via that plugin, so we cover the traversal API that >> >>>>> way? >> >>>>>>>>> >> >>>>>>>>> Cheers, >> >>>>>>>>> >> >>>>>>>>> /peter neubauer >> >>>>>>>>> >> >>>>>>>>> GTalk: neubauer.peter >> >>>>>>>>> Skype peter.neubauer >> >>>>>>>>> Phone +46 704 106975 >> >>>>>>>>> LinkedIn http://www.linkedin.com/in/neubauer >> >>>>>>>>> Twitter http://twitter.com/peterneubauer >> >>>>>>>>> >> >>>>>>>>> http://www.neo4j.org - NOSQL for the Enterprise. >> >>>>>>>>> http://startupbootcamp.org/ - Öresund - Innovation happens >> HERE. >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> On Tue, Nov 1, 2011 at 9:00 AM, Jacob Hansson >> >>>>>>>>> <jacob.hans...@neotechnology.com> wrote: >> >>>>>>>>>> It would be interesting to rephrase the question like this: >> >>>>>>>>>> >> >>>>>>>>>> Are there any use cases that the REST traversal API covers, >> that we >> >>>>>>>>>> currently cannot replicate in Cypher or Gremlin? >> >>>>>>>>>> >> >>>>>>>>>> On Sun, Oct 30, 2011 at 2:45 PM, Peter Neubauer < >> >>>>>>>>>> peter.neuba...@neotechnology.com> wrote: >> >>>>>>>>>> >> >>>>>>>>>>> Well, >> >>>>>>>>>>> Andres has been putting the first algo into cypher and we are >> >>>>>>> thinking >> >>>>>>>>> of >> >>>>>>>>>>> exposing them there so thru can be used as path functions in an >> >>>>>>>>> expression. >> >>>>>>>>>>> However, that will be step 2. WDYT? >> >>>>>>>>>>> On Oct 29, 2011 6:47 PM, "maxdemarzi" <maxdema...@gmail.com> >> >>>>> wrote: >> >>>>>>>>>>> >> >>>>>>>>>>>> I think the traversal rest api is fine for my purposes, but if >> >>>>>>> cypher >> >>>>>>>>> is >> >>>>>>>>>>>> where we want to go long term, then we need to deprecate it in >> >>>>> 1.6 >> >>>>>>> and >> >>>>>>>>>>> drop >> >>>>>>>>>>>> it in 1.7. >> >>>>>>>>>>>> >> >>>>>>>>>>>> This gives us some time to update our libraries and for cypher >> >>>>> to >> >>>>>>>>> settle >> >>>>>>>>>>>> down. >> >>>>>>>>>>>> >> >>>>>>>>>>>> Are you guys thinking of getting rid of the rest built in >> graph >> >>>>>>>>>>> algorithms >> >>>>>>>>>>>> or are those there to stay? >> >>>>>>>>>>>> >> >>>>>>>>>>>> -- >> >>>>>>>>>>>> View this message in context: >> >>>>>>>>>>>> >> >>>>>>>>>>> >> >>>>>>>>> >> >>>>>>> >> >>>>> >> >>> >> http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-REST-traverse-deprecation-tp3460396p3464979.html >> >>>>>>>>>>>> Sent from the Neo4j Community Discussions mailing list archive >> >>>>> at >> >>>>>>>>>>>> Nabble.com. >> >>>>>>>>>>>> _______________________________________________ >> >>>>>>>>>>>> Neo4j mailing list >> >>>>>>>>>>>> User@lists.neo4j.org >> >>>>>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user >> >>>>>>>>>>>> >> >>>>>>>>>>> _______________________________________________ >> >>>>>>>>>>> Neo4j mailing list >> >>>>>>>>>>> User@lists.neo4j.org >> >>>>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user >> >>>>>>>>>>> >> >>>>>>>>>> >> >>>>>>>>>> >> >>>>>>>>>> >> >>>>>>>>>> -- >> >>>>>>>>>> Jacob Hansson >> >>>>>>>>>> Phone: +46 (0) 763503395 >> >>>>>>>>>> Twitter: @jakewins >> >>>>>>>>>> _______________________________________________ >> >>>>>>>>>> Neo4j mailing list >> >>>>>>>>>> User@lists.neo4j.org >> >>>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user >> >>>>>>>>>> >> >>>>>>>>> _______________________________________________ >> >>>>>>>>> Neo4j mailing list >> >>>>>>>>> User@lists.neo4j.org >> >>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user >> >>>>>>>>> >> >>>>>>>> _______________________________________________ >> >>>>>>>> Neo4j mailing list >> >>>>>>>> User@lists.neo4j.org >> >>>>>>>> https://lists.neo4j.org/mailman/listinfo/user >> >>>>>>>> >> >>>>>>> _______________________________________________ >> >>>>>>> Neo4j mailing list >> >>>>>>> User@lists.neo4j.org >> >>>>>>> https://lists.neo4j.org/mailman/listinfo/user >> >>>>>>> >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> -- >> >>>>>> Jacob Hansson >> >>>>>> Phone: +46 (0) 763503395 >> >>>>>> Twitter: @jakewins >> >>>>>> _______________________________________________ >> >>>>>> Neo4j mailing list >> >>>>>> User@lists.neo4j.org >> >>>>>> https://lists.neo4j.org/mailman/listinfo/user >> >>>>>> >> >>>>> _______________________________________________ >> >>>>> Neo4j mailing list >> >>>>> User@lists.neo4j.org >> >>>>> https://lists.neo4j.org/mailman/listinfo/user >> >>>>> >> >>>> >> >>>> >> >>>> >> >>>> -- >> >>>> Jacob Hansson >> >>>> Phone: +46 (0) 763503395 >> >>>> Twitter: @jakewins >> >>>> _______________________________________________ >> >>>> Neo4j mailing list >> >>>> User@lists.neo4j.org >> >>>> https://lists.neo4j.org/mailman/listinfo/user >> >>> >> >>> _______________________________________________ >> >>> Neo4j mailing list >> >>> User@lists.neo4j.org >> >>> https://lists.neo4j.org/mailman/listinfo/user >> >>> >> >> >> >> >> >> >> >> -- >> >> Jacob Hansson >> >> Phone: +46 (0) 763503395 >> >> Twitter: @jakewins >> >> _______________________________________________ >> >> Neo4j mailing list >> >> User@lists.neo4j.org >> >> https://lists.neo4j.org/mailman/listinfo/user >> > >> > _______________________________________________ >> > Neo4j mailing list >> > User@lists.neo4j.org >> > https://lists.neo4j.org/mailman/listinfo/user >> > >> _______________________________________________ >> Neo4j mailing list >> User@lists.neo4j.org >> https://lists.neo4j.org/mailman/listinfo/user >> > > > > -- > Jacob Hansson > Phone: +46 (0) 763503395 > Twitter: @jakewins > _______________________________________________ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user