tdwg / bdq

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

TG2-VALIDATION_LIFESTAGE_STANDARD #270

Closed ArthurChapman closed 9 months ago

ArthurChapman commented 9 months ago
TestField Value
GUID be40d19e-1fe7-42ed-b9d0-961f4cf3eb6a
Label VALIDATION_LIFESTAGE_STANDARD
Description Does the value of dwc:lifeStage occur in bdq:sourceAuthority?
TestType Validation
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; COMPLIANT if the value of dwc:lifeStage is in the bdq:sourceAuthority; otherwise NOT_COMPLIANT.
Data Quality Dimension Conformance
Term-Actions LIFESTAGE_STANDARD
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="Larva": Response.status=RUN_HAS_RESULT, Response.result=COMPLIANT, Response.comment="dwc:lifeStage found in the bdq:sourceAuthority"]
[dwc:lifeStage="Bird mature": Response.status=RUN_HAS_RESULT, Response.result=NOT_COMPLIANT, Response.comment="dwc:lifeStages not found in the bdq:sourceAuthority"]
Source TG2
References
Example Implementations (Mechanisms)
Link to Specification Source Code
Notes This test must return NOT_COMPLIANT if there is leading or trailing whitespace or there are leading or trailing non-printing characters. 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; not straightforward to implement or 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.
chicoreus commented 9 months ago

Removed duplicative text from the notes.

chicoreus commented 9 months ago

Source authority does not appear to be correctly phrased, references the term as the vocabulary for that term, and a vocabulary as an api endpoint.

Tasilee commented 9 months ago

As I mentioned elsewhere recently, we had been using the structure of Source Authority for Darwin Core terms based on #104 (but see also #116, #115). The first component refers to the definition of the term (and examples etc) and the second component to a vocabulary of terms or an API if available. This is what @ArthurChapman has used here as a template.

chicoreus commented 9 months ago

@Tasilee yes, you are right, what is throwing me is the reference to an api when we are referring to a vocabulary document (that happens to be returned through an api).

Using #104 as a template:

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]}

This one should be:

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

with just the vocabulary reference, not the API reference.

Tasilee commented 9 months ago

@chicoreus - agreed and changed.

chicoreus commented 9 months ago

Updated notes to change "fail" text to explicit "This test must return NOT_COMPLIANT if there is leading or trailing whitespace or there are leading or trailing non-printing characters."

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]}