tdwg / bdq

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

TG2-VALIDATION_GEOREFERENCEDDATE_NOTEMPTY #256

Closed Tasilee closed 7 months ago

Tasilee commented 9 months ago
TestField Value
GUID e1765718-0964-4b40-9451-a66b23ca6268
Label VALIDATION_GEOREFERENCEDDATE_NOTEMPTY
Description Is there a value in dwc:georeferencedDate?
TestType Validation
Darwin Core Class Location
Information Elements ActedUpon dwc:georeferencedDate
Information Elements Consulted
Expected Response COMPLIANT if dwc:georeferencedDate is bdq:NotEmpty; otherwise NOT_COMPLIANT
Data Quality Dimension Completeness
Term-Actions GOREFERENCEDDATE_NOTEMPTY
Parameter(s)
Source Authority
Specification Last Updated 2024-02-07
Examples [dwc:georeferencedDate="1963-03-08T14:07-0600": Response.status=RUN_HAS_RESULT, Response.result=COMPLIANT, Response.comment="dwc:georeferencedDate is bdq:NotEmpty"]
[dwc:georeferencedDate="": Response.status=RUN_HAS_RESULT, Response.result=NOT_COMPLIANT, Response.comment="dwc:georeferencedDate is bdq:Empty"]
Source TG2
References
Example Implementations (Mechanisms)
Link to Specification Source Code
Notes A COMPLIANT response on this test may have some quality value in some use cases, but a NOT_COMPLAINT response doesn't without the context of a georeference.
chicoreus commented 9 months ago

Problematic as phrased, Will improperly fail for any data that lacks a georeference where the dwc:georefencedDate is correctly empty.

Needs dwc:decimalLatitude as an information element consulted.

Propose specification:

COMPLIANT if dwc:decimalLatitude is EMPTY or dwc:georeferencedDate is not EMPTY; otherwise NOT_COMPLIANT

chicoreus commented 9 months ago

Principle: A test should test one thing. As phrased "COMPLIANT if dwc:georeferencedDate is not EMPTY; otherwise NOT_COMPLIANT" it is testing both the presence of a georeference and the presence of this element of georeference metadata. Properly phrased, it should only assess the presence of georeference metadata if there is a georeference to have metadata.

Tasilee commented 9 months ago

I agree @chicoreus that a test should test one thing, or more accurately, one concept (as many tests apply to multiple Information Elements).

Here, a COMPLIANT response may have value, but I agree that a NOT_COMPLAINT response doesn't, without the context of a georeference. This IS a reason for this test to be not CORE and this reason (as I mentioned earlier) should be in the Notes, and this test should have a DO NOT IMPLEMENT tag.

Tasilee commented 9 months ago

I have changed the Notes to "A COMPLIANT response on this test may have some quality value in some use cases, but a NOT_COMPLAINT response doesn't, without the context of a georeference."

chicoreus commented 9 months ago

@Tasilee I don't think so. We can actually fix this so that it is useful, still supplementary, but useful. This is one of a large number of tests, some of which are CORE where we do have to work out the appropriate way to identify when the data values should correctly be empty.

chicoreus commented 9 months ago

We can fix this with

COMPLIANT if dwc:decimalLatitude is EMPTY or dwc:georeferencedDate is not EMPTY; otherwise NOT_COMPLIANT

as proposed above.

chicoreus commented 9 months ago

This is a general pattern for a number of tests of metadata terms that depend on the presence of other terms.

ArthurChapman commented 9 months ago

@chicoreus - I'd be happy to go along with that. I think, though, that anyone attempting to implement this or make it a CORE test at a later date would need to look at all the implications. Not something we want to spend time on now.

Tasilee commented 9 months ago

Changing the Expected Response to

COMPLIANT if dwc:decimalLatitude is EMPTY or dwc:georeferencedDate is not EMPTY; otherwise NOT_COMPLIANT

doesn't make sense as the response will be COMPLIANT if dwc:decimalLatitude is EMPTY regardless of the status of dwc:georeferencedDate. We are attributing 'quality' via a term not the focus of the test.

This raises the general concept that at least some NOTEMPTY tests are potential ISSUEs rather than VALIDATIONs. Maybe

POTENTIAL_ISSUE if dwc:georeferencedDate is EMPTY and dwc:decimalLatitude is not EMPTY; otherwise NOT_ISSUE

?

Tasilee commented 7 months ago

This is the same test as #227. Closing as Duplicate