-
Notifications
You must be signed in to change notification settings - Fork 7
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
TG2-AMENDMENT_TYPESTATUS_STANDARDIZED #286
Comments
@chicoreus @tucotuco I'm not sure that the link I have for the API is an actual API or if one exists (https://gbif.github.io/parsers/apidocs/org/gbif/api/vocabulary/TypeStatus.htm) thus the NEEDS WORK label |
@CecSve mentioned in #284 that GBIF is working on the typeStatus vocabulary gbif/vocabulary#87 Flagging this here. |
Changed to Immature/Incomplete pending development of Vocabulary by GBIF |
GBIF has a vocabulary, it just isn't accessible via API from the vocabulary server. Implementations don't necessarily need an API to function. In fact, they would be more efficient or much more efficient without API calls, depending on how they were implemented. In other words, I do not think that having API access to a controlled vocabulary is a requirement for implementation, but having a controlled vocabulary is. |
I am happy with that @tucotuco. Any comments @chicoreus? |
Changed to CORE and deleted some wording from Notes. Left as "NEEDS WORK" following discussion with @chicoreus on need for MEASURE test. More discussion needed. |
Not sure that this is tractable. The expectation for values in dwc:typeStatus is a pipe delimited list of {type status term of taxon name {publication}}. The definition explicitly includes the taxon name as part of the expected value: "A list (concatenated and separated) of nomenclatural types (type status, typified scientific name, publication) applied to the subject." One example includes citation information, the other just type status term and taxon name. For just type status terms and taxon names, we could probably manage with two source authorities, one for the type status term and one for the taxon name, but with publication citations included, that will not be tractable. We might get away with conforming the first word of each pipe delimited block to a type status term vocabulary. Examples in Darwin Core are:
|
We might also make a change term request for dwc:typeStatus and see if that flies. |
Interesting - perhaps we need to do what @tucotuco suggests. Originally, I thought we were just checking against a list of types of Types regardless of other data such as the taxon and the publication. We generally look at terms in isolation, but I wasn't realising Darwin Core included the taxon name and publication. That certainly makes it a lot more difficult and wonder if it is still worth keeping (as CORE at least - possibly as SUPPLEMENTARY). I believe our original thoughts were to just test to see if the type of type was included in a vocabulary - holotype, neotype, lectotype, etc. (i.e. as in https://rs.gbif.org/vocabulary/gbif/type_status_2021-01-18.xml). My suggestion would be to drop this test as I can't think of another way to word it so it is consistent with Darwin Core - i.e. taking just the first part of the Darwin Core definition ("A list (concatenated and separated) of nomenclatural types (type status") without the second part. Perhaps the suggestion by @tucotuco or a new Darwin Core term - but it is too late for that for us. |
Perhaps do what @tucotuco suggests and in the meantime drop to Incomplete/Immature. |
Alternative is to split into parts by the pipe character and evaluate the first word of each part. Perhaps something like: EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; INTERNAL PREREQUISITES_NOT_MET if dwc:typeStatus is EMPTY; AMENDED the value of the first word in each | delimited portion of dwc:typeStatus if it can be unambiguously matched to a term in bdq:sourceAuthority; otherwise NOT_AMENDED |
Also, there is this open issue which we can support. tdwg/dwc#28 |
…CENSE_STANDARDIZED with unit test and default method. Adding implementation for tdwg/bdq#286 without unit tests and adding a note to it and the other dwc:typeStatus test tdwg/bdq#285 that these may need to be reworked or removed.
@chicoreus - your suggestion seems reasonable and workable. As discussed under tdwg/dwc#28 a lot of databases have just the type of Type under typeStatus in their databases. I see a good case for us to support the DwC proposal, but in the mean time use the pipe suggestion of @chicoreus |
…and tdwg/bdq#286, need to throw exception on invalid.
With general agreement, I am changing the Expected Response from EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; INTERNAL PREREQUISITES_NOT_MET if dwc:typeStatus is EMPTY; AMENDED the value of dwc:typeStatus if it can be unambiguously matched to a term in bdq:sourceAuthority; otherwise NOT_AMENDED to EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; INTERNAL PREREQUISITES_NOT_MET if dwc:typeStatus is EMPTY; AMENDED the value of the first word in each | delimited portion of dwc:typeStatus if it can be unambiguously matched to a term in bdq:sourceAuthority; otherwise NOT_AMENDED and updating Specification Last Updated |
I wonder if it should be "value of the first word in the first | delimited portion" rather than "value of the first word in each | delimited portion" |
On Sat, 03 Aug 2024 17:07:25 -0700 Arthur Chapman ***@***.***> wrote:
I wonder if it should be "value of the first word in the first |
delimited portion" rather than "value of the first word in each |
delimited portion"
In each portion, as each portion is expected to be a string in the form {typestatus} of {scientific name} {publicication}.
Some specimens are types for more than one name.
|
@chicoreus - how do you see the parsing of this with the pipes (|)? |
On Sat, 03 Aug 2024 18:22:41 -0700 Arthur Chapman ***@***.***> wrote:
@chicoreus - how do you see the parsing of this with the pipes (|)?
In incomplete pseudocode:
elements = split(typeStatus,'|')
for each element in elements {
if (first word in element not found in vocabulary) {
compliantFlag = false
}
}
|
I needed to add "" to pipe in the Expected Response for general interpretation |
…q#286, marking with TODO comments that test needs to be updated to fit the specification.
Darwin Core does not provide a vocabulary for type status values. Correcting source authority to gbif vocabulary: bdq:sourceAuthority default = "GBIF TypeStatus Vocabulary" {[https://api.gbif.org/v1/vocabularies/TypeStatus]} {dwc:typeStatus vocabulary API [https://api.gbif.org/v1/vocabularies/TypeStatus]} |
The text was updated successfully, but these errors were encountered: