bdq icon indicating copy to clipboard operation
bdq copied to clipboard

TG2-VALIDATION_MONTH_STANDARD

Open pzermoglio opened this issue 7 years ago • 9 comments

TestField Value
GUID 01c6dafa-0886-4b7e-9881-2c3018c98bdc
Label VALIDATION_MONTH_STANDARD
Description Is the value of dwc:month interpretable as an integer between 1 and 12 inclusive?
TestType Validation
Darwin Core Class dwc:Event
Information Elements ActedUpon dwc:month
Information Elements Consulted
Expected Response INTERNAL_PREREQUISITES_NOT_MET if dwc:month is bdq:Empty; COMPLIANT if the value of dwc:month is interpretable as an integer between 1 and 12 inclusive; otherwise NOT_COMPLIANT
Data Quality Dimension Conformance
Term-Actions MONTH_STANDARD
Parameter(s)
Source Authority
Specification Last Updated 2023-09-18
Examples [dwc:month="10": Response.status=RUN_HAS_RESULT, Response.result=COMPLIANT, Response.comment="dwc:month is in range"]
[dwc:month="v": Response.status=RUN_HAS_RESULT, Response.result=NOT_COMPLIANT, Response.comment="dwc:month is ambiguous as "v" or "5""]
Source TG2-Gainesville (MONTH_INVALID/MONTH_IN_RANGE previously in spreadsheet, from ALA?)
References
Example Implementations (Mechanisms) FilteredPush/Kurator:event_date_qc 10.5281/zenodo.596795.
Link to Specification Source Code event_date_qc DwCEventDQ.validationMonthStandard() Unit test in [DwcEventDQTest]{https://github.com/FilteredPush/event_date_qc/blob/v3.0.0/src/test/java/org/filteredpush/qc/date/DwcEventDQTest.java#L242)
Notes

pzermoglio avatar Jan 18 '18 23:01 pzermoglio

Need to check the source for this, we have an existing implementation in the event_date_qc library which references "MONTH_INVALID/MONTH_IN_RANGE" from the spreadsheet and provides a GUID, this may come from ALA originally.

chicoreus avatar Jan 25 '18 17:01 chicoreus

Agreed at TDWG 2018 DQIG meeting that this test is correct as written and that another test to validate the month (TG2-VALIDATION_MONTH_NOTSTANDARD) is necessary to be able to know if the prerequisite is met. That test specifically tests that the month is an integer.

tucotuco avatar Aug 26 '18 00:08 tucotuco

Description and prerequsite and name need to come from #146

chicoreus avatar Aug 30 '18 05:08 chicoreus

The Expected Response on this test looks like it may need a change due to recent discussions re "invalid" values. That is, do we run the test if dwc:month contains an uninterpretable value? In other words...

INTERNAL_PREREQUISITES_NOT_MET if dwc:month is EMPTY or cannot be interpreted as an integer value; COMPLIANT if the value of dwc:month is an integer between 1 and 12 inclusive; otherwise NOT_COMPLIANT

Tasilee avatar Feb 28 '23 23:02 Tasilee

@Tasilee That doesn't seem right. If the field is EMPTY, there is no way to validate. If it is not EMPTY, there is a way to validate. Thus, I would say it is correct as is.

tucotuco avatar Mar 01 '23 00:03 tucotuco

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"

Tasilee avatar Sep 18 '23 03:09 Tasilee

Do we modify this test and #128 to use the GBIF vocabulary? This would mean adding a bdq:sourceAuthority and rewording the Expected Response to something like

EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; INTERNAL_PREREQUISITES_NOT_MET if dwc:month is EMPTY; COMPLIANT if the value of dwc:month is in the bdq:sourceAuthority; otherwise NOT_COMPLIANT

Tasilee avatar Apr 16 '24 03:04 Tasilee

This term is not recommended to use a controlled vocabulary in Darwin Core, so I wouldn't add one.

tucotuco avatar Apr 16 '24 16:04 tucotuco

@tucotuco I agree, an Integer 1 to 12 doesn't need a reference to the GBIF API for the VALIDATION.

chicoreus avatar Apr 17 '24 18:04 chicoreus