-
Notifications
You must be signed in to change notification settings - Fork 7
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-AMENDMENT_DATEIDENTIFIED_STANDARDIZED #26
Comments
Comment by Paul Morris (@chicoreus) migrated from spreadsheet: |
There appears to be a copy/paste error in the specification,
This test does not involve a query on any external source authority such as a list of taxonomic names. |
@chicoreus This probably refers to the ISO 8601-1:2019 that is needed. But you probably don't need to go to the actual Standard to use the format, so probably unnecessary. This may apply to other date tests? |
If it doesn't have a Parameter, then there is no "specified target authority"? |
EXTERNAL{PREREQUISITES_NOT_MET should signal that the test must connect to an external resource in order to perform the test, this test would be expected to be implemented strictly with local code that doesn't need to do a network lookup each time the test is run, so no. need for this assertion in the specification. @Tasilee A test might have a parameter and not need to connect to an external source (such as earliest date as a parameter), or a test might specify some authority to be used by implementors (such as the ISO date format specified here), but not need to connect to an external source on each run, and it might do so with or without taking the source authority as a parameter (though I expect our likely taxonomic cases that would take a taxonmic authority as a source would typically need to do a lookup for each test run - the relationship is logical, but isn't necessaraly present). |
@chicoreus your comment would apply to all that are tagged ISO/DCMI Standard. To date we have only used the Parameter field to define default minimum and maximums and source Authorities (the later using bdq:sourceAuthority (defalt=xxxxx)) in Paramaterized tests. Perhaps we should extend that to include standard source authorities such as ISO and DCMI Standards using bdq:sourceAuthority=ISO 8601-1:2019 etc. under the Parameter field ?? What do others think? |
I agree with @chicoreus: If there is no (EXTERNAL) source authority, then we remove that part of the Expected Responses. Other comments? @ArthurChapman: Hopefully quoting @chicoreus - If there is only one obvious bdq:sourceAuthority or maybe value, it is not a Parameter? Then it is a demarcation between a bdq:sourceAuthority Parameter API-type lookup vs a Reference to a standard that the test relies on (as the latter is here). The ISO/DCMI STANDARD flag is visible evidence of the use of a particular standard but is not needed as a Parameter. |
@ArthurChapman Parameter should not be specified for cases like this where there is a standardized source authority that implementors would be expected to embed in their code. Parameter should only be used when different use cases would call for different limits (such as a national data set wishing to use elevation/depth limits that apply to their country and a national taxonomic authority file or species list). Issue looking good, removing the needs work label. |
Actually, making one change (adding unambigous) to conform with language in #61 From:
To:
|
…dwg/bdq#84 tdwg/bdq#26 tdwg/bdq#130 tdwg/bdq#61 PURPOSE: Updating tests to reflect updates in definitions and latest discussion in tdwg/bdq issues. DESCRIPTION: Removing confirmed unused isMonthInRange() method. Updating VALIDATION_STARTDAYOFYEAR_OUTOFRANGE to match new specification. Switching from #141 to #84 to test year for valid range. Correcting handling of ambiguity in AMENDMENT_EVENTDATE_STANDARDIZED and AMENDMENT_DATEIDENTIFIED_STANDARDIZED to conform with specifications.
… specifications. DESCRIPTION: Updating AMENDMENT_DATEIDENTIFIED_STANDARDIZED to accomodate more variations of incorrectly formatted dates, and to pass against the validation test data..
Due to recent discussions, changed INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY; AMENDED the value of dwc:dateIdentified if it can be unambiguously interpreted as valid using bdq:sourceAuthority; otherwise NOT_AMENDED to INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY; AMENDED the value of dwc:dateIdentified if can be unambiguously interpreted as valid ISO 8601-1 date; otherwise NOT_AMENDED ...and also removed bdq:sourceAuthority |
I agree with Arthur. Sufficient that the user knows where to go to see what we're talking about while minimizing standard maintenance. I think this would be a good thing to recommend in DwC term change requests as well. |
I have amended the Reference and corrected a typo in the Expected response. Please check. |
I've edited the Expected Response according to @tucotuco suggestion: From INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY; AMENDED the value of dwc:dateIdentified if it can be unambiguously formatted as a valid ISO 8601-1 date; otherwise NOT_AMENDED to INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY; AMENDED the value of dwc:dateIdentified if it was unambiguously formatted as a valid ISO 8601-1 date; otherwise NOT_AMENDED |
Sorry - I am not sure that the new wording reads well. How about: INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY; AMENDED the value of dwc:dateIdentified if it could be unambiguously formatted as a valid ISO 8601-1 date; otherwise NOT_AMENDED |
After discussion with @Tasilee - I am not sure, but can accept was. It just doesn't seem to read well. I am not sure with "was", if unambiguously is in the right place - my thinking is that if it is unambiguous (i.e. 3 April rather than 03-04) then you format it there is then nothing ambiguous or unambiguous about the formatting - if it is ambiguous (i.e. 03-04) then it is NOT_AMENDED INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY; AMENDED the value of dwc:dateIdentified if it was unambiguous by formatting as a valid ISO 8601-1 date; otherwise NOT_AMENDED |
Counter offer... INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY; AMENDED the value of dwc:dateIdentified if it was unambiguous and formatted as a valid ISO 8601-1 date; otherwise NOT_AMENDED |
I have updated the Expected Response (as suggested) and the ISO reference (and while it looks odd, it works). |
What is the thumbs down symbol in the middle of the reference? |
Some form of markdown I presume, but as I said, it works as a link. |
It appears that ":-" appears as a thumbs down sign in GitHub |
Current phrasing is not readily iterpretable by implementors. It implies AMENDED if the value already conforms, not if it has been changed to conform. Amendments should be explicit about changing values. The text "if it was Very strongly recommend that we return to the previous phrasing. Changing back from: INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is to: INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is |
@Tasilee my feeling is that we should reference ISO 8601-1:2019, not the latest version, as the latest version could change the nature of the specifications, with the potential of making test cases and implementations diverge. Referencing a standard set of data values (as in a list taxon names) carries with it the expectation that the data will change, and thus that test cases that test implementations are validated against may need to be changed over time without either the specification for a test or implementations of the test changing, but referencing a standard for the format of data carries the expectation that the format won't change, and that neither test cases nor implementation should change over time without a change in the specification for the test. |
Whether that is a practical issue for latest version of ISO 8601-1 vs ISO 8601-1:2019 is another question. @ArthurChapman 's note about introduction of validity of 24:00 in a subsequent amendment is relevant.... |
…/bdq#26 and VALIDATION_DATEIDENTIFIED_INRANGE tdwg/bdq#76 as having issues needing work on their specifications.
Paralleling the proposal in #61 Propose changing to: INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY; AMENDED the value of dwc:dateIdentified if it was not a properly formatted ISO 8601-1 date but was unambiguous and was altered to be a valid ISO 8601-1 date; Both here and in #61 we want to amend if:
|
…6-09) test descriptions. Adding ProvidesVersion annotations. Removing now empty file stubs for checked methods. Removed deprecated wrapper for method. Addressed tdwg/bdq#61 AMENDMENT_EVENTDATE_STANDARDIZED. Noted that like tdwg/bdq#26 the specification needs work to clarify the intent.
Thanks @chicoreus. While your logic is good, there is repetition and therefore ambiguity. Suggest changing INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY; AMENDED the value of dwc:dateIdentified if it was not a properly formatted ISO 8601-1 date but was unambiguous and was altered to be a valid ISO 8601-1 date; to INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY; AMENDED the value of dwc:dateIdentified if it was not a properly formatted ISO 8601-1 date but was unambiguously interpreted as a valid ISO 8601-1 date; otherwise NOT_AMENDED. |
On Sat, 10 Jun 2023 17:59:32 -0700 Lee Belbin ***@***.***> wrote:
Thanks @chicoreus. While your logic is good, there is repetition and
therefore ambiguity. Suggest changing
INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY;
AMENDED the value of dwc:dateIdentified if it was not a properly
formatted ISO 8601-1 date but was unambiguous and was altered to be a
valid ISO 8601-1 date; otherwise NOT_AMENDED.
to
INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY;
AMENDED the value of dwc:dateIdentified if it was not a properly
formatted ISO 8601-1 date but was unambiguously interpreted as a
valid ISO 8601-1 date; otherwise NOT_AMENDED.
For clarity for implementors, I think we need to be explicit both here and in #61 that there are three concerns:
1. the date identified was not properly formatted
2. the date identified was unambigouus
3. the date identified was transformed to a valid ISO 8601-1 format.
if all three concerns are met, Response.status is AMENDED, response.result contains the list of amended terms.
Reading "AMENDED" as a verb rather than a constant is helping confuse the issue....
|
How about: INTERNAL_PREREQUISITES_NOT_MET if dwc:dateIdentified is EMPTY; |
Expected response, and Specification last updated amended accordingly. I will search for other tests that may require a change. |
…specifications (2023-06-23). Updating implementation of tdwg/bdq#61 AMENDMENT_EVENTDATE_STANDARDIZED and tdwg/bdq#26 specification and metadata changed to be consistent with current behavior of code.
Add bdq:souceAuthority value "bdq:sourceAuthority is "ISO 8601-1:2019" [https://www.iso.org/obp/ui/]" to align with related tests. |
Due to recent discussions, changed bdq:sourceAuthority is "ISO 8601-1:2019" [https://www.iso.org/obp/ui/] to bdq:sourceAuthority = "ISO 8601-1:2019" {[https://www.iso.org/iso-8601-date-and-time-format.html]} I don't see a great need to change the references in the Expected response to bdq:sourceAuthority. |
Splitting bdqffdq:Information Elements into "Information Elements ActedUpon" and "Information Elements Consulted" |
Changed reference in Expected Response from ISO 8601-1 to ISO 8601 and removed bdq:sourceAuthority entry (which is covered in References). |
The text was updated successfully, but these errors were encountered: