diff --git a/examples/licenses/publisher_page_user_license.json b/examples/licenses/publisher_page_user_license.json new file mode 100644 index 0000000..83e4c2d --- /dev/null +++ b/examples/licenses/publisher_page_user_license.json @@ -0,0 +1,34 @@ +{ + "identifiers": { + "pmid": "32664016", + "pmcid": null, + "doi": "10.1016/j.jad.2020.05.145", + "preprint_dois": null, + "preprint_pmid": null, + "preprint_pmcid": null, + "publication_status": "published" + }, + "text_copy": { + "route": "publisher", + "version": "am", + "access": "unrecorded", + "url": "https://doi.org/10.1016/j.jad.2020.05.145", + "license": { + "license_id": "cc-by-nc-nd", + "determination": "stated", + "stated_by": "publisher_page", + "stated_as": "http://creativecommons.org/licenses/by-nc-nd/4.0/" + } + }, + "bibliography": { + "title": "Alterations of regional homogeneity in Parkinson's disease with “pure” apathy: A resting-state fMRI study", + "journal": "Journal of Affective Disorders", + "publication_year": 2020, + "license": { + "license_id": "all-rights-reserved", + "determination": "assumed" + }, + "oa_status": "closed", + "provider": "pubmed" + } +} diff --git a/src/study_schema/jsonschema/coordinate-parse.schema.json b/src/study_schema/jsonschema/coordinate-parse.schema.json index 4272b41..044d8e7 100644 --- a/src/study_schema/jsonschema/coordinate-parse.schema.json +++ b/src/study_schema/jsonschema/coordinate-parse.schema.json @@ -1203,6 +1203,7 @@ "jats", "elsevier", "pmc_cloud", + "publisher_page", "pubmed", "crossref", "openalex", diff --git a/src/study_schema/jsonschema/parsed-paper.schema.json b/src/study_schema/jsonschema/parsed-paper.schema.json index 8c355f4..fe45c63 100644 --- a/src/study_schema/jsonschema/parsed-paper.schema.json +++ b/src/study_schema/jsonschema/parsed-paper.schema.json @@ -1203,6 +1203,7 @@ "jats", "elsevier", "pmc_cloud", + "publisher_page", "pubmed", "crossref", "openalex", diff --git a/src/study_schema/jsonschema/storage-study.schema.json b/src/study_schema/jsonschema/storage-study.schema.json index fea5316..08bcede 100644 --- a/src/study_schema/jsonschema/storage-study.schema.json +++ b/src/study_schema/jsonschema/storage-study.schema.json @@ -3058,6 +3058,7 @@ "jats", "elsevier", "pmc_cloud", + "publisher_page", "pubmed", "crossref", "openalex", diff --git a/src/study_schema/linkml/neuroimaging-study-storage/license.yaml b/src/study_schema/linkml/neuroimaging-study-storage/license.yaml index 86c6a94..af8e10f 100644 --- a/src/study_schema/linkml/neuroimaging-study-storage/license.yaml +++ b/src/study_schema/linkml/neuroimaging-study-storage/license.yaml @@ -164,6 +164,12 @@ enums: pmc_cloud: in_subset: [mvp, deterministic] description: PubMed Central's cloud record of a held copy. + publisher_page: + in_subset: [mvp, deterministic] + description: >- + A held copy's web page at its publisher: the rights metadata it carries + (`dc.rights`, `prism.copyright`), the copyright line it prints, or the user + licence it names. pubmed: in_subset: [mvp, deterministic] crossref: diff --git a/src/study_schema/models/paper_parse.py b/src/study_schema/models/paper_parse.py index 94f88a6..dad99f3 100644 --- a/src/study_schema/models/paper_parse.py +++ b/src/study_schema/models/paper_parse.py @@ -583,6 +583,10 @@ class MetadataSource(str, Enum): """ PubMed Central's cloud record of a held copy. """ + publisher_page = "publisher_page" + """ + A held copy's web page at its publisher: the rights metadata it carries (`dc.rights`, `prism.copyright`), the copyright line it prints, or the user licence it names. + """ pubmed = "pubmed" crossref = "crossref" openalex = "openalex" diff --git a/src/study_schema/models/storage.py b/src/study_schema/models/storage.py index 0dd3fe5..23ee9a4 100644 --- a/src/study_schema/models/storage.py +++ b/src/study_schema/models/storage.py @@ -809,6 +809,10 @@ class MetadataSource(str, Enum): """ PubMed Central's cloud record of a held copy. """ + publisher_page = "publisher_page" + """ + A held copy's web page at its publisher: the rights metadata it carries (`dc.rights`, `prism.copyright`), the copyright line it prints, or the user licence it names. + """ pubmed = "pubmed" crossref = "crossref" openalex = "openalex" diff --git a/tests/test_licensing.py b/tests/test_licensing.py index f19c2a9..ba8d9bc 100644 --- a/tests/test_licensing.py +++ b/tests/test_licensing.py @@ -22,6 +22,7 @@ "tdm_manuscript_of_open_article": (False, True), "preprint_only": (True, True), "assumed_all_rights_reserved": (False, False), + "publisher_page_user_license": (False, False), } # Refused by the models and the JSON Schema alike. INVALID = {