Reputation: 7321
I can't find anything in freebase's docs about it but it seems they limit the number of results to 100. For example:
[{
"type":"/base/popstra/celebrity",
"name":null
}]
Returns only 100 results whereas
[{
"type":"/base/popstra/celebrity",
return:"count"
}]
Says there are 6244 results. Does anyone know how to get the rest of them? I know I can limit the queries by some parameter like country and then aggregate the results but I'd prefer something less hacky.
Upvotes: 5
Views: 1779
Reputation: 45331
You can use the limit
property to request more results. However, fetching large numbers can give you a query timeout.
A more reliable way is to use the cursor
property. Pass in a cursor
value of true
. You'll get a batch of results, but you'll also get a new value for cursor
in the response. Repeat your query, but substitute in the new cursor
value to get the next batch of results. In this way you can fetch even a very large set of data.
More info: http://www.freebase.com/docs/mql/ch04.html#envelopeparameters
Upvotes: 8
Reputation: 7321
A coworker helped me figure this one out. I thought I should use the limit
parameter but I didn't put it in the right place. Here's how it's done:
[{
"type":"/base/popstra/celebrity",
"name":null,
"limit":300
}]
Upvotes: 0