Skip to content
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_TAXONRANK_STANDARDIZED #163

Open
ArthurChapman opened this issue Sep 3, 2018 · 43 comments
Open

TG2-AMENDMENT_TAXONRANK_STANDARDIZED #163

ArthurChapman opened this issue Sep 3, 2018 · 43 comments
Labels
Amendment Conformance CORE TG2 CORE tests NAME Parameterized Test requires a parameter Test Tests created by TG2, either CORE, Supplementary or DO NOT IMPLEMENT TG2 VOCABULARY

Comments

@ArthurChapman
Copy link
Collaborator

ArthurChapman commented Sep 3, 2018

TestField Value
GUID e39098df-ef46-464c-9aef-bcdeee2a88cb
Label AMENDMENT_TAXONRANK_STANDARDIZED
Description Proposes an amendment to the value of dwc:taxonRank using the bdq:sourceAuthority.
TestType Amendment
Darwin Core Class dwc:Taxon
Information Elements ActedUpon dwc:taxonRank
Information Elements Consulted
Expected Response EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; INTERNAL PREREQUISITES_NOT_MET if dwc:taxonRank is bdq:Empty; AMENDED the value of dwc:taxonRank if it can be unambiguously matched to a term in the bdq:sourceAuthority; otherwise NOT_AMENDED
Data Quality Dimension Conformance
Term-Actions TAXONRANK_STANDARDIZED
Parameter(s) bdq:sourceAuthority
Source Authority bdq:sourceAuthority default = "GBIF TaxonRank Vocabulary" [https://api.gbif.org/v1/vocabularies/TaxonRank]} {"dwc:taxonRank vocabulary API" [https://api.gbif.org/v1/vocabularies/TaxonRank/concepts]}}
Specification Last Updated 2023-09-18
Examples [dwc:taxonRank="sp.": Response.status=AMENDED, Response.result=dwc:taxonRank="species", Response.comment="dwc:taxonRank contains an interpretable value in the bdq:sourceAuthority"]
[dwc:taxonRank="sic.": Response.status=NOT_AMENDED, Response.result="", Response.comment="dwc:taxonRank does not contain an interpretable value in the bdq:sourceAuthority"]
Source TDWG2018
References
Example Implementations (Mechanisms)
Link to Specification Source Code
Notes For reference, information about possible values of dwc:taxonRank can be found at https://registry.gbif.org/vocabulary/TaxonRank/concepts
@Tasilee Tasilee changed the title TG2-AMENDMENT_TAXONRANK_STANDARDIZED TG2 - AMENDMENT_TAXONRANK_STANDARDIZED Sep 4, 2018
@Tasilee Tasilee mentioned this issue Sep 5, 2018
@chicoreus
Copy link
Collaborator

Added guid.

@Tasilee Tasilee added Test Test Tests created by TG2, either CORE, Supplementary or DO NOT IMPLEMENT and removed Test labels Sep 25, 2018
@tucotuco tucotuco added the Parameterized Test requires a parameter label Nov 5, 2018
@Tasilee Tasilee changed the title TG2 - AMENDMENT_TAXONRANK_STANDARDIZED TG2-AMENDMENT_TAXONRANK_STANDARDIZED Jun 5, 2019
@chicoreus
Copy link
Collaborator

I'd be a little bit hesitant to recommend the GBIF rank vocabulary, it is zoologically centric (there is no entry for Division, and translations of Division are mapped onto phylum, which is at the same level but isn't the same rank), most of the obscure infrasubspecific ranks found in botany are absent (particularly lusus and prolus), virological realm and subrealm are missing, etc.

@tucotuco
Copy link
Member

tucotuco commented Sep 6, 2019

One could get propose the required changes to the GBIF vocabulary. I suspect paleo would have something to say about what is there as well.

@ArthurChapman
Copy link
Collaborator Author

ArthurChapman commented Sep 6, 2019

I agree with @tucotuco - best is to propose some changes to GBIF's vocabulary. I am sure they would be receptive. There is no good alternative that covers everything so comprehensively. Incidentally, lusus and prolus are not formal ranks under the International Code of Algae, Fungi and Plants

@Tasilee
Copy link
Collaborator

Tasilee commented Sep 8, 2019

@tucotuco - I also support the suggestion, and agree with @ArthurChapman that GBIF should be supportive

@Tasilee
Copy link
Collaborator

Tasilee commented Apr 1, 2020

All: This is a random test to demo my updates to the table fields Parameter(s), References (in this case removed as there is no additional reference/s beyond the xml end point defined in Notes) and Notes is a draft template of what we agreed. Please check and thumbs or otherwise.

@ArthurChapman
Copy link
Collaborator Author

Looks OK - but in that case - that is a good reference - only other references would be to the Codes of Nomenclature and I'd prefer not to go there. Eventually, the default may be to an API, in which case you would want to retain the reference to the human readable vocabulary.

@Tasilee
Copy link
Collaborator

Tasilee commented Oct 25, 2021

Corrected example: dwc:taxonRecord="sp." becomes dwc:taxonRank="Species" to
dwc:taxonRank="sp." becomes dwc:taxonRank="Species"

@ArthurChapman
Copy link
Collaborator Author

I have attempted my first addition of a Definition

| Definition | An Amendment of the value in Taxon Rank to conform with the value obtained from a Paramaterized Source Authority. If no parameter is set, the source authority defaults to the latest Taxonomic Rank GBIF Vocabulary. |

@ArthurChapman
Copy link
Collaborator Author

Question. Is it OK here to use "Taxon Rank" in the definition - or should it be "dwc:taxonRank. I was trying to go towards plain English, but this may not work in all cases.

e.g.
| Definition | An Amendment of the value in Taxon Rank to conform with the value obtained from a Paramaterized Source Authority. If no parameter is set, the source authority defaults to the latest Taxonomic Rank GBIF Vocabulary. |
OR
| Definition | An Amendment of the value in dwc:taxonRank to conform with the value obtained from a Paramaterized Source Authority. If no parameter is set, the source authority defaults to the latest Taxonomic Rank GBIF Vocabulary. |

@Tasilee
Copy link
Collaborator

Tasilee commented Mar 23, 2022

I am not convinced of the need for “Brief”. If we can’t succinctly describe it in “Description”, we fail. Why have ‘two bites at the cherry’ when one will do. Ocham’s Razor.

@tucotuco
Copy link
Member

@ArthurChapman I still think think that the description should not have the "single record" part in it, but I am willing to not fight it to move forward.

@Tasilee
Copy link
Collaborator

Tasilee commented Mar 23, 2022

IF (and to me it is a big if) 'Single record' is REQUIRED for conformance with the Framework, then surely it should be a part of the specifications - as we had it previously (as "Resource Type"). We found that all the 'tests' were "single record" so we removed it.

@chicoreus
Copy link
Collaborator

@Tasilee

Consider the following RDF:

<rdf:Description rdf:about="urn:uuid:e39098df-ef46-464c-9aef-bcdeee2a88cb">
    <rdf:type rdf:resource="http://rs.tdwg.org/ffdq#Specification"/>
    <rdfs:description rdf:datatype="http://www.w3.org/2001/XMLSchema#string">EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; AMENDED if the value of dwc:taxonRank was standardized using the bdq:sourceAuthority; otherwise NOT_AMENDED</rdfs:description>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">AMENDMENT_TAXONRANK_STANDARDIZED</rdfs:label>
</rdf:Description>

<rdf:Description rdf:about="urn:uuid:f559e3a3-c756-44f2-a9c6-555d59c3535e">
    <hasSpecification xmlns="http://rs.tdwg.org/ffdq#" rdf:resource="urn:uuid:e39098df-ef46-464c-9aef-bcdeee2a88cb"/>
    <implementedBy xmlns="http://rs.tdwg.org/ffdq#" rdf:resource="urn:uuid:919e8e12-808c-46ca-81af-d90bdbf5321c"/>
    <rdf:type rdf:resource="http://rs.tdwg.org/ffdq#Implementation"/>
</rdf:Description>

<rdf:Description rdf:about="urn:uuid:2d81389a-ffe5-479a-a7d6-7a131f553b36">
    <enhancementInContext xmlns="http://rs.tdwg.org/ffdq#" rdf:resource="urn:uuid:5c1b9090-af8c-4b8c-b77a-0c8de69ba690"/>
    <hasSpecification xmlns="http://rs.tdwg.org/ffdq#" rdf:resource="urn:uuid:e39098df-ef46-464c-9aef-bcdeee2a88cb"/>
    <rdf:type rdf:resource="http://rs.tdwg.org/ffdq#AmendmentMethod"/>
</rdf:Description>

<rdf:Description rdf:about="urn:uuid:5c1b9090-af8c-4b8c-b77a-0c8de69ba690">
    <hasEnhancement xmlns="http://rs.tdwg.org/ffdq#" rdf:resource="urn:uuid:d1c371b0-87af-4fda-bde8-3f22f1abc745"/>
    <hasInformationElement xmlns="http://rs.tdwg.org/ffdq#" rdf:resource="urn:uuid:9e1b5503-2ef5-4663-8d42-8ae66355389c"/>
    <hasResourceType xmlns="http://rs.tdwg.org/ffdq#" rdf:resource="rt:SingleRecord"/>
    <rdf:type rdf:resource="http://rs.tdwg.org/ffdq#ContextualizedEnhancement"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Description needed here</rdfs:label>
</rdf:Description>

<rdf:Description rdf:about="urn:uuid:9e1b5503-2ef5-4663-8d42-8ae66355389c">
    <composedOf xmlns="http://rs.tdwg.org/ffdq#" rdf:resource="http://rs.tdwg.org/dwc/terms/taxonRank"/>
    <rdf:type rdf:resource="http://rs.tdwg.org/ffdq#InformationElement"/>
</rdf:Description>

<rdf:Description rdf:about="urn:uuid:d1c371b0-87af-4fda-bde8-3f22f1abc745">
    <rdf:type rdf:resource="http://rs.tdwg.org/ffdq#Enhancement"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Conformance: standardized</rdfs:label>
</rdf:Description>

I'm seeing a need for a label on the ContextualizedEnhancement, where the text "Description needed here" is.

@Tasilee
Copy link
Collaborator

Tasilee commented Mar 23, 2022

Why not "Description needed here" -> "Single record"? :)

@Tasilee
Copy link
Collaborator

Tasilee commented Mar 27, 2022

Looking to conform the Expected Response of AMENDMENTs to "AMEND {target} if ...", this one could become 'trivial':

EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; AMEND dwc:taxonRank using bdq:sourceAuthority; otherwise NOT_AMENDED

We do have the precursor #161 and #162 but we also agreed that the 'tests' should be stand-alone. Maybe the ER should be something like

EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; AMEND the value of dwc:taxonRank if this value can be matched to a standard value in bdq:sourceAuthority; otherwise NOT_AMENDED

?

@ArthurChapman
Copy link
Collaborator Author

Note that we have used AMENDED everywhere - not AMEND and fits with NOT_AMENDED

Agree to your change - I checked all the Descriptions so that we said "value of"

chicoreus added a commit to FilteredPush/sci_name_qc that referenced this issue Aug 19, 2022
…andardized. DESCRIPTION: Minimal implmementation using hardcoded copy of current values able to match on differences in case and a few alternative text forms. Needs lookup and cache implementation and darwin cloud implementation. Working minimal implementation including unit test.
@Tasilee
Copy link
Collaborator

Tasilee commented Sep 9, 2022

Done

@chicoreus
Copy link
Collaborator

Proposal from discussion on 2022-12-11: Concern, what to do when the value is "especie", or another synonym or language variant in the specified vocabulary, expectation of amend to standard term would be that this would be that this value would be amended to "species", the standard term in the vocabulary. This could be undesirable for some users who wish to use a particular language variant for their data. Thus, similar to our handling of different national standards for geodeticDatum, proposal would be for a parameter for this, and for other amendments that conform data to a vocabulary where the parameter would allow one of three cases: (1) The amendment propose the standard term in the vocabulary, using language variants and synonyms in the vocabulary as values to be amended to the standard form, or (2) The amendment propose a particular (specified) language variant of the vocabulary term, e.g. converting all values in taxonRank to a spanish form, or (3), treating any synonym or language variant in the vocabulary as valid, and only attempting (if possible) to conform values to the vocabulary if they don't occur anywhere within it (e.g. conforming case, SPECIES to species, and ESPECIE to especie),

@chicoreus
Copy link
Collaborator

Per note by @timrobertson100 in #170 we should probably switch the Source Authority to the more current, complete, and comprehensive one at https://registry.gbif.org/vocabulary/TaxonRank/concepts (available in machine readable form at https://api.gbif.org/v1/vocabularies/TaxonRank/concepts ). Likewise, we should make a similar change in #162

@ArthurChapman
Copy link
Collaborator Author

Updated "Source Authority" and "References" in accord with @chicoreus comment above. @Tasilee to check.

@Tasilee
Copy link
Collaborator

Tasilee commented Feb 26, 2023

Thanks @ArthurChapman: Checked.

@Tasilee
Copy link
Collaborator

Tasilee commented Mar 1, 2023

Could I suggest we replace the Expected response

EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; AMENDED the value of dwc:taxonRank if this value can be matched to a standard value in bdq:sourceAuthority; otherwise NOT_AMENDED

with

EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; AMENDED the value of dwc:taxonRank if it can be unambiguously matched to a term in bdq:sourceAuthority; otherwise NOT_AMENDED

?

@Tasilee
Copy link
Collaborator

Tasilee commented Mar 1, 2023

Is it odd that the Expected Response doesn't contain an INTERNAL_PREREQUISITES_NOT_MET? Should we have something like

EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; INTERNAL PREREQUISITES_NOT_MET if dwc:taxonRank is EMPTY; AMENDED the value of dwc:taxonRank if it can be unambiguously matched to a term in bdq:sourceAuthority; otherwise NOT_AMENDED

?

@ArthurChapman
Copy link
Collaborator Author

That would make sense to me for consistency, but without it - it still works.

@Tasilee
Copy link
Collaborator

Tasilee commented Mar 2, 2023

The determining factor is whether it is more appropriate to return INTERNAL PREREQUISITES_NOT_MET or NOT_AMENDED if dwc:taxonRank is EMPTY.

@tucotuco
Copy link
Member

I would prefer returning INTERNAL PREREQUISITES_NOT_MET. It tells you better where the test failed, not just that it did.

@Tasilee
Copy link
Collaborator

Tasilee commented Mar 19, 2023

OK, then I have edited the Expected Response

EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; AMENDED the value of dwc:taxonRank if this value can be unambiguously matched to a value in bdq:sourceAuthority; otherwise NOT_AMENDED

to

EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; INTERNAL PREREQUISITES_NOT_MET if dwc:taxonRank is EMPTY; AMENDED the value of dwc:taxonRank if it can be unambiguously matched to a term in bdq:sourceAuthority; otherwise NOT_AMENDED

@Tasilee
Copy link
Collaborator

Tasilee commented Jun 13, 2023

Restructured Parameter(s) and Source authority

@Tasilee
Copy link
Collaborator

Tasilee commented Jul 11, 2023

Post Zoom 11/7/2023, I have aligned the Source Authority with the suggested syntax:

bdq:sourceAuthority default = "GBIF Vocabulary: Taxonomic Rank" [https://api.gbif.org/v1/vocabularies/TaxonRank/concepts]

to

bdq:sourceAuthority default = "Darwin Core" {https://dwc.tdwg.org} {dwc:taxonRank [https://dwc.tdwg.org/list/#dwc_taxonRank]} {GBIF Vocabulary: Taxonomic Rank [https://api.gbif.org/v1/vocabularies/TaxonRank/concepts]}

@chicoreus
Copy link
Collaborator

chicoreus commented Jul 11, 2023 via email

@Tasilee
Copy link
Collaborator

Tasilee commented Jul 11, 2023

From @chicoreus's comment (#162 (comment)), changed Source Authority from

bdq:sourceAuthority default = "Darwin Core" {https://dwc.tdwg.org} {dwc:taxonRank [https://dwc.tdwg.org/list/#dwc_taxonRank]} {GBIF Vocabulary: Taxonomic Rank [https://api.gbif.org/v1/vocabularies/TaxonRank/concepts]}

to

bdq:sourceAuthority default = "GBIF Vocabulary: Taxonomic Rank" {[https://api.gbif.org/v1/vocabularies/TaxonRank/concepts]} {dwc:taxonRank [https://dwc.tdwg.org/list/#dwc_taxonRank]}

chicoreus added a commit to FilteredPush/sci_name_qc that referenced this issue Jul 13, 2023
…pecifications. Addressed tdwg/bdq#163 AMENDMENT_TAXONRANK_STANDARDIZED Updated metadata, ProvidesVersion and Specification annotations. Removed reviewed stub method.
chicoreus added a commit to FilteredPush/sci_name_qc that referenced this issue Jul 13, 2023
…pecifications. Fix for tdwg/bdq#163 AMENDMENT_TAXONRANK_STANDARDIZED not providing correct response when taxonRank is empty.
@Tasilee
Copy link
Collaborator

Tasilee commented Sep 18, 2023

Splitting bdqffdq:Information Elements into "Information Elements ActedUpon" and "Information Elements Consulted".

Also changed "Field" to "TestField", "Output Type" to "TestType" and updated "Specification Last Updated"

@chicoreus chicoreus added the CORE TG2 CORE tests label Sep 18, 2023
@Tasilee
Copy link
Collaborator

Tasilee commented Apr 16, 2024

Changed Source Authority from

bdq:sourceAuthority default = "GBIF Vocabulary: Taxonomic Rank" {[https://api.gbif.org/v1/vocabularies/TaxonRank/concepts]} {dwc:taxonRank [https://dwc.tdwg.org/list/#dwc_taxonRank]}

to

bdq:sourceAuthority default = "GBIF TaxonRank Vocabulary" [https://api.gbif.org/v1/vocabularies/TaxonRank]} {"dwc:taxonRank vocabulary API" [https://api.gbif.org/v1/vocabularies/TaxonRank/concepts]}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Amendment Conformance CORE TG2 CORE tests NAME Parameterized Test requires a parameter Test Tests created by TG2, either CORE, Supplementary or DO NOT IMPLEMENT TG2 VOCABULARY
Projects
None yet
Development

No branches or pull requests

4 participants