Cool!
The challenge is to provide an API that works regardless of the underlying
index implementation used - or of course the different indexes could add
their own REST endpoints that ARE specific, and we provide explicit plugins
for e.g. Lucene or Redis ...

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 8:14 PM, Aseem Kishore <aseem.kish...@gmail.com>wrote:

> 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
>
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to