IIIF / cookbook-recipes

For working on the recipes
https://iiif.io/api/cookbook/index.html
36 stars 31 forks source link

Define a new rights statement using @context #419

Open glenrobson opened 1 year ago

glenrobson commented 1 year ago

Recipe Name

The presentation API requires rights statements "drawn from the set of Creative Commons license URIs, the RightsStatements.org rights statement URIs, or those added via the extension mechanism."

https://iiif.io/api/presentation/3.0/#rights

It would be useful to have a recipe to explain the extension mechanism for rights statements that fall out of this list of URIs.

Use case

I want to provide a rights URI that isn't in the allowed list.

leanderseige commented 1 year ago

An example: The German public Open Data portal https://www.govdata.de/ has unfortunately developed its own license (https://www.govdata.de/dl-de/by-2-0), which is used by the majority of datasets (about 60k out of 80k datasets). To me it is unclear whether the URI of the license (https://www.govdata.de/dl-de/by-2-0) can be used in the rights property (by extending the @context of the entire document).

@regisrob has pointed out a list of interesting licenses that could be considered: https://spdx.org/licenses/

leanderseige commented 1 year ago

I tried several methods to change the @context in order to overwrite the definition of the rights property and allow an additional (or arbitrary) value. I can't reproduce each and every single experiment, but here is the latest one:

https://gist.githubusercontent.com/leanderseige/09eb2afa1728295ce5caaf89aa24db04/raw/575eeb3f1dc31ae70853ca08d7b7a9e0b5ef69eb/context-test

image

produces the following errors:

image

However, I ask myself whether this approach is not valid regarding the principles of JSON-LD, JSON Schema et al or if the validator actually takes the modified @context into account.

All in all, I think it would be worth thinking about relaxing the restrictions on the rights property in one way or another in a future version of the IIIF Presentation API.

kirschbombe commented 1 year ago

Hi, @glenrobson and @leanderseige. We discussed in the editors meeting this morning and we suggest creating a new registry for licenses/rights and adding new statements to the rights context through TRC. I can create a branch in the api repo with the new registry page where the two of you can add the new context to share with TRC for review/approval. This should maybe be an issue in the api repo?

@mikeapp or @tomcrane might want to weigh in to make sure I didn't miss anything.

leanderseige commented 1 year ago

Hi @kirschbombe that sounds great! I don't know exactly what I'll have to do then, but I'm really looking forward to it.

azaroth42 commented 1 year ago

This is an API issue, not a cookbook issue.

leanderseige commented 1 year ago

@azaroth42 can this issue be addressed in any other way? What can we do?