John,

Based on your description, it looks like you are on the verge of being able
to offer a very useful capability: the ability to query the follows AND
unfollows since the last time you checked. That would be a great addition to
the API.

For example, I'd really like to be able to page through A, B, C, etc. And
then, after that, say "OK, what's changed since then"?

Regards,
Brian


> -----Original Message-----
> From: twitter-development-talk@googlegroups.com [mailto:twitter-
> development-t...@googlegroups.com] On Behalf Of John Kalucki
> Sent: Sunday, October 04, 2009 11:17 PM
> To: Twitter Development Talk
> Subject: [twitter-dev] Re: Twitter, Please Explain How Cursors Work
> 
> 
> I haven't looked at all the parts of the system, so there's some
> chance that I'm missing something.
> 
> The method returns the followers in the reverse chronological order of
> edge creation. Cursor A will have the most recent 5,000 edges, by
> creation time, B the next most recent 5,000, etc. The last cursor will
> have the oldest edges.
> 
> Each cursor points to some arbitrary edge. If you go back and retrieve
> cursor B, you should receive N edges created just before the edge-
> pointed-to-by-B was created. I don't recall if N is always 5000,
> generally 5000 or if it's at most 5000. This detail shouldn't matter,
> other than, on occasion, you'll make an extra API call.
> 
> In any case, retrieving cursor B will never return edges created after
> the edge-pointed-to-by-B was created. All edges returned by cursor B
> will be no-newer-than, and generally older than, than the edge-pointed-
> to-by-B.
> 
> So, all future sets returned by cursor B are always disjoint from the
> set originally returned by cursor A. In your example, if you refetched
> both A and B, the result sets wouldn't be disjoint as there are no
> longer 5,000 edges between cursor A and cursor B.
> 
> I think this, in part answers your question. ?
> 
> -John Kalucki
> http://twitter.com/jkalucki
> Services, Twitter Inc.
> 
> On Oct 4, 6:10 pm, Dewald Pretorius <dpr...@gmail.com> wrote:
> > For discussion purposes, let's assume I am cursoring through a very
> > volatile followers list of @veryvolatile. We have the following
> > cursors:
> >
> > A = 5,000
> > B = 5,000
> > C = 5,000
> >
> > I retrieve Cursor A and process it. Next I retrieve Cursor B and
> > process it. Then I retrieve Cursor C and process it.
> >
> > While I am processing Cursor C, 200 of the people who were in Cursor
> A
> > unfollow @veryvolatile, and 400 of the people who were in Cursor B
> > unfollow @veryvolatile.
> >
> > What do I get when I go back from C to B? Do I now get 4,600 ids in
> > the list?
> >
> > Or, do I get 5,000 in B, which now includes a subset of 400 ids that
> > were previously in Cursor A?
> >
> > Dewald

Reply via email to