Thanks for answering! Linked list... My spontaneous feeling is that then
I'll have to sort every time the scores change, right? And that operations
would probably take more and more time depending on the number of players..?
But the fetching of the leaderboard would be dead fast every time!

The logic is kind of that of a pyramid game (no, I'm not doing anything
bad... quite the opposite, actually... ask Emil if you don't believe me ;).
If I score, the person that has introduced me will get points, and the
person that introduced that person would get points and so on. This means
that one changed score can ripple out over a number of different scores. In
my mind, If I use a linked list approach, I would have to sort the list for
every update of the scores. Or I would have to bash-sort at a later stage.
Or I would have to sort when getting the top scores. What I really was
hoping for some magic Lucene-sorted-index-type-of-thingy ;) Any ideas on
that?

/Mattias

On Mon, Mar 15, 2010 at 11:19 PM, Lachlan Cotter <l...@lachlanc.id.au>wrote:

> Probably depends on the logic of your scoring system, I would think.
>
>
> On 16/03/2010, at 8:43 AM, Rick Bullotta wrote:
>
> > Perhaps a linked list using relationships?
> >
> > Or even a btree should be doable?
> >
> > ------Original Message------
> > From: Mattias Ask
> > Sender: user-boun...@lists.neo4j.org
> > To: Neo user discussions
> > ReplyTo: Neo user discussions
> > Subject: [Neo] Leaderboard?
> > Sent: Mar 15, 2010 11:03 AM
> >
> > I've been thinking of a problem that I have, and would like to hear
> > how you
> > all would solve it.
> >
> > I have a use case where the top scoring users should be presented in a
> > leaderboard. One players action may effect many players scores. How
> > would
> > you solve this problem when using Neo? I know that I could make all
> > actions
> > trigger an update to a PlayersScore-table in a relational db, and
> > then do a
> > "SELECT player_id, score FROM PlayersScores ORDER BY score DESC",
> > but I
> > would like to know how this can be done in Neo without killing
> > performance.
> > Any ideas?
> >
> > Best regards,
> > Mattias Ask
> > _______________________________________________
> > Neo mailing list
> > User@lists.neo4j.org
> > https://lists.neo4j.org/mailman/listinfo/user
> >
> >
> >
> > _______________________________________________
> > Neo mailing list
> > User@lists.neo4j.org
> > https://lists.neo4j.org/mailman/listinfo/user
>
> _______________________________________________
> Neo mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>
_______________________________________________
Neo mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to