Okay! Will think about this and get back to you soon.

Peter, I gotta say -- your open-mindedness and willingness to help
developers like me is awesome and much appreciated. Customer satisfaction,
etc. =)

Cheers,
Aseem

On Thu, Aug 25, 2011 at 11:12 AM, Peter Neubauer <
peter.neuba...@neotechnology.com> wrote:

> Aseem,
> If you can provide a nice suggestion on how exactly it would look, maybe I
> can implement it if the others agree?
>
> /peter
>
> Sent from my phone.
> On Aug 25, 2011 7:19 PM, "Aseem Kishore" <aseem.kish...@gmail.com> wrote:
> > Thanks Peter, we'll look into Gremlin. =)
> >
> > But I'll push back a bit and say it would still ask for a feature like
> this
> > to be a first-class feature of the REST API. If my app is e.g. in Python,
> > it's not super API-friendly for me to have to write Java-ish code to
> achieve
> > what I want.
> >
> > I'd get it if what I was asking for was an uncommon edge case request.
> But
> > for quite a while, this has been the one biggest pain point of Neo4j for
> us:
> > how to return a meaningful subset of traverse results instead of all
> > results. Having a paged traverser doesn't help at all if you can neither
> > specify the order nor know what the default ordering is based on (I asked
> a
> > while back and was told it's unspecified). (And again, by "order" here I
> > mean beyond just "breadth first".)
> >
> > I'm all for simple, minimalistic and elegant APIs. I'm also all for being
> > scenario-driven, and solving problems rather than building arbitrary
> > features. So perhaps one solution here would be to introduce a new
> built-in
> > "best first" order that's just like Djikstra's shortest-path API: you
> just
> > specify a "cost" property (or function) for nodes and/or relationships.
> This
> > would definitely solve our problem, and, I suspect, most people's
> problems
> > in this regard. It wouldn't be a bulky feature that doesn't fit in (it
> would
> > compliment Djikstra's very nicely), and it wouldn't require writing a
> > complex Gremlin script to achieve this (I would think) common
> requirement.
> >
> > I'll get off the soapbox now. ;) Thanks for your consideration!
> >
> > Aseem
> >
> > On Thu, Aug 25, 2011 at 9:01 AM, Peter Neubauer <
> > peter.neuba...@neotechnology.com> wrote:
> >
> >> See the other mail for a pointer :)
> >>
> >> 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 - Your high performance graph database.
> >> http://startupbootcamp.org/ - Ă–resund - Innovation happens HERE.
> >> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
> >>
> >>
> >> On Thu, Aug 25, 2011 at 1:00 AM, Matt Luongo <m...@scholr.ly> wrote:
> >>
> >> > +1, we could really use that. Client-side sorting sucks.
> >> >
> >> > --
> >> > Matt Luongo
> >> > Co-Founder, Scholr.ly
> >> >
> >> >
> >> >
> >> > On Wed, Aug 24, 2011 at 4:43 PM, Aseem Kishore <
> aseem.kish...@gmail.com
> >> > >wrote:
> >> >
> >> > > I've just spent a bunch of time reading into how one can control the
> >> > > ordering of a traverse beyond simple "breadth first" or "depth
> first".
> >> > More
> >> > > precisely, even when breadth first, how one can control *which*
> >> neighbors
> >> > > are traversed first.
> >> > >
> >> > > (It matters less in which order they're traversed vs. which order
> >> they're
> >> > > returned if you're returning all results, since you can just sort on
> >> the
> >> > > client. But it matters a lot if you want to use the paged traverser,
> >> > since
> >> > > you're then only returning the first results.)
> >> > >
> >> > > I've learned that this is doable from Java by writing your own
> >> > > BranchSelector implementation:
> >> > >
> >> > > http://components.neo4j.org/neo4j/1.4.1/apidocs/
> >> > >
> >> > > I've found the built-in implementations, e.g. the pre-order
> >> breadth-first
> >> > > and depth-first:
> >> > >
> >> > >
> >> > >
> >> >
> >>
>
> https://github.com/neo4j/community/blob/master/kernel/src/main/java/org/neo4j/kernel/PreorderBreadthFirstSelector.java
> >> > >
> >> > >
> >> > >
> >> >
> >>
>
> https://github.com/neo4j/community/blob/master/kernel/src/main/java/org/neo4j/kernel/PreorderDepthFirstSelector.java
> >> > >
> >> > > To achieve a custom "best first", Igor Dovgiy for example shared
> that
> >> he
> >> > > modeled his implementation of the breadth-first selector, except
> just
> >> > using
> >> > > a PriorityQueue instead of a regular Queue.
> >> > >
> >> > > My question is: is there any way to specify this sort of thing over
> the
> >> > > REST
> >> > > API instead of having to write a plugin? If not, does that sound
> like
> a
> >> > > reasonable feature request?
> >> > >
> >> > > I really just want something simple: nodes ordered by some
> "timestamp"
> >> > > property. It's killing us that we can't do this today. We might just
> >> have
> >> > > to
> >> > > look into writing this as a plugin...
> >> > >
> >> > > Thanks!
> >> > >
> >> > > Aseem
> >> > > _______________________________________________
> >> > > 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
> _______________________________________________
> 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

Reply via email to