TG2-VALIDATION_DCTYPE_STANDARD
| TestField | Value |
|---|---|
| GUID | cdaabb0d-a863-49d0-bc0f-738d771acba5 |
| Label | VALIDATION_DCTYPE_STANDARD |
| Description | Does the value in dc:type occur as a value in the DCMI type vocabulary? |
| TestType | Validation |
| Darwin Core Class | Record-level |
| Information Elements ActedUpon | dc:type |
| Information Elements Consulted | |
| Expected Response | EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; INTERNAL_PREREQUISITES_NOT_MET if the value of dc:type is bdq:Empty; COMPLIANT if the value of dc:type is a term name in the bdq:sourceAuthority; otherwise NOT_COMPLIANT |
| Data Quality Dimension | Conformance |
| Term-Actions | DCTYPE_STANDARD |
| Parameter(s) | |
| Source Authority | DCMI Type Vocabulary" {[http://purl.org/dc/terms/DCMIType]} {"DCMI Type Vocabulary List Of Terms" [https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/2010-10-11/]} |
| Specification Last Updated | 2023-09-18 |
| Examples | [dc:type="Event": Response.status=RUN_HAS_RESULT, Response.result=COMPLIANT, Response.comment="dc:type matches a term in DCMI Vocabulary"] |
| [dc:type="StillerImage": Response.status=RUN_HAS_RESULT, Response.result=NOT_COMPLIANT, Response.comment="dc:type does not match terms in DCMI Vocabulary"] | |
| Source | VertNet |
| References |
|
| Example Implementations (Mechanisms) | FilteredPush rec_occur_qc |
| Link to Specification Source Code | https://github.com/FilteredPush/rec_occur_qc/blob/bef180191258796f777ece7e267040d2cb2b609d/src/main/java/org/filteredpush/qc/metadata/DwCMetadataDQ.java#L630 |
| Notes | This test must return NOT_COMPLIANT if there is leading or trailing whitespace or there are leading or trailing non-printing characters. EXTERNAL_PREREQUISITES_NOT_MET is not a necessary path in the specification, the type literals may be hard coded in a test implementation without an external call |
Comment by John Wieczorek (@tucotuco) migrated from spreadsheet: I believe the name of this test should be changed to DCTERMS_TYPE_STANDARDIZED for consistency.
We will use this test as a template for ISO/DCMI tagged tests. I amended
Expected Response to "EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; INTERNAL_PREREQUISITES_NOT_MET if the value of dc:type is EMPTY; COMPLIANT if the value of dc:type is among the values in the bdq:sourceAuthority; otherwise NOT_COMPLIANT"
and
Source Authority to "bdq:sourceAuthority is "DCMI Type Vocabulary" [https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/]"
Added to Notes: "This test will fail if there are leading or trailing white space or non-printing characters."
Post Zoom 11/7/2023, I have aligned the Source Authority with the suggested syntax:
bdq:sourceAuthority is "DCMI Type Vocabulary" [https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/]
to
bdq:sourceAuthority is "Dublin Core Metadata Initiative (DCMI)" {[https://www.dublincore.org/]} {DCMI Type Vocabulary" [https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/]}
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"
Updated comment from "fail" to the more specific "This test must return NOT_COMPLIANT if there is leading or trailing whitespace or there are leading or trailing non-printing characters. "
Added a note that EXTERNAL_PREREQUISITES_NOT_MET is not a necessary path for implementors, particularly as the URI linked to in the Darwin Core comment for the term http://dublincore.org/documents/2010/10/11/dcmi-type-vocabulary/ doesn't point to the vocaublary, which is now at https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/2010-10-11/
We probably want to update the source authority, but the comment on the Darwin Core term probably needs updating as well.
See note in #41, source authority for both should probably be:
bdq:sourceAuthority is "DCMI Type Vocabulary" {[http://purl.org/dc/terms/DCMIType]} {"DCMI Type Vocabulary List Of Terms" [https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/2010-10-11/]}
With expected response here as:
EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; INTERNAL_PREREQUISITES_NOT_MET if the value of dc:type is EMPTY; COMPLIANT if the value of dc:type is a term name in the DCMI Type Vocabulary (see bdq:sourceAuthority);; otherwise NOT_COMPLIANT
Seems ok to me. Changed Source Authority and Expected Response accordingly.
There are anomalies and inconsistencies between this test and #41. My feelings-
- We don't have a Parameter, thence no bdq:sourceAuthority so reference to that in Expected Response is not an option and I don't think it is needed anyway. The Expected Response should be "EXTERNAL_PREREQUISITES_NOT_MET if the Source Authority is not available; INTERNAL_PREREQUISITES_NOT_MET if the value of dc:type is EMPTY; COMPLIANT if the value of dc:type is a valid term in the Source Authority; otherwise NOT_COMPLIANT
- #41 should align with this in terms of Expected Response and Source Authority.
How say you?