2010-02-23 25 views
5

tôi không thể tìm thấy bất cứ điều gì trong tài liệu Freebase về nó, nhưng có vẻ như họ hạn chế số lượng kết quả đến 100. Ví dụ:làm thế nào để tăng kết quả Freebase API hạn chế

[{ 
    "type":"/base/popstra/celebrity", 
    "name":null 
}] 

Returns chỉ có 100 kết quả trong khi

[{ 
    "type":"/base/popstra/celebrity", 
    return:"count" 
}] 

Có 6244 kết quả. Có ai biết làm thế nào để có được phần còn lại của họ? Tôi biết tôi có thể giới hạn các truy vấn của một số tham số như quốc gia và sau đó tổng hợp các kết quả nhưng tôi muốn một cái gì đó ít hacky.

Trả lời

8

Bạn có thể sử dụng thuộc tính limit để yêu cầu thêm kết quả. Tuy nhiên, tìm nạp số lượng lớn có thể cho bạn thời gian chờ truy vấn.

Cách đáng tin cậy hơn là sử dụng thuộc tính cursor. Vượt qua giá trị cursor của true. Bạn sẽ nhận được một loạt kết quả, nhưng bạn cũng sẽ nhận được một giá trị mới cho cursor trong phản hồi. Lặp lại truy vấn của bạn, nhưng thay thế bằng giá trị cursor mới để nhận kết quả kết quả tiếp theo. Bằng cách này, bạn có thể tìm nạp ngay cả một tập hợp dữ liệu rất lớn.

Thông tin thêm: http://www.freebase.com/docs/mql/ch04.html#envelopeparameters

+0

Sử dụng ví dụ của họ tôi nhận được thông báo sau "Con trỏ khóa là một từ dành riêng", dường như không hoạt động nữa. – Domenic

+0

Điều này vẫn hoạt động. Con trỏ đi trên phong bì, không phải trong chính truy vấn (theo liên kết mà Peter cung cấp cho tài liệu). –

+0

Ah! Cảm ơn Peter, tôi đã tự hỏi làm thế nào để có được giá trị con trỏ trong phản ứng! –

0

Đồng nghiệp đã giúp tôi tìm hiểu điều này. Tôi nghĩ rằng tôi nên sử dụng tham số limit nhưng tôi đã không đặt nó vào đúng nơi. Dưới đây là cách thực hiện:

[{ 
    "type":"/base/popstra/celebrity", 
    "name":null, 
    "limit":300 
}] 
+0

Bạn thực sự nên cập nhật OP hoặc nhận xét của bạn về nó, thay vì cung cấp câu trả lời! –

Các vấn đề liên quan