bdq
bdq copied to clipboard
TG2-VALIDATION_MONTH_STANDARD
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 |
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.
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.
Description and prerequsite and name need to come from #146
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 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.
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"
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
This term is not recommended to use a controlled vocabulary in Darwin Core, so I wouldn't add one.
@tucotuco I agree, an Integer 1 to 12 doesn't need a reference to the GBIF API for the VALIDATION.