Extracting data during link walking using PBC

OJ Reeves oj at buffered.io
Wed Apr 27 23:23:58 EDT 2011


Hi everyone,

I'm currently using Riak to store some user/account/oauth information and I
have a need to pull some data while link-walking using the Erlang PBC.

I have read the post on the Basho
blog<http://blog.basho.com/2010/02/24/link-walking-by-example/>about
how to do link walking using the REST API, and I can see that data for
the individual nodes comes back as the nodes are being walked (by specifying
*1* at the end of the URI). Unfortunately, after reading the
docs<https://github.com/basho/riak-erlang-client/blob/master/docs/pb-client.txt>,
I can't see how to achieve the same result using the PBC. The samples
demonstrate how to get information from the links using map/reduce, and I
can see how I would use that information to hit Riak again and ask for the
content.

So my question: Is this how link walking should work when using the PBC? Or
is there some way of getting the PBC to return the content at the same time
as doing the link walking?

In practice, what I have it a relationship between three entities (*a*, *b*and
*c*) that live in different buckets (*A*, *B* and *C*). *a* has a link to *b
*, and *b* has a link to *c*. What I want to do is walk from *a* to
*c*while taking the following information:

   - The value stored in *a*.
   - The key of *b* and, if *b* still exists in *B*, the value stored in *b*,
   otherwise nothing/false/failure.
   - The key of *c* and an indication of whether *c* currently exists in *C*
   .

Currently I link walk and do each step manually and I was wondering if there
was a better or more optimal way of performing these actions.

I hope I'm clear!

Many thanks for any insights you may have.
Best regards
OJ

-- 

OJ Reeves
http://buffered.io/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20110428/ac372a2a/attachment.html>


More information about the riak-users mailing list