java - Freebase Search API - Get All Results -
is possible results freebase search api?
today trying 2 approaches in java:
1) www.googleapis.com/freebase/v1/search?filter=..." using "cursor"(integer) , "limit" options. 2) www.freebase.com/ajax/156b.lib.www.tags.svn.freebase-site.googlecode.dev/cuecard/mqlread.ajax?&query= try simulate 'query editor' (https://www.freebase.com/query) using "cursor" previous results set (string).
but in both of these approaches got
- 200 (first option) - 500 (second option)
records (should 6000 records) ...
after several iterations have got
- "request large, cursor: 200, limit: 200" (first option, 1 iteration) - "cursor false" (second option, 6 iterations)
message.
is freebase problem or may api limitations?
how results?
without specifics it's little difficult problem is, search api not intended return complete results. mqlread api should return complete results, although i'd consider 6k results towards upper end of intended usage. if you're not going error "query hard," suspect there's in query unintentionally limiting in ways don't expect.
the other way large amounts of information freebase extract data dumps.
note: freebase no longer being updated , both mqlread , search apis going away shortly (although google has said search api replaced knowledge graph based equivalent).
update: when run query comment below "return":"count", value of 536 matches reported results of 6 iterations using cursor.
note mqlread not compute transitive closure places birthplace, querying people born in portugal, not return people listed being born in lisbon (another 1143 people.)
the search api return transitive closure, although i'm not sure it's guaranteed complete. it's designed & tuned return top few best matches, not exhaustive lists, if want experiment it, can use query in example app:
or it's raw api equivalent:
Comments
Post a Comment