-
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-VALIDATION_LICENSE_STANDARD #38
Comments
Comment by Christian Gendreau (@cgendreau) migrated from spreadsheet: |
Correcting namespace for license in information element s/dc/dcterms/ This may require renaming the test. See the Darwin Core RDF guide for discussion of use of dcterms:license for non-literals (IRIs to resources) and xmpRights:usageTerms for literals. |
Corrected dc:license to dc:terms:license throughout |
@chicoreus Perhaps we could just change names of the tests to ...LICENSE... rather then ...DCLICENSE... Whatever we do, it will be synonymised in Vocabulary. |
@ArthurChapman names to LICENSE makes sense to me. |
Closed by mistake |
Added to Notes: "This test will fail if there are leading or trailing white space or non-printing characters." |
Splitting bdqffdq:Information Elements into "Information Elements ActedUpon" and "Information Elements Consulted" |
Updated notes from "fail" to more specific "This test must return NOT_COMPLIANT if there is leading or trailing whitespace or there are leading or trailing non-printing characters. " |
Per both the current examples in Darwin Core for dcterms:license and section 3.3. of the Darwin Core RDF guide, dcterms:license should only take IRI values such as https://creativecommons.org/licenses/by-sa/4.0/ , not string literals such as CC BY-SA. The compliant example in this test incorrectly uses string literal values. The source authority specified only allows for the version 4 CC licenses. This may be desirable, but, that may be too narrow a scope. It might be desirable to specify the full list of CC licences as the source authority at: https://creativecommons.org/licenses/list.en If not, we should be explicit about why the limitation to the 4.0 versions. We should also be explicit about whether forms other than the canonical IRI are acceptable. Creative Commons specifies that the form https://creativecommons.org/licenses/by-sa/4.0/ as canonical, with additional variants including https://creativecommons.org/licenses/by-sa/4.0/legalcode and translations such as https://creativecommons.org/licenses/by-sa/4.0/legalcode.en and plain text https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt and RDF forms https://creativecommons.org/licenses/by-sa/4.0/rdf The examples in Darwin Core include a non-canonical form ending with legalcode. Translations do not exist in all languages, for example, https://creativecommons.org/licenses/by-sa/4.0/legalcode.cy currently returns a 404 error, not the Welsh translation, or a redirect up to /legalcode for that license. The specified source authority doesn't provide a list of all variants of the IRIs, so it would either need to change to point to the list of licenses https://creativecommons.org/licenses/list.en (where there are links to each extant translation, but mo links to the canonical IRIs) or implementations would need to determine how to handle evaluating whether a specified IRI for a translation is compliant or not by both checking the pattern http[s]{0,1}://creativecommons.org/licenses/(by|by-nc|by-nc-nd|by-nc-sa |by-nd|by-sa)/4.0/(legal-code(.[a-z]{2}){0.1} followed by a lookup to see if the requested IRI returns a 404 error or not. In either case, specifying the source authority isn't sufficient information to determine if the if the value of the term dcterms:license is in the bdq:sourceAuthority; |
Propose we change the source authority to: bdq:sourceAuthority default = "Creative Commons 4.0 Licenses or CC0 " {[https://creativecommons.org/]} { Regular Expression [ Haven't confirmed that this regex syntax is correct, but should be close, also need to doublecheck language list for public domain dedication. Will need to be more complex to be robust, as deed.mi doesn't exist yet, but legalcode.mi does. All of deed, legalcode, no ending are valid, with the canonical form of the license IRI having nothing after the version number. Only some two letter language codes have translations, and some translations are identified by a longer string than the two letter language code. Errors in the language code, or specifying a language code for which a translation doesn't exist returns a 404 error instead of redirecting to the more general license IRI. |
Syntax corrected regex: ^(http(s){0,1}://creativecommons.org/licenses/(by|by-sa|by-nc|by-nc-sa|by-nd|by-nc-nd)/4.0/((deed|legalcode)(.(id|eu|da|de|en|es|fr|fy|hr|it|lv|lt|mi|ni|no|pl|pt|ro|si|fi|sv|tr|cs|el|ru|uk|ar|jp|zh-hans|zh-hant|ko)){0,1})|(http(s){0,1}://creativecommons.org/publicdomain/zero/1.0/((deed|legalcode)(.(id|eu|da|de|en|es|fr|fy|hr|it|lv|lt|ni|no|pl|pt|ro|si|fi|sv|tr|cs|el|ru|uk|ar|jp|zh-hans|zh-hant|ko)){0,1})))$ |
That looks like a solution! |
Your other explanation would be good to put in the Notes. |
@ArthurChapman added the substance of the comment above to the notes. |
…ng with unit test and default method. Uses the proposed regex for the test to identify CC 4.0 licenses and CC0. Expect the sourceAuthority for the test to be changed to accomodate this, but discussion is ongoing.
Thanks @ArthurChapman. @chicoreus : How can you render the "|"s in the regular expression into a form acceptable to the github table format? I've tried to add the Source Authority as specified. |
To include a pipe in Markdown text -use "\|" |
Thanks @ArthurChapman - done I hope. |
…sulting from review of validation results.
The text was updated successfully, but these errors were encountered: