-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adapt the Occurrence API to use work with multiple taxonomies #342
Comments
Draft proposal for Occurrence API changesBelow is a set additional webservices and additional parameter options for existing web services. Search response - including multiple classificationsThe search response includes a {
"offset": 0,
"limit": 20,
"endOfRecords": false,
"count": 412833,
"results": [
{
"key": 462028,
"datasetKey": "9bd520e3-00fa-4955-a554-924ea440862c",
"publishingOrgKey": "d2b97690-bfd6-11de-b279-d52977ace833",
"installationKey": "99672740-f762-11e1-a439-00145eb45e9a",
"hostingOrganizationKey": "d2b97690-bfd6-11de-b279-d52977ace833",
"publishingCountry": "IE",
"protocol": "DWC_ARCHIVE",
"lastCrawled": "2024-09-05T18:36:01.493+00:00",
"lastParsed": "2024-09-12T14:10:38.809+00:00",
"crawlId": 176,
"extensions": {},
"basisOfRecord": "HUMAN_OBSERVATION",
"occurrenceStatus": "PRESENT",
"sex": "MALE",
"lifeStage": "Adult",
"classifications": [
{
"checklistKey": "7ddf754f-d193-4cc9-b351-99906754a03b",
"usage": {
"key": "8C2QW",
"name": "Episyrphus (Episyrphus) balteatus (De Geer, 1776)",
"rank": "SPECIES"
},
"acceptedUsage": {
"key": "8C2QW",
"name": "Episyrphus (Episyrphus) balteatus (De Geer, 1776)",
"rank": "SPECIES"
},
"classification": [
{
"key": "RT",
"name": "Arthropoda",
"rank": "PHYLUM"
},
{
"key": "CHP6G",
"name": "Hexapoda",
"rank": "SUBPHYLUM"
},
{
"key": "D2P",
"name": "Diptera",
"rank": "ORDER"
},
{
"key": "BXZTG",
"name": "Episyrphus",
"rank": "SUBGENUS"
},
{
"key": "BXZTD",
"name": "Episyrphus",
"rank": "GENUS"
},
{
"key": "B7XFC",
"name": "Syrphini",
"rank": "TRIBE"
},
{
"key": "8C2QW",
"name": "Episyrphus balteatus",
"rank": "SPECIES"
},
{
"key": "N",
"name": "Animalia",
"rank": "KINGDOM"
},
{
"key": "5T6MX",
"name": "Biota",
"rank": "UNRANKED"
},
{
"key": "H6",
"name": "Insecta",
"rank": "CLASS"
},
{
"key": "9H6NG",
"name": "Syrphinae",
"rank": "SUBFAMILY"
},
{
"key": "GVS",
"name": "Syrphidae",
"rank": "FAMILY"
}
]
}
],
"type": "Occurrence"
}
],
"facets": []
} Searches with
|
taxon depth facet support facetting on any rank level for a checklist query on any rank level for a checklist gbif/occurrence#342
taxon depth facet support facetting on any rank level for a checklist query on any rank level for a checklist #342
taxon depth facet support facetting on any rank level for a checklist query on any rank level for a checklist gbif/occurrence#342
This is a large new functionality, so I suppose large changes is expected. Here are the things that surprised me Searches with taxonKey and checklistKey in GET APIThe current version only allow for one checklist. Which is okay I suppose. It might be unlikely anyone want to use more that one. I'm not dead aginst this, but it is slightly puzzling because it change the behaviour of what taxonKey refers to. I get 10 results for Ideas Another version: Search using predicatesIf I undestand the conversation elsewhere correctly then the predicate approach is
And to only allow the checklist predicate once. This is confusing to me. Again it isn't clear to me how the 2 predicates in the AND influence each other. And secondly it is odd it only can be used once. And lastly unclear what part of the tree it applies to in that case (I imagine a more complex predicate with multiple AND/OR/NOT) If it is only allowed once, then it isn't a predicate in my mind, but belongs om the same level as the Something like Or |
Another option to consider is to use the checklist explicitly as part of the services that support multiple taxonomies, for example:
|
Another option. |
Draft proposal of changes to the Occurrence API to support: filter by checklist, add additional ranks, full classification, checklists dataset key, data types changes.
Decide if this change can be applied to API v1 or if a V2 is needed.
The text was updated successfully, but these errors were encountered: