/species route question/possible problem
Hi folks,
Seems like the `/species` route is possibly misbehaving in certain cases. A user of rgbif reports https://github.com/ropensci/rgbif/issues/287 unexpected results. The same calls but with curl:
curl ' https://api.gbif.org/v1/species?datasetKey=73605f3a-af85-4ade-bbc5-522bfb90d...' | jq .results[].datasetKey | wc -l 10
curl ' https://api.gbif.org/v1/species?datasetKey=73605f3a-af85-4ade-bbc5-522bfb90d...' | jq .results[].datasetKey | wc -l 10
curl ' https://api.gbif.org/v1/species?datasetKey=d7c60346-44b6-400d-ba27-8d3fbeffc...' | jq .results[].datasetKey | wc -l 7
We'd expect the first curl request to return 17 results given the results of the datasetKey's individually. Not sure what is going on there. This route does appear to accept multiple instances of the same parameter, but not sure why the top curl call there doesn't return 17 results?
Best, Scott
Hi Scott, indeed it only picks up one of the parameters. Looks like an oversight and probably one that is existing elsewhere too then ;) Ive logged an issue: https://github.com/gbif/checklistbank/issues/54
Markus
On 7. Feb 2018, at 22:37, Scott Chamberlain <myrmecocystus@gmail.commailto:myrmecocystus@gmail.com> wrote:
Hi folks,
Seems like the `/species` route is possibly misbehaving in certain cases. A user of rgbif reports https://github.com/ropensci/rgbif/issues/287 unexpected results. The same calls but with curl:
curl 'https://api.gbif.org/v1/species?datasetKey=73605f3a-af85-4ade-bbc5-522bfb90d...' | jq .results[].datasetKey | wc -l 10
curl 'https://api.gbif.org/v1/species?datasetKey=73605f3a-af85-4ade-bbc5-522bfb90d...' | jq .results[].datasetKey | wc -l 10
curl 'https://api.gbif.org/v1/species?datasetKey=d7c60346-44b6-400d-ba27-8d3fbeffc...' | jq .results[].datasetKey | wc -l 7
We'd expect the first curl request to return 17 results given the results of the datasetKey's individually. Not sure what is going on there. This route does appear to accept multiple instances of the same parameter, but not sure why the top curl call there doesn't return 17 results?
Best, Scott _______________________________________________ API-users mailing list API-users@lists.gbif.orgmailto:API-users@lists.gbif.org https://lists.gbif.org/mailman/listinfo/api-users
Hi again,
I just checked code and it was done intentionally as our API interface is defined for all or just one dataset key: https://github.com/gbif/gbif-api/blob/master/src/main/java/org/gbif/api/serv...
I propose to throw an IllegalRequest in case of more than one datasetKey for the time being. If you want this to be changed please log an API issue or enhancement request in the portal.
Cheers, Markus
On 8. Feb 2018, at 11:04, Markus Döring mdoering@gbif.org wrote:
Hi Scott, indeed it only picks up one of the parameters. Looks like an oversight and probably one that is existing elsewhere too then ;) Ive logged an issue: https://github.com/gbif/checklistbank/issues/54
Markus
On 7. Feb 2018, at 22:37, Scott Chamberlain myrmecocystus@gmail.com wrote:
Hi folks,
Seems like the `/species` route is possibly misbehaving in certain cases. A user of rgbif reports https://github.com/ropensci/rgbif/issues/287 unexpected results. The same calls but with curl:
curl 'https://api.gbif.org/v1/species?datasetKey=73605f3a-af85-4ade-bbc5-522bfb90d...' | jq .results[].datasetKey | wc -l 10
curl 'https://api.gbif.org/v1/species?datasetKey=73605f3a-af85-4ade-bbc5-522bfb90d...' | jq .results[].datasetKey | wc -l 10
curl 'https://api.gbif.org/v1/species?datasetKey=d7c60346-44b6-400d-ba27-8d3fbeffc...' | jq .results[].datasetKey | wc -l 7
We'd expect the first curl request to return 17 results given the results of the datasetKey's individually. Not sure what is going on there. This route does appear to accept multiple instances of the same parameter, but not sure why the top curl call there doesn't return 17 results?
Best, Scott _______________________________________________ API-users mailing list API-users@lists.gbif.org https://lists.gbif.org/mailman/listinfo/api-users
API-users mailing list API-users@lists.gbif.org https://lists.gbif.org/mailman/listinfo/api-users
Hi Markus,
Thanks very much for your help on this. That seems like a good solution.
Does the only 1 instance of a parameter per request apply to the other parameters on that route as well? https://www.gbif.org/developer/species#nameUsages name, sourceId, language
Best, Scott
On Thu, Feb 8, 2018 at 2:11 AM Markus Döring mdoering@gbif.org wrote:
Hi again,
I just checked code and it was done intentionally as our API interface is defined for all or just one dataset key:
https://github.com/gbif/gbif-api/blob/master/src/main/java/org/gbif/api/serv...
I propose to throw an IllegalRequest in case of more than one datasetKey for the time being. If you want this to be changed please log an API issue or enhancement request in the portal.
Cheers, Markus
On 8. Feb 2018, at 11:04, Markus Döring mdoering@gbif.org wrote:
Hi Scott, indeed it only picks up one of the parameters. Looks like an oversight
and probably one that is existing elsewhere too then ;)
Ive logged an issue: https://github.com/gbif/checklistbank/issues/54
Markus
On 7. Feb 2018, at 22:37, Scott Chamberlain myrmecocystus@gmail.com
wrote:
Hi folks,
Seems like the `/species` route is possibly misbehaving in certain
cases. A user of rgbif reports https://github.com/ropensci/rgbif/issues/287 unexpected results. The same calls but with curl:
curl '
https://api.gbif.org/v1/species?datasetKey=73605f3a-af85-4ade-bbc5-522bfb90d...' | jq .results[].datasetKey | wc -l
10
curl '
https://api.gbif.org/v1/species?datasetKey=73605f3a-af85-4ade-bbc5-522bfb90d...' | jq .results[].datasetKey | wc -l
10
curl '
https://api.gbif.org/v1/species?datasetKey=d7c60346-44b6-400d-ba27-8d3fbeffc...' | jq .results[].datasetKey | wc -l
7
We'd expect the first curl request to return 17 results given the
results of the datasetKey's individually. Not sure what is going on there. This route does appear to accept multiple instances of the same parameter, but not sure why the top curl call there doesn't return 17 results?
Best, Scott _______________________________________________ API-users mailing list API-users@lists.gbif.org https://lists.gbif.org/mailman/listinfo/api-users
API-users mailing list API-users@lists.gbif.org https://lists.gbif.org/mailman/listinfo/api-users
Yes Scott, they all accept just one value. The only exception is actually datasetKey if it is used together with a name parameter. In that case only a set of dataset keys is allowed. Not exactly intuitive, but thats how the interface was designed:
PagingResponse<NameUsage> list(Locale locale, UUID datasetKey, String sourceId, Pageable page);
PagingResponse<NameUsage> listByCanonicalName(Locale locale, String canonicalName, Pageable page, UUID ... datasetKey);
Markus
On 8. Feb 2018, at 19:28, Scott Chamberlain myrmecocystus@gmail.com wrote:
Hi Markus,
Thanks very much for your help on this. That seems like a good solution.
Does the only 1 instance of a parameter per request apply to the other parameters on that route as well? https://www.gbif.org/developer/species#nameUsages name, sourceId, language
Best, Scott
On Thu, Feb 8, 2018 at 2:11 AM Markus Döring mdoering@gbif.org wrote: Hi again,
I just checked code and it was done intentionally as our API interface is defined for all or just one dataset key: https://github.com/gbif/gbif-api/blob/master/src/main/java/org/gbif/api/serv...
I propose to throw an IllegalRequest in case of more than one datasetKey for the time being. If you want this to be changed please log an API issue or enhancement request in the portal.
Cheers, Markus
On 8. Feb 2018, at 11:04, Markus Döring mdoering@gbif.org wrote:
Hi Scott, indeed it only picks up one of the parameters. Looks like an oversight and probably one that is existing elsewhere too then ;) Ive logged an issue: https://github.com/gbif/checklistbank/issues/54
Markus
On 7. Feb 2018, at 22:37, Scott Chamberlain myrmecocystus@gmail.com wrote:
Hi folks,
Seems like the `/species` route is possibly misbehaving in certain cases. A user of rgbif reports https://github.com/ropensci/rgbif/issues/287 unexpected results. The same calls but with curl:
curl 'https://api.gbif.org/v1/species?datasetKey=73605f3a-af85-4ade-bbc5-522bfb90d...' | jq .results[].datasetKey | wc -l 10
curl 'https://api.gbif.org/v1/species?datasetKey=73605f3a-af85-4ade-bbc5-522bfb90d...' | jq .results[].datasetKey | wc -l 10
curl 'https://api.gbif.org/v1/species?datasetKey=d7c60346-44b6-400d-ba27-8d3fbeffc...' | jq .results[].datasetKey | wc -l 7
We'd expect the first curl request to return 17 results given the results of the datasetKey's individually. Not sure what is going on there. This route does appear to accept multiple instances of the same parameter, but not sure why the top curl call there doesn't return 17 results?
Best, Scott _______________________________________________ API-users mailing list API-users@lists.gbif.org https://lists.gbif.org/mailman/listinfo/api-users
API-users mailing list API-users@lists.gbif.org https://lists.gbif.org/mailman/listinfo/api-users
Okay, thanks for the update.
Scott
On Thu, Feb 8, 2018 at 1:33 PM Markus Döring mdoering@gbif.org wrote:
Yes Scott, they all accept just one value. The only exception is actually datasetKey if it is used together with a name parameter. In that case only a set of dataset keys is allowed. Not exactly intuitive, but thats how the interface was designed:
PagingResponse<NameUsage> list(Locale locale, UUID datasetKey, String sourceId, Pageable page);
PagingResponse<NameUsage> listByCanonicalName(Locale locale, String canonicalName, Pageable page, UUID ... datasetKey);
Markus
On 8. Feb 2018, at 19:28, Scott Chamberlain myrmecocystus@gmail.com
wrote:
Hi Markus,
Thanks very much for your help on this. That seems like a good solution.
Does the only 1 instance of a parameter per request apply to the other
parameters on that route as well? https://www.gbif.org/developer/species#nameUsages name, sourceId, language
Best, Scott
On Thu, Feb 8, 2018 at 2:11 AM Markus Döring mdoering@gbif.org wrote: Hi again,
I just checked code and it was done intentionally as our API interface
is defined for all or just one dataset key:
https://github.com/gbif/gbif-api/blob/master/src/main/java/org/gbif/api/serv...
I propose to throw an IllegalRequest in case of more than one datasetKey
for the time being.
If you want this to be changed please log an API issue or enhancement
request in the portal.
Cheers, Markus
On 8. Feb 2018, at 11:04, Markus Döring mdoering@gbif.org wrote:
Hi Scott, indeed it only picks up one of the parameters. Looks like an oversight
and probably one that is existing elsewhere too then ;)
Ive logged an issue: https://github.com/gbif/checklistbank/issues/54
Markus
On 7. Feb 2018, at 22:37, Scott Chamberlain myrmecocystus@gmail.com
wrote:
Hi folks,
Seems like the `/species` route is possibly misbehaving in certain
cases. A user of rgbif reports https://github.com/ropensci/rgbif/issues/287 unexpected results. The same calls but with curl:
curl '
https://api.gbif.org/v1/species?datasetKey=73605f3a-af85-4ade-bbc5-522bfb90d...' | jq .results[].datasetKey | wc -l
10
curl '
https://api.gbif.org/v1/species?datasetKey=73605f3a-af85-4ade-bbc5-522bfb90d...' | jq .results[].datasetKey | wc -l
10
curl '
https://api.gbif.org/v1/species?datasetKey=d7c60346-44b6-400d-ba27-8d3fbeffc...' | jq .results[].datasetKey | wc -l
7
We'd expect the first curl request to return 17 results given the
results of the datasetKey's individually. Not sure what is going on there. This route does appear to accept multiple instances of the same parameter, but not sure why the top curl call there doesn't return 17 results?
Best, Scott _______________________________________________ API-users mailing list API-users@lists.gbif.org https://lists.gbif.org/mailman/listinfo/api-users
API-users mailing list API-users@lists.gbif.org https://lists.gbif.org/mailman/listinfo/api-users
participants (2)
-
Markus Döring
-
Scott Chamberlain