tdwg / bdq

Biodiversity Data Quality (BDQ) Interest Group
https://github.com/tdwg/bdq
43 stars 7 forks source link

TG2-AMENDMENT_LIFESTAGE_STANDARDIZED #271

Closed ArthurChapman closed 7 months ago

ArthurChapman commented 9 months ago
TestField Value
GUID 07e79079-42e9-48e9-826e-4874ae34bce3
Label AMENDMENT_LIFESTAGE_STANDARDIZED
Description Propose amendment to the value of dwc:lifeStage using bdq:sourceAuthority.
TestType Amendment
Darwin Core Class Occurrence
Information Elements ActedUpon dwc:lifeStage
Information Elements Consulted
Expected Response EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; INTERNAL PREREQUISITES_NOT_MET if dwc:lifeStage is bdq:Empty; AMENDED the value of dwc:lifeStage if it can be unambiguously matched to a term in the bdq:sourceAuthority; otherwise NOT_AMENDED
Data Quality Dimension Conformance
Term-Actions LIFESTAGE_STANDARDIZED
Parameter(s) bdq:sourceAuthority
Source Authority bdq:sourceAuthority default = "GBIF LifeStage Vocabulary" [https://api.gbif.org/v1/vocabularies/LifeStage]} {"dwc:lifeStage vocabulary API" [https://api.gbif.org/v1/vocabularies/LifeStage/concepts]}
Specification Last Updated 2024-02-09
Examples [dwc:lifeStage="fruting": Response.status=AMENDED, Response.result=dwc:lifeStage="fruiting", Response.comment="dwc:lifeStage contains an interpretable value in the bdq:sourceAuthority"]
[dwc:lifeStage="tree": Response.status=NOT_AMENDED, Response.result="", Response.comment="dwc:lifeStage does not contain an interpretable value in the bdq:sourceAuthority"]
Source TG2
References
Example Implementations (Mechanisms)
Link to Specification Source Code
Notes This bdq:Supplementary test is not regarded as CORE (cf. bdq:CORE) because of one or more of the reasons: not being widely applicable; not informative; likely to return a high percentage of either bdq:COMPLIANT or bdq:NOT_COMPLIANT results (cf bdq:Response.result). A Supplementary test may be implemented as CORE when a suitable use case exists. For reference, synonym values for dwc:lifestage can be found at https://registry.gbif.org/vocabulary/LifeStage/concepts.
chicoreus commented 9 months ago

Source authority should be: bdq:sourceAuthority default = "GBIF Darwin Core lifeStage vocabulary [https://api.gbif.org/v1/vocabularies/LifeStage/concepts] {}"

Tasilee commented 9 months ago

The template that has been used on the Source Authority for Darwin Core terms have taken the form based on #104

bdq:sourceAuthority default = "Darwin Core basisOfRecord" {[https://dwc.tdwg.org/terms/#dwc:basisOfRecord]}{dwc:basisOfRecord vocabulary [https://rs.gbif.org/vocabulary/dwc/basis_of_record.xml]}

Where the reference to the term with definition etc is first and the vocabulary or API is second. @chicoreus : Do you really want to change these?

chicoreus commented 7 months ago

Changing sourceAutority, reflecting the discussion in meeting on 2024-04-15. First part references a controlled vocabulary (rather than the Darwin Core term to which the controlled vocabulary is applied, second part references an API endpoint where the vocabulary values can be found. Each part has a string constant identifier, and an IRI.

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

(1a) "GBIF LifeStage Vocabulary" This is a string constant that would be provided as the value for the parameter bdq:sourceAuthority, which implementors would use to pick the controlled vocabulary to be applied as a result of that parameter value.

(1b) [https://api.gbif.org/v1/vocabularies/LifeStage/]} this is an IRI reference to the controlled vocabulary.

(2a) {"dwc:lifeStage vocabulary API" this is a human readable value that describes the API endpoint (or other location) where the controlled vocabulary values can be obtained in their entirety (or in other cases, an API endpoint that could be queried to test if a value is found in the vocabulary.

(2b) [https://api.gbif.org/v1/vocabularies/LifeStage/concepts]} This is the actual API endpoint for obtaining or querying the vocabulary (or could be the location of a formal descriptor, e.g. WSDL, Swagger of the API (here GBIF's API is broader than this vocabulary, so it is more appropriate to point to the API call for concepts than GBIFs api documenation)).

Tasilee commented 7 months ago

Changed Source Authority from

bdq:sourceAuthority default = "Darwin Core lifeStage [https://dwc.tdwg.org/list/#dwc_lifeStage]} {dwc:lifeStage vocabulary" [https://api.gbif.org/v1/vocabularies/LifeStage/concepts]}

to

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