Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TG2-VALIDATION_OCCURRENCEID_COMPLETE #23

Closed
iDigBioBot opened this issue Jan 5, 2018 · 13 comments
Closed

TG2-VALIDATION_OCCURRENCEID_COMPLETE #23

iDigBioBot opened this issue Jan 5, 2018 · 13 comments
Labels
Conformance CORE TG2 CORE tests OTHER Supplementary Tests supplementary to the core test suite. These are tests that the team regarded as not CORE. Test Tests created by TG2, either CORE, Supplementary or DO NOT IMPLEMENT TG2 Validation

Comments

@iDigBioBot
Copy link
Collaborator

iDigBioBot commented Jan 5, 2018

TestField Value
GUID 3cfe9ab4-79f8-4afd-8da5-723183ef16a3
Label VALIDATION_OCCURRENCEID_STANDARD
Description Does dwc:occurrenceID contain a valid identifier?
TestType Validation
Darwin Core Class Occurrence
Information Elements ActedUpon dwc:occurrenceID
Information Elements Consulted
Expected Response INTERNAL_PREREQUISITES_NOT_MET if dwc:ocurrenceID is EMPTY; COMPLIANT if (1) dwc:occurrenceID is a validly formed LSID, or (2) dwc:occurrenceID is a validly formed URN with at least NID and NSS present, or (3) dwc:occurrenceID is in the form scope:value, or (4) dwc:occurrenceID is a validly formed URI with host and path where path consists of more than just "/"; otherwise NOT_COMPLIANT.
Data Quality Dimension Conformance
Term-Actions OCCURRENCEID_COMPLETE
Parameter(s)
Source Authority
Specification Last Updated 2024-04-02
Examples [dwc:occurrenceID="https://www.inaturalist.org/observations/43047701": Response.status=RUN_HAS_RESULT, Response.result=COMPLIANT, Response.comment="dwc:occurrenceID conforms to GUID structure"]
[dwc:occurrenceID="42": Response.status=RUN_HAS_RESULT, Response.result=NOT_COMPLIANT, Response.comment="dwc:occurrenceID does not conform to GUID structure"]
Source VertNet
References
Example Implementations (Mechanisms)
Link to Specification Source Code
Notes
@iDigBioBot
Copy link
Collaborator Author

Comment by Paul Morris (@chicoreus) migrated from spreadsheet:
This one feels like it should assert that the occurrenceID conforms to a well known IRI scheme, and should reference the Darwin Core RDF guide. http://rs.tdwg.org/dwc/terms/guides/rdf/index.htm#1.3.2.1_Persistent_Identifiers I'd support: OCCURRENCEID_CONFORMS_TO_WELLKNOWN_IRI_SCHEME. See http://rs.tdwg.org/dwc/terms/guides/rdf/index.htm#1.3.2.1_Persistent_Identifiers

@JoannaMcCaffrey
Copy link

@ArthurChapman two typos in 'uninique'

@ArthurChapman
Copy link
Collaborator

Thanks Joanna - fixed

@ArthurChapman ArthurChapman added the Test Tests created by TG2, either CORE, Supplementary or DO NOT IMPLEMENT label Jan 19, 2018
Tasilee added a commit that referenced this issue Oct 7, 2020
In accordance with #189, added testdata_VALIDATION_OCCURRENCEID_NOTSTANDARD_#23.csv for #23
@Tasilee Tasilee changed the title TG2-VALIDATION_OCCURRENCEID_NOTSTANDARD TG2-VALIDATION_OCCURRENCEID_STANDARD Mar 22, 2022
@Tasilee
Copy link
Collaborator

Tasilee commented Sep 16, 2023

Splitting bdqffdq:Information Elements into "Information Elements ActedUpon" and "Information Elements Consulted"

@chicoreus chicoreus added the CORE TG2 CORE tests label Sep 18, 2023
@chicoreus
Copy link
Collaborator

Description doesn't conform to the rest of the test. There is no source authority.

Specification needs further work as well.

@chicoreus
Copy link
Collaborator

RDF Guide asserts that identifiers "SHOULD be globally unique, referentially consistent, and persistent" And /'if those identifiers are to be used to identify subject resources in RDF, they MUST also be in the form of an IRI."

This test can't readily assess the first three criteria (globally unique, referenially consistent (always returns the same object), and persistent), thought it can assess the later.

Better is probably to cite recommendation R1 from the guid applicability statement https://github.com/tdwg/guid-as/blob/master/guid/tdwg_guid_applicability_statement.pdf, recommending a PURL, LSID, UUID, DOI, other Handle, or http URI. These have patterns that could be detected by this test.

@ArthurChapman
Copy link
Collaborator

However Darwin Core doesn't require it to be globally unique, so probably needs further looking at

From DwC: An identifier for the dwc:Occurrence (as opposed to a particular digital record of the dwc:Occurrence). In the absence of a persistent global unique identifier, construct one from a combination of identifiers in the record that will most closely make the dwc:occurrenceID globally unique.

@chicoreus
Copy link
Collaborator

@ArthurChapman the "persistent global unique identifier," or "combination of identifiers in the record" are untenable to either write a specification for a test or to implement a test.

This one we would be much better off adopting recommendation R1 from the guid applicability statement. That is tenable to write a specification for and to write code to evaluate.

This is very similar to the problem we faced in #121 and #212

@Tasilee
Copy link
Collaborator

Tasilee commented Mar 1, 2024

Thanks @chicoreus. I agree the GUID Applicability Statement is a fair base (Source Authority?), but what about the complexity of implementing #115?

@ymgan
Copy link

ymgan commented Mar 21, 2024

Thank you Lee for flagging this in your email. I have mixed feelings on this test.
Please see the discussions on this thread: tdwg/dwc#491

@tucotuco
Copy link
Member

The recommendations for the term "Recommended best practice is to use a persistent, globally unique identifier" cannot be tested. I would put this into the "DO NOT IMPLEMENT" category.

@ArthurChapman
Copy link
Collaborator

I agree with @tucotuco suggestion. i.e. DO NOT IMPLEMENT

@Tasilee Tasilee added DO NOT IMPLEMENT A potential test that it is not recommended be implemented and removed NEEDS WORK labels Mar 22, 2024
@Tasilee Tasilee closed this as completed Apr 1, 2024
@chicoreus
Copy link
Collaborator

I mostly concur. The broad scope of the recommended best practice in the term itself is not practical to implement.

However, this is essentially the same test as VALIDATION_SCIENTIFICNAMEID_COMPLETE #212 (and supplementary #121) but performed on a different darwin core term with a different definition. Since we are supporting that test, in a form that is implementable, I suggest we frame a more precisely parallel test, VALIDATION_OCCURRENCEID_COMPLETE that tests for conformance to recommendation R1 from the guid applicability statement https://github.com/tdwg/guid-as/blob/master/guid/tdwg_guid_applicability_statement.pdf, recommending a PURL, LSID, UUID, DOI, other Handle, or http URI. These have detectable patterns that could be validated by this test. Like #212, this would be somewhat aspirational (and might go in supplemental rather than core).

If we don't we need to be very explicit about why we put a do not implement on #23 and have #212 in core (and #121 in supplementary).

The difference might be that scientific name id is expected to point to someone else's identifier, and occurrence id is very likely to be minted locally by the database of record for the occurrence. But, we need to be very explicit about why one and not the other., or we need a paralell test VALIDATION_OCCURRENCEID_COMPLETE based on the RDF guide.

@Tasilee I'm not understanding the reference to #115.

@Tasilee Tasilee changed the title TG2-VALIDATION_OCCURRENCEID_STANDARD TG2-VALIDATION_OCCURRENCEID_COMPLETE Apr 2, 2024
@Tasilee Tasilee added Supplementary Tests supplementary to the core test suite. These are tests that the team regarded as not CORE. and removed DO NOT IMPLEMENT A potential test that it is not recommended be implemented NEEDS WORK labels Apr 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Conformance CORE TG2 CORE tests OTHER Supplementary Tests supplementary to the core test suite. These are tests that the team regarded as not CORE. Test Tests created by TG2, either CORE, Supplementary or DO NOT IMPLEMENT TG2 Validation
Development

No branches or pull requests

7 participants