From 0b43d6aa18cbf60d1f7ba22029f78e6b3b0d609f Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Thu, 14 Aug 2025 12:52:35 +0200 Subject: [PATCH 01/77] Draf for #513 Update of Actors, ResearchProducts,ResearchProductVersions, DigitalIdentifiers and their relationships. --- .../actors/contactInformation.schema.tpl.json | 6 +++ schemas/actors/contribution.schema.tpl.json | 12 +++--- ...ma.tpl.json => membership.schema.tpl.json} | 2 +- schemas/actors/organization.schema.tpl.json | 42 ++++++++++++++++--- schemas/actors/person.schema.tpl.json | 25 ++++++----- .../digitalIdentifier/ISNI.schema.tpl.json | 13 ++++++ schemas/digitalIdentifier/LEI.schema.tpl.json | 13 ++++++ .../miscellaneous/location.schema.tpl.json | 22 ++++++++++ schemas/products/dataset.schema.tpl.json | 12 ------ .../products/datasetVersion.schema.tpl.json | 9 ---- .../products/metaDataModel.schema.tpl.json | 12 ------ .../metaDataModelVersion.schema.tpl.json | 9 ---- schemas/products/model.schema.tpl.json | 10 ----- schemas/products/modelVersion.schema.tpl.json | 9 ---- schemas/products/project.schema.tpl.json | 11 +---- .../products/researchProduct.schema.tpl.json | 12 +++++- .../researchProductVersion.schema.tpl.json | 18 ++++---- schemas/products/software.schema.tpl.json | 12 ------ .../products/softwareVersion.schema.tpl.json | 9 ---- schemas/products/webService.schema.tpl.json | 12 ------ .../webServiceVersion.schema.tpl.json | 9 ---- 21 files changed, 132 insertions(+), 147 deletions(-) rename schemas/actors/{affiliation.schema.tpl.json => membership.schema.tpl.json} (95%) create mode 100644 schemas/digitalIdentifier/ISNI.schema.tpl.json create mode 100644 schemas/digitalIdentifier/LEI.schema.tpl.json create mode 100644 schemas/miscellaneous/location.schema.tpl.json diff --git a/schemas/actors/contactInformation.schema.tpl.json b/schemas/actors/contactInformation.schema.tpl.json index d569468c..ff03260d 100644 --- a/schemas/actors/contactInformation.schema.tpl.json +++ b/schemas/actors/contactInformation.schema.tpl.json @@ -4,6 +4,12 @@ "email" ], "properties": { + "address": { + "_instruction": "Enter the physical address of the party (e.g., of the person).", + "_linkedTypes": [ + "core:Location" + ] + }, "email": { "type": "string", "_formats": [ diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index 90722fde..a556f2a3 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -2,7 +2,7 @@ "_type": "core:Contribution", "required": [ "contributor", - "type" + "role" ], "properties": { "contributor": { @@ -10,12 +10,10 @@ "_linkedCategories": [ "legalPerson" ] - }, - "type": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add the party that performed the contribution.", + }, + "role": { + "type": "string", + "_instruction": "Add the role of the contributor that performed the contribution.", "_linkedTypes": [ "controlledTerms:ContributionType" ] diff --git a/schemas/actors/affiliation.schema.tpl.json b/schemas/actors/membership.schema.tpl.json similarity index 95% rename from schemas/actors/affiliation.schema.tpl.json rename to schemas/actors/membership.schema.tpl.json index ffb00ddc..a43b071f 100644 --- a/schemas/actors/affiliation.schema.tpl.json +++ b/schemas/actors/membership.schema.tpl.json @@ -1,5 +1,5 @@ { - "_type": "core:Affiliation", + "_type": "core:Membership", "required": [ "memberOf" ], diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index 583d5bbd..ed589df5 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -4,17 +4,29 @@ "legalPerson" ], "required": [ - "fullName" + "address", + "fullName", + "type" ], "properties": { - "affiliation": { + "address": { + "_instruction": "Enter the physical address of this organization.", + "_embeddedTypes": [ + "core:Jurisdiction" + ] + }, + "acronym": { + "type": "string", + "_instruction": "Enter the acronym of this organization." + }, + "alternateName": { "type": "array", + "items": { + "type": "string" + }, "minItems": 1, "uniqueItems": true, - "_instruction": "Enter all current and, if necessary, past affiliations of this organization.", - "_embeddedTypes": [ - "core:Affiliation" - ] + "_instruction": "Enter any other known full name of this organization." }, "digitalIdentifier": { "type": "array", @@ -23,6 +35,8 @@ "_instruction": "Add all globally unique and persistent digital identifier of this organization.", "_linkedTypes": [ "core:GRIDID", + "core:ISNI", + "core:LEI", "core:RORID", "core:RRID" ] @@ -47,9 +61,25 @@ ], "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this organization." }, + "memberOf": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Enter all current and, if necessary, past memberships of this organization.", + "_embeddedTypes": [ + "core:Membership" + ] + }, "shortName": { "type": "string", "_instruction": "Enter a short name (or alias) for this organization that could be used as a shortened display title (e.g., for web services with too little space to display the full name)." + }, + "type": { + "type": "string", + "_instruction": "Enter the type of this organization (e.g., company, non-profit organization, government).", + "_embeddedTypes": [ + "controlledTerms:LegalEntityType" + ] } } } diff --git a/schemas/actors/person.schema.tpl.json b/schemas/actors/person.schema.tpl.json index bd503e0a..68546bd1 100644 --- a/schemas/actors/person.schema.tpl.json +++ b/schemas/actors/person.schema.tpl.json @@ -5,18 +5,10 @@ "legalPerson" ], "required": [ + "fullName", "givenName" ], - "properties": { - "affiliation": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Enter all current and, if desired, past affiliations of this person.", - "_embeddedTypes": [ - "core:Affiliation" - ] - }, + "properties": { "alternateName": { "type": "array", "items": { @@ -54,9 +46,22 @@ "type": "string", "_instruction": "Enter the family name of this person." }, + "fullName": { + "type": "string", + "_instruction": "Enter the full name of this person." + }, "givenName": { "type": "string", "_instruction": "Enter the given name of this person." + }, + "memberOf": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Enter all current and, if desired, past memberships of this person.", + "_embeddedTypes": [ + "core:Membership" + ] } } } diff --git a/schemas/digitalIdentifier/ISNI.schema.tpl.json b/schemas/digitalIdentifier/ISNI.schema.tpl.json new file mode 100644 index 00000000..32ad8d35 --- /dev/null +++ b/schemas/digitalIdentifier/ISNI.schema.tpl.json @@ -0,0 +1,13 @@ +{ + "_type": "core:ISNI", + "required": [ + "identifier" + ], + "properties": { + "identifier": { + "type": "string", + "pattern": "^https?://(www.)?isni.org/(isni/)?\\d{15}[\\dX]$)", + "_instruction": "Enter the identifier for legal entities provided by the International Standard Name Identifier Assignment Agency ('International Standard Name Identifier'; ISNI) as an internationalized resource identifier (IRI) following the defined pattern (i.e., 'https://isni.org/' + ISNI)." + } + } +} diff --git a/schemas/digitalIdentifier/LEI.schema.tpl.json b/schemas/digitalIdentifier/LEI.schema.tpl.json new file mode 100644 index 00000000..4aeeb920 --- /dev/null +++ b/schemas/digitalIdentifier/LEI.schema.tpl.json @@ -0,0 +1,13 @@ +{ + "_type": "core:LEI", + "required": [ + "identifier" + ], + "properties": { + "identifier": { + "type": "string", + "pattern": "^https://lei.global/LEI/[A-Z0-9]{18}\\d{2}$", + "_instruction": "Enter the identifier for legal entities provided by a local operating unit delegated by the Global Legal Entity Identifier Foundation ('Legal Entity Identifier'; LEI) as an internationalized resource identifier (IRI) following the defined pattern (i.e., 'https://lei.global/LEI/' + LEI)." + } + } +} diff --git a/schemas/miscellaneous/location.schema.tpl.json b/schemas/miscellaneous/location.schema.tpl.json new file mode 100644 index 00000000..540e6950 --- /dev/null +++ b/schemas/miscellaneous/location.schema.tpl.json @@ -0,0 +1,22 @@ +{ + "_type": "core:Location", + "required": [ + "country" + ], + "properties": { + "administrativeDivision": { + "type": "string", + "_instruction": "Enter the administrative division of this location." + }, + "city": { + "type": "string", + "_instruction": "Enter the city of this location." + }, + "country": { + "_instruction": "Enter the country of this location.", + "_linkedTypes": [ + "controlledTerms:Country" + ] + } + } +} diff --git a/schemas/products/dataset.schema.tpl.json b/schemas/products/dataset.schema.tpl.json index 796e193c..58eaf4d2 100644 --- a/schemas/products/dataset.schema.tpl.json +++ b/schemas/products/dataset.schema.tpl.json @@ -1,19 +1,7 @@ { "_type": "core:Dataset", "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "author" - ], "properties": { - "author": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that contributed to this dataset as authors.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", "_linkedTypes": [ diff --git a/schemas/products/datasetVersion.schema.tpl.json b/schemas/products/datasetVersion.schema.tpl.json index dd5d8c30..c25053de 100644 --- a/schemas/products/datasetVersion.schema.tpl.json +++ b/schemas/products/datasetVersion.schema.tpl.json @@ -10,15 +10,6 @@ "technique" ], "properties": { - "author": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that contributed to this dataset version as authors. Note that these authors will overwrite the author list provided for the overarching dataset.", - "_linkedCategories": [ - "legalPerson" - ] - }, "behavioralProtocol": { "type": "array", "minItems": 1, diff --git a/schemas/products/metaDataModel.schema.tpl.json b/schemas/products/metaDataModel.schema.tpl.json index 84e6ae9c..741761e5 100644 --- a/schemas/products/metaDataModel.schema.tpl.json +++ b/schemas/products/metaDataModel.schema.tpl.json @@ -1,19 +1,7 @@ { "_type": "core:MetaDataModel", "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "developer" - ], "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this (meta)data model.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", "_linkedTypes": [ diff --git a/schemas/products/metaDataModelVersion.schema.tpl.json b/schemas/products/metaDataModelVersion.schema.tpl.json index f2843efd..b779ee77 100644 --- a/schemas/products/metaDataModelVersion.schema.tpl.json +++ b/schemas/products/metaDataModelVersion.schema.tpl.json @@ -6,15 +6,6 @@ "type" ], "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this (meta)data model version. Note that these developers will overwrite the developer list provided for the overarching (meta)data model.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", "_linkedTypes": [ diff --git a/schemas/products/model.schema.tpl.json b/schemas/products/model.schema.tpl.json index 9fa15427..17ee27eb 100644 --- a/schemas/products/model.schema.tpl.json +++ b/schemas/products/model.schema.tpl.json @@ -3,7 +3,6 @@ "_extends": "products/researchProduct.schema.tpl.json", "required": [ "abstractionLevel", - "developer", "scope", "studyTarget" ], @@ -14,15 +13,6 @@ "controlledTerms:ModelAbstractionLevel" ] }, - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this computational model.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", "_linkedTypes": [ diff --git a/schemas/products/modelVersion.schema.tpl.json b/schemas/products/modelVersion.schema.tpl.json index dbc08740..e7d6fd2e 100644 --- a/schemas/products/modelVersion.schema.tpl.json +++ b/schemas/products/modelVersion.schema.tpl.json @@ -15,15 +15,6 @@ "core:WebResource" ] }, - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this computational model version. Note that these developers will overwrite the developer list provided for the overarching computational model.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", "_linkedTypes": [ diff --git a/schemas/products/project.schema.tpl.json b/schemas/products/project.schema.tpl.json index 2ad1318f..c2295946 100644 --- a/schemas/products/project.schema.tpl.json +++ b/schemas/products/project.schema.tpl.json @@ -6,16 +6,7 @@ "hasPart", "shortName" ], - "properties": { - "coordinator": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that coordinate this project.", - "_linkedCategories": [ - "legalPerson" - ] - }, + "properties": { "description": { "type": "string", "_instruction": "Enter a description of this project." diff --git a/schemas/products/researchProduct.schema.tpl.json b/schemas/products/researchProduct.schema.tpl.json index 86400960..debdeced 100644 --- a/schemas/products/researchProduct.schema.tpl.json +++ b/schemas/products/researchProduct.schema.tpl.json @@ -3,12 +3,22 @@ "researchProduct" ], "required": [ - "description", + "contribution", + "description", "fullName", "hasVersion", "shortName" ], "properties": { + "contribution": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all the contributions made to this research product.", + "_embeddedTypes": [ + "core:Contribution" + ] + }, "custodian": { "type": "array", "minItems": 1, diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index 16be5c4c..00b2cdd6 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -23,6 +23,15 @@ "core:Copyright" ] }, + "contribution": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all the contributions made to this research product version.", + "_embeddedTypes": [ + "core:Contribution" + ] + }, "custodian": { "type": "array", "minItems": 1, @@ -78,15 +87,6 @@ "keyword" ] }, - "otherContribution": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add any other contributions to this research product version that are not covered under 'author'/'developer' or 'custodian'.", - "_embeddedTypes": [ - "core:Contribution" - ] - }, "relatedPublication": { "type": "array", "minItems": 1, diff --git a/schemas/products/software.schema.tpl.json b/schemas/products/software.schema.tpl.json index a6712f57..7c8c2223 100644 --- a/schemas/products/software.schema.tpl.json +++ b/schemas/products/software.schema.tpl.json @@ -1,19 +1,7 @@ { "_type": "core:Software", "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "developer" - ], "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this software.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", "_linkedTypes": [ diff --git a/schemas/products/softwareVersion.schema.tpl.json b/schemas/products/softwareVersion.schema.tpl.json index 4fa6f98f..e66ec0bb 100644 --- a/schemas/products/softwareVersion.schema.tpl.json +++ b/schemas/products/softwareVersion.schema.tpl.json @@ -23,15 +23,6 @@ "controlledTerms:SoftwareApplicationCategory" ] }, - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this software version. Note that these developers will overwrite the developer list provided for the overarching software.", - "_linkedCategories": [ - "legalPerson" - ] - }, "device": { "type": "array", "minItems": 1, diff --git a/schemas/products/webService.schema.tpl.json b/schemas/products/webService.schema.tpl.json index 5ae96f81..58bfc5a8 100644 --- a/schemas/products/webService.schema.tpl.json +++ b/schemas/products/webService.schema.tpl.json @@ -1,19 +1,7 @@ { "_type": "core:WebService", "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "developer" - ], "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this web service.", - "_linkedCategories": [ - "legalPerson" - ] - }, "hasVersion": { "type": "array", "minItems": 1, diff --git a/schemas/products/webServiceVersion.schema.tpl.json b/schemas/products/webServiceVersion.schema.tpl.json index feb5fa8d..b7cd60e5 100644 --- a/schemas/products/webServiceVersion.schema.tpl.json +++ b/schemas/products/webServiceVersion.schema.tpl.json @@ -2,15 +2,6 @@ "_type": "core:WebServiceVersion", "_extends": "products/researchProductVersion.schema.tpl.json", "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this web service version. Note that these developers will overwrite the developer list provided for the overarching web service.", - "_linkedCategories": [ - "legalPerson" - ] - }, "hasPart": { "type": "array", "minItems": 1, From 9174f5586409d2874c1e378394258889eec71947 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Thu, 14 Aug 2025 12:52:35 +0200 Subject: [PATCH 02/77] Draft for #513 Update of Actors, ResearchProducts,ResearchProductVersions, DigitalIdentifiers and their relationships. --- .../actors/contactInformation.schema.tpl.json | 6 +++ schemas/actors/contribution.schema.tpl.json | 12 +++--- ...ma.tpl.json => membership.schema.tpl.json} | 2 +- schemas/actors/organization.schema.tpl.json | 42 ++++++++++++++++--- schemas/actors/person.schema.tpl.json | 25 ++++++----- .../digitalIdentifier/ISNI.schema.tpl.json | 13 ++++++ schemas/digitalIdentifier/LEI.schema.tpl.json | 13 ++++++ .../miscellaneous/location.schema.tpl.json | 22 ++++++++++ schemas/products/dataset.schema.tpl.json | 12 ------ .../products/datasetVersion.schema.tpl.json | 9 ---- .../products/metaDataModel.schema.tpl.json | 12 ------ .../metaDataModelVersion.schema.tpl.json | 9 ---- schemas/products/model.schema.tpl.json | 10 ----- schemas/products/modelVersion.schema.tpl.json | 9 ---- schemas/products/project.schema.tpl.json | 11 +---- .../products/researchProduct.schema.tpl.json | 12 +++++- .../researchProductVersion.schema.tpl.json | 18 ++++---- schemas/products/software.schema.tpl.json | 12 ------ .../products/softwareVersion.schema.tpl.json | 9 ---- schemas/products/webService.schema.tpl.json | 12 ------ .../webServiceVersion.schema.tpl.json | 9 ---- 21 files changed, 132 insertions(+), 147 deletions(-) rename schemas/actors/{affiliation.schema.tpl.json => membership.schema.tpl.json} (95%) create mode 100644 schemas/digitalIdentifier/ISNI.schema.tpl.json create mode 100644 schemas/digitalIdentifier/LEI.schema.tpl.json create mode 100644 schemas/miscellaneous/location.schema.tpl.json diff --git a/schemas/actors/contactInformation.schema.tpl.json b/schemas/actors/contactInformation.schema.tpl.json index d569468c..ff03260d 100644 --- a/schemas/actors/contactInformation.schema.tpl.json +++ b/schemas/actors/contactInformation.schema.tpl.json @@ -4,6 +4,12 @@ "email" ], "properties": { + "address": { + "_instruction": "Enter the physical address of the party (e.g., of the person).", + "_linkedTypes": [ + "core:Location" + ] + }, "email": { "type": "string", "_formats": [ diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index 90722fde..a556f2a3 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -2,7 +2,7 @@ "_type": "core:Contribution", "required": [ "contributor", - "type" + "role" ], "properties": { "contributor": { @@ -10,12 +10,10 @@ "_linkedCategories": [ "legalPerson" ] - }, - "type": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add the party that performed the contribution.", + }, + "role": { + "type": "string", + "_instruction": "Add the role of the contributor that performed the contribution.", "_linkedTypes": [ "controlledTerms:ContributionType" ] diff --git a/schemas/actors/affiliation.schema.tpl.json b/schemas/actors/membership.schema.tpl.json similarity index 95% rename from schemas/actors/affiliation.schema.tpl.json rename to schemas/actors/membership.schema.tpl.json index ffb00ddc..a43b071f 100644 --- a/schemas/actors/affiliation.schema.tpl.json +++ b/schemas/actors/membership.schema.tpl.json @@ -1,5 +1,5 @@ { - "_type": "core:Affiliation", + "_type": "core:Membership", "required": [ "memberOf" ], diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index 583d5bbd..ed589df5 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -4,17 +4,29 @@ "legalPerson" ], "required": [ - "fullName" + "address", + "fullName", + "type" ], "properties": { - "affiliation": { + "address": { + "_instruction": "Enter the physical address of this organization.", + "_embeddedTypes": [ + "core:Jurisdiction" + ] + }, + "acronym": { + "type": "string", + "_instruction": "Enter the acronym of this organization." + }, + "alternateName": { "type": "array", + "items": { + "type": "string" + }, "minItems": 1, "uniqueItems": true, - "_instruction": "Enter all current and, if necessary, past affiliations of this organization.", - "_embeddedTypes": [ - "core:Affiliation" - ] + "_instruction": "Enter any other known full name of this organization." }, "digitalIdentifier": { "type": "array", @@ -23,6 +35,8 @@ "_instruction": "Add all globally unique and persistent digital identifier of this organization.", "_linkedTypes": [ "core:GRIDID", + "core:ISNI", + "core:LEI", "core:RORID", "core:RRID" ] @@ -47,9 +61,25 @@ ], "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this organization." }, + "memberOf": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Enter all current and, if necessary, past memberships of this organization.", + "_embeddedTypes": [ + "core:Membership" + ] + }, "shortName": { "type": "string", "_instruction": "Enter a short name (or alias) for this organization that could be used as a shortened display title (e.g., for web services with too little space to display the full name)." + }, + "type": { + "type": "string", + "_instruction": "Enter the type of this organization (e.g., company, non-profit organization, government).", + "_embeddedTypes": [ + "controlledTerms:LegalEntityType" + ] } } } diff --git a/schemas/actors/person.schema.tpl.json b/schemas/actors/person.schema.tpl.json index bd503e0a..68546bd1 100644 --- a/schemas/actors/person.schema.tpl.json +++ b/schemas/actors/person.schema.tpl.json @@ -5,18 +5,10 @@ "legalPerson" ], "required": [ + "fullName", "givenName" ], - "properties": { - "affiliation": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Enter all current and, if desired, past affiliations of this person.", - "_embeddedTypes": [ - "core:Affiliation" - ] - }, + "properties": { "alternateName": { "type": "array", "items": { @@ -54,9 +46,22 @@ "type": "string", "_instruction": "Enter the family name of this person." }, + "fullName": { + "type": "string", + "_instruction": "Enter the full name of this person." + }, "givenName": { "type": "string", "_instruction": "Enter the given name of this person." + }, + "memberOf": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Enter all current and, if desired, past memberships of this person.", + "_embeddedTypes": [ + "core:Membership" + ] } } } diff --git a/schemas/digitalIdentifier/ISNI.schema.tpl.json b/schemas/digitalIdentifier/ISNI.schema.tpl.json new file mode 100644 index 00000000..32ad8d35 --- /dev/null +++ b/schemas/digitalIdentifier/ISNI.schema.tpl.json @@ -0,0 +1,13 @@ +{ + "_type": "core:ISNI", + "required": [ + "identifier" + ], + "properties": { + "identifier": { + "type": "string", + "pattern": "^https?://(www.)?isni.org/(isni/)?\\d{15}[\\dX]$)", + "_instruction": "Enter the identifier for legal entities provided by the International Standard Name Identifier Assignment Agency ('International Standard Name Identifier'; ISNI) as an internationalized resource identifier (IRI) following the defined pattern (i.e., 'https://isni.org/' + ISNI)." + } + } +} diff --git a/schemas/digitalIdentifier/LEI.schema.tpl.json b/schemas/digitalIdentifier/LEI.schema.tpl.json new file mode 100644 index 00000000..4aeeb920 --- /dev/null +++ b/schemas/digitalIdentifier/LEI.schema.tpl.json @@ -0,0 +1,13 @@ +{ + "_type": "core:LEI", + "required": [ + "identifier" + ], + "properties": { + "identifier": { + "type": "string", + "pattern": "^https://lei.global/LEI/[A-Z0-9]{18}\\d{2}$", + "_instruction": "Enter the identifier for legal entities provided by a local operating unit delegated by the Global Legal Entity Identifier Foundation ('Legal Entity Identifier'; LEI) as an internationalized resource identifier (IRI) following the defined pattern (i.e., 'https://lei.global/LEI/' + LEI)." + } + } +} diff --git a/schemas/miscellaneous/location.schema.tpl.json b/schemas/miscellaneous/location.schema.tpl.json new file mode 100644 index 00000000..540e6950 --- /dev/null +++ b/schemas/miscellaneous/location.schema.tpl.json @@ -0,0 +1,22 @@ +{ + "_type": "core:Location", + "required": [ + "country" + ], + "properties": { + "administrativeDivision": { + "type": "string", + "_instruction": "Enter the administrative division of this location." + }, + "city": { + "type": "string", + "_instruction": "Enter the city of this location." + }, + "country": { + "_instruction": "Enter the country of this location.", + "_linkedTypes": [ + "controlledTerms:Country" + ] + } + } +} diff --git a/schemas/products/dataset.schema.tpl.json b/schemas/products/dataset.schema.tpl.json index 796e193c..58eaf4d2 100644 --- a/schemas/products/dataset.schema.tpl.json +++ b/schemas/products/dataset.schema.tpl.json @@ -1,19 +1,7 @@ { "_type": "core:Dataset", "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "author" - ], "properties": { - "author": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that contributed to this dataset as authors.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", "_linkedTypes": [ diff --git a/schemas/products/datasetVersion.schema.tpl.json b/schemas/products/datasetVersion.schema.tpl.json index dd5d8c30..c25053de 100644 --- a/schemas/products/datasetVersion.schema.tpl.json +++ b/schemas/products/datasetVersion.schema.tpl.json @@ -10,15 +10,6 @@ "technique" ], "properties": { - "author": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that contributed to this dataset version as authors. Note that these authors will overwrite the author list provided for the overarching dataset.", - "_linkedCategories": [ - "legalPerson" - ] - }, "behavioralProtocol": { "type": "array", "minItems": 1, diff --git a/schemas/products/metaDataModel.schema.tpl.json b/schemas/products/metaDataModel.schema.tpl.json index 84e6ae9c..741761e5 100644 --- a/schemas/products/metaDataModel.schema.tpl.json +++ b/schemas/products/metaDataModel.schema.tpl.json @@ -1,19 +1,7 @@ { "_type": "core:MetaDataModel", "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "developer" - ], "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this (meta)data model.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", "_linkedTypes": [ diff --git a/schemas/products/metaDataModelVersion.schema.tpl.json b/schemas/products/metaDataModelVersion.schema.tpl.json index f2843efd..b779ee77 100644 --- a/schemas/products/metaDataModelVersion.schema.tpl.json +++ b/schemas/products/metaDataModelVersion.schema.tpl.json @@ -6,15 +6,6 @@ "type" ], "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this (meta)data model version. Note that these developers will overwrite the developer list provided for the overarching (meta)data model.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", "_linkedTypes": [ diff --git a/schemas/products/model.schema.tpl.json b/schemas/products/model.schema.tpl.json index 9fa15427..17ee27eb 100644 --- a/schemas/products/model.schema.tpl.json +++ b/schemas/products/model.schema.tpl.json @@ -3,7 +3,6 @@ "_extends": "products/researchProduct.schema.tpl.json", "required": [ "abstractionLevel", - "developer", "scope", "studyTarget" ], @@ -14,15 +13,6 @@ "controlledTerms:ModelAbstractionLevel" ] }, - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this computational model.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", "_linkedTypes": [ diff --git a/schemas/products/modelVersion.schema.tpl.json b/schemas/products/modelVersion.schema.tpl.json index dbc08740..e7d6fd2e 100644 --- a/schemas/products/modelVersion.schema.tpl.json +++ b/schemas/products/modelVersion.schema.tpl.json @@ -15,15 +15,6 @@ "core:WebResource" ] }, - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this computational model version. Note that these developers will overwrite the developer list provided for the overarching computational model.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", "_linkedTypes": [ diff --git a/schemas/products/project.schema.tpl.json b/schemas/products/project.schema.tpl.json index 2ad1318f..c2295946 100644 --- a/schemas/products/project.schema.tpl.json +++ b/schemas/products/project.schema.tpl.json @@ -6,16 +6,7 @@ "hasPart", "shortName" ], - "properties": { - "coordinator": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that coordinate this project.", - "_linkedCategories": [ - "legalPerson" - ] - }, + "properties": { "description": { "type": "string", "_instruction": "Enter a description of this project." diff --git a/schemas/products/researchProduct.schema.tpl.json b/schemas/products/researchProduct.schema.tpl.json index 86400960..debdeced 100644 --- a/schemas/products/researchProduct.schema.tpl.json +++ b/schemas/products/researchProduct.schema.tpl.json @@ -3,12 +3,22 @@ "researchProduct" ], "required": [ - "description", + "contribution", + "description", "fullName", "hasVersion", "shortName" ], "properties": { + "contribution": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all the contributions made to this research product.", + "_embeddedTypes": [ + "core:Contribution" + ] + }, "custodian": { "type": "array", "minItems": 1, diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index 16be5c4c..00b2cdd6 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -23,6 +23,15 @@ "core:Copyright" ] }, + "contribution": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all the contributions made to this research product version.", + "_embeddedTypes": [ + "core:Contribution" + ] + }, "custodian": { "type": "array", "minItems": 1, @@ -78,15 +87,6 @@ "keyword" ] }, - "otherContribution": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add any other contributions to this research product version that are not covered under 'author'/'developer' or 'custodian'.", - "_embeddedTypes": [ - "core:Contribution" - ] - }, "relatedPublication": { "type": "array", "minItems": 1, diff --git a/schemas/products/software.schema.tpl.json b/schemas/products/software.schema.tpl.json index a6712f57..7c8c2223 100644 --- a/schemas/products/software.schema.tpl.json +++ b/schemas/products/software.schema.tpl.json @@ -1,19 +1,7 @@ { "_type": "core:Software", "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "developer" - ], "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this software.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", "_linkedTypes": [ diff --git a/schemas/products/softwareVersion.schema.tpl.json b/schemas/products/softwareVersion.schema.tpl.json index 4fa6f98f..e66ec0bb 100644 --- a/schemas/products/softwareVersion.schema.tpl.json +++ b/schemas/products/softwareVersion.schema.tpl.json @@ -23,15 +23,6 @@ "controlledTerms:SoftwareApplicationCategory" ] }, - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this software version. Note that these developers will overwrite the developer list provided for the overarching software.", - "_linkedCategories": [ - "legalPerson" - ] - }, "device": { "type": "array", "minItems": 1, diff --git a/schemas/products/webService.schema.tpl.json b/schemas/products/webService.schema.tpl.json index 5ae96f81..58bfc5a8 100644 --- a/schemas/products/webService.schema.tpl.json +++ b/schemas/products/webService.schema.tpl.json @@ -1,19 +1,7 @@ { "_type": "core:WebService", "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "developer" - ], "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this web service.", - "_linkedCategories": [ - "legalPerson" - ] - }, "hasVersion": { "type": "array", "minItems": 1, diff --git a/schemas/products/webServiceVersion.schema.tpl.json b/schemas/products/webServiceVersion.schema.tpl.json index feb5fa8d..b7cd60e5 100644 --- a/schemas/products/webServiceVersion.schema.tpl.json +++ b/schemas/products/webServiceVersion.schema.tpl.json @@ -2,15 +2,6 @@ "_type": "core:WebServiceVersion", "_extends": "products/researchProductVersion.schema.tpl.json", "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this web service version. Note that these developers will overwrite the developer list provided for the overarching web service.", - "_linkedCategories": [ - "legalPerson" - ] - }, "hasPart": { "type": "array", "minItems": 1, From 13ae6dfd68e91302a0431137cea979e8ee006cc1 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Thu, 14 Aug 2025 13:15:40 +0200 Subject: [PATCH 03/77] Update contribution.schema.tpl.json --- schemas/actors/contribution.schema.tpl.json | 1 - 1 file changed, 1 deletion(-) diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index a556f2a3..0c54a248 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -12,7 +12,6 @@ ] }, "role": { - "type": "string", "_instruction": "Add the role of the contributor that performed the contribution.", "_linkedTypes": [ "controlledTerms:ContributionType" From d76a9b5786a5643d31e9caa4e9011cbc4f7bed8a Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Thu, 14 Aug 2025 14:48:58 +0200 Subject: [PATCH 04/77] Update organization.schema.tpl.json --- schemas/actors/organization.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index ed589df5..56acdaf5 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -12,7 +12,7 @@ "address": { "_instruction": "Enter the physical address of this organization.", "_embeddedTypes": [ - "core:Jurisdiction" + "core:Location" ] }, "acronym": { From bb8d7bc8b2f5f556b60bcfc03f918dfbd5922e06 Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Mon, 29 Sep 2025 10:51:01 +0200 Subject: [PATCH 05/77] Remove WebService and WebServiceVersion, replace with Service, Interface and InterfaceDependency schemas. --- schemas/products/interface.schema.tpl.json | 73 +++++++++++ .../interfaceDependency.schema.tpl.json | 21 ++++ schemas/products/service.schema.tpl.json | 118 ++++++++++++++++++ schemas/products/webService.schema.tpl.json | 27 ---- .../webServiceVersion.schema.tpl.json | 57 --------- 5 files changed, 212 insertions(+), 84 deletions(-) create mode 100644 schemas/products/interface.schema.tpl.json create mode 100644 schemas/products/interfaceDependency.schema.tpl.json create mode 100644 schemas/products/service.schema.tpl.json delete mode 100644 schemas/products/webService.schema.tpl.json delete mode 100644 schemas/products/webServiceVersion.schema.tpl.json diff --git a/schemas/products/interface.schema.tpl.json b/schemas/products/interface.schema.tpl.json new file mode 100644 index 00000000..1be7314a --- /dev/null +++ b/schemas/products/interface.schema.tpl.json @@ -0,0 +1,73 @@ +{ + "_type": "core:Interface", + "required": [ + "communicationProtocol", + "definition", + "name", + "type", + "versionIdentifier" + ], + "properties": { + "communicationProtocol": { + "_instruction": "Enter the communication protocol used by this interface.", + "_linkedTypes": [ + "controlledTerms:CommunicationProtocol" + ] + }, + "custodian": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all parties that fulfill the role of a custodian for the definition of this interface.", + "_linkedCategories": [ + "legalPerson" + ] + }, + "definition": { + "_instruction": "Enter a web resource that defines this interface, e.g., an OpenAPI.json document.", + "_linkedTypes": [ + "core.WebResource" + ] + }, + "description": { + "type": "string", + "_instruction": "Enter a description of this interface." + }, + "developer": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all parties that developed this interface definition.", + "_linkedCategories": [ + "legalPerson" + ] + }, + "name": { + "type": "string", + "_instruction": "Enter the name of this interface." + }, + "type": { + "_instruction": "Enter the type of this interface.", + "_linkedTypes": [ + "controlledTerms:InterfaceType" + ] + }, + "userDocumentation": { + "_instruction": "Add the publication or file that acts as the full documentation of this interface.", + "_linkedTypes": [ + "core:DOI", + "core:File", + "core:ISBN", + "core:WebResource" + ] + }, + "versionIdentifier": { + "type": "string", + "_instruction": "Enter the version identifier of this interface version." + }, + "versionInnovation": { + "type": "string", + "_instruction": "Enter a short description (or summary) of the novelties/peculiarities of this interface version in comparison to its preceding versions." + } + } +} diff --git a/schemas/products/interfaceDependency.schema.tpl.json b/schemas/products/interfaceDependency.schema.tpl.json new file mode 100644 index 00000000..d739c615 --- /dev/null +++ b/schemas/products/interfaceDependency.schema.tpl.json @@ -0,0 +1,21 @@ +{ + "_type": "core:InterfaceDependency", + "required": [ + "failureImpact", + "fulfilledBy" + ], + "properties": { + "failureImpact": { + "_instruction": "Add the impact(s) on the software if the service interface is unavailable.", + "_linkedTypes": [ + "controlledTerms.Impact" + ] + }, + "fulfilledBy": { + "_instruction": "Add the service interface that fulfills this dependency.", + "_linkedTypes": [ + "core.Interface" + ] + } + } +} diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json new file mode 100644 index 00000000..e6eb840d --- /dev/null +++ b/schemas/products/service.schema.tpl.json @@ -0,0 +1,118 @@ +{ + "_type": "core:Service", + "required": [ + "fullDocumentation", + "fullName", + "shortName", + "type" + ], + "properties": { + "custodian": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all parties that fulfill the role of a custodian for the service, typically an organization.", + "_linkedCategories": [ + "legalPerson" + ] + }, + "deploymentProtocol": { + "_instruction": "Add the protocol or workflow recipe that should be used to deploy this service.", + "_linkedTypes": [ + "core:Protocol", + "computation:WorkflowRecipe" + ] + }, + "description": { + "type": "string", + "_instruction": "Enter a description (or abstract) of this service." + }, + "feature": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add the main features of this service.", + "_linkedTypes": [ + "controlledTerms:SoftwareFeature" + ] + }, + "fullDocumentation": { + "_instruction": "Add the publication or file that acts as the full documentation of this service.", + "_linkedTypes": [ + "core:DOI", + "core:File", + "core:ISBN", + "core:WebResource" + ] + }, + "fullName": { + "type": "string", + "_instruction": "Enter a descriptive full name (or title) for this service." + }, + "funding": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all funding information of this service.", + "_linkedTypes": [ + "core:Funding" + ] + }, + "howToCite": { + "type": "string", + "_instruction": "Enter the preferred citation text for this service." + }, + "keyword": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all relevant keywords to this service, either by adding controlled terms or by suggesting new terms.", + "_linkedCategories": [ + "keyword" + ] + }, + "relatedPublication": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all further publications besides the full documentation that provide the original context for the production of this service (e.g., an original research article describing the service).", + "_linkedCategories": [ + "publicationReference" + ] + }, + "scope": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add the scope of this service, i.e., what analysis methods does it perform, what kinds of experimental data is it intended for.", + "_linkedTypes": [ + "controlledTerms:AnalysisTechnique", + "controlledTerms:ExperimentalApproach", + "controlledTerms:Technique" + ] + }, + "shortName": { + "type": "string", + "_instruction": "Enter a short name (or alias) for this service that could be used as a shortened display title." + }, + "supportChannel": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Enter all channels through which a user can receive support for using this service.", + "items": { + "type": "string", + "_formats": [ + "email", + "iri" + ] + } + }, + "type": { + "_instruction": "Add the service type.", + "_linkedTypes": [ + "controlledTerms:ServiceType" + ] + } + } +} diff --git a/schemas/products/webService.schema.tpl.json b/schemas/products/webService.schema.tpl.json deleted file mode 100644 index 5ae96f81..00000000 --- a/schemas/products/webService.schema.tpl.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "_type": "core:WebService", - "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "developer" - ], - "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this web service.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "hasVersion": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all versions of this web service.", - "_linkedTypes": [ - "core:WebServiceVersion" - ] - } - } -} diff --git a/schemas/products/webServiceVersion.schema.tpl.json b/schemas/products/webServiceVersion.schema.tpl.json deleted file mode 100644 index feb5fa8d..00000000 --- a/schemas/products/webServiceVersion.schema.tpl.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "_type": "core:WebServiceVersion", - "_extends": "products/researchProductVersion.schema.tpl.json", - "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this web service version. Note that these developers will overwrite the developer list provided for the overarching web service.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "hasPart": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all software versions that are components of this web service version.", - "_linkedTypes": [ - "core:SoftwareVersion" - ] - }, - "inputFormat": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all content types that can be used as input by this web service version.", - "_linkedTypes": [ - "core:ContentType" - ] - }, - "isAlternativeVersionOf": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all web service versions that can be used alternatively to this web service version.", - "_linkedTypes": [ - "core:WebServiceVersion" - ] - }, - "isNewVersionOf": { - "_instruction": "Add the web service version preceding this web service version.", - "_linkedTypes": [ - "core:WebServiceVersion" - ] - }, - "outputFormat": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all content types that can be generated as output by this web service version.", - "_linkedTypes": [ - "core:ContentType" - ] - } - } -} From bcd5a599c0e6f97e20ca2d90d4160fe0768be4b0 Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Mon, 29 Sep 2025 22:55:06 +0200 Subject: [PATCH 06/77] Changes to the SoftwareVersion schema : linking to Interfaces --- .../products/softwareVersion.schema.tpl.json | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/schemas/products/softwareVersion.schema.tpl.json b/schemas/products/softwareVersion.schema.tpl.json index 4fa6f98f..d180c958 100644 --- a/schemas/products/softwareVersion.schema.tpl.json +++ b/schemas/products/softwareVersion.schema.tpl.json @@ -23,6 +23,19 @@ "controlledTerms:SoftwareApplicationCategory" ] }, + "dependency": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all dependencies of this software version.", + "_embeddedTypes": [ + "core:InterfaceDependency" + ], + "_linkedTypes": [ + "core:Interface", + "core:SoftwareVersion" + ] + }, "developer": { "type": "array", "minItems": 1, @@ -70,6 +83,15 @@ "sands:CommonCoordinateSpaceVersion" ] }, + "implements": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all interfaces that are implemented by this software version.", + "_linkedTypes": [ + "core:Interface" + ] + }, "inputFormat": { "type": "array", "minItems": 1, @@ -138,12 +160,12 @@ "_linkedTypes": [ "controlledTerms:ProgrammingLanguage" ] - }, + }, "requirement": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Enter all requirements of this software version.", + "_instruction": "Enter any requirements of this software version that are not listed under the 'dependency' property.", "items": { "type": "string" } From 1040a5d95f83ed60aa0d529b2ab2eb44029fd173 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 12 Nov 2025 19:44:45 +0100 Subject: [PATCH 07/77] Update to E_mod1 #513 --- schemas/actors/affiliation.schema.tpl.json | 24 +++++++++++++++ schemas/actors/consortium.schema.tpl.json | 2 +- .../actors/contactInformation.schema.tpl.json | 19 ++++++------ schemas/actors/contribution.schema.tpl.json | 11 ++++--- schemas/actors/membership.schema.tpl.json | 29 ------------------- schemas/actors/organization.schema.tpl.json | 26 ++++++++--------- schemas/actors/person.schema.tpl.json | 1 + .../digitalIdentifier/GRIDID.schema.tpl.json | 3 ++ .../digitalIdentifier/ISNI.schema.tpl.json | 3 ++ schemas/digitalIdentifier/LEI.schema.tpl.json | 3 ++ .../digitalIdentifier/RORID.schema.tpl.json | 3 ++ .../digitalIdentifier/RRID.schema.tpl.json | 3 ++ .../genericIdentifier.tpl.json | 4 ++- .../miscellaneous/location.schema.tpl.json | 18 +++++++----- .../products/datasetVersion.schema.tpl.json | 8 ++--- .../products/researchProduct.schema.tpl.json | 13 ++++----- .../researchProductVersion.schema.tpl.json | 11 +++---- 17 files changed, 99 insertions(+), 82 deletions(-) create mode 100644 schemas/actors/affiliation.schema.tpl.json delete mode 100644 schemas/actors/membership.schema.tpl.json diff --git a/schemas/actors/affiliation.schema.tpl.json b/schemas/actors/affiliation.schema.tpl.json new file mode 100644 index 00000000..4e864d55 --- /dev/null +++ b/schemas/actors/affiliation.schema.tpl.json @@ -0,0 +1,24 @@ +{ + "_type": "core:Affiliation", + "required": [ + "person", + "organization" + ], + "properties": { + "person": { + "_instruction": "Add the person who is affiliated with the organizations", + "_linkedTypes": [ + "core:Person" + ] + }, + "organization": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all the organizations that the person is affiliated with", + "_linkedTypes": [ + "core:Organization" + ] + } + } +} diff --git a/schemas/actors/consortium.schema.tpl.json b/schemas/actors/consortium.schema.tpl.json index fb465480..2512e121 100644 --- a/schemas/actors/consortium.schema.tpl.json +++ b/schemas/actors/consortium.schema.tpl.json @@ -1,7 +1,7 @@ { "_type": "core:Consortium", "_categories": [ - "legalPerson" + "actor" ], "required": [ "fullName" diff --git a/schemas/actors/contactInformation.schema.tpl.json b/schemas/actors/contactInformation.schema.tpl.json index ff03260d..3ecb6b34 100644 --- a/schemas/actors/contactInformation.schema.tpl.json +++ b/schemas/actors/contactInformation.schema.tpl.json @@ -4,17 +4,16 @@ "email" ], "properties": { - "address": { - "_instruction": "Enter the physical address of the party (e.g., of the person).", - "_linkedTypes": [ - "core:Location" - ] - }, "email": { - "type": "string", - "_formats": [ - "email" - ], + "type": "array", + "items": { + "type": "string", + "_formats": [ + "email" + ] + }, + "minItems": 1, + "uniqueItems": true, "_instruction": "Enter the email address of the party (e.g., of the person)." } } diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index 0c54a248..c649ee92 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -2,17 +2,20 @@ "_type": "core:Contribution", "required": [ "contributor", - "role" + "type" ], "properties": { "contributor": { - "_instruction": "Add all types of contribution made by the stated 'contributor'.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all the contributors who performed this contribution.", "_linkedCategories": [ "legalPerson" ] }, - "role": { - "_instruction": "Add the role of the contributor that performed the contribution.", + "type": { + "_instruction": "Enter the type of contribution.", "_linkedTypes": [ "controlledTerms:ContributionType" ] diff --git a/schemas/actors/membership.schema.tpl.json b/schemas/actors/membership.schema.tpl.json deleted file mode 100644 index a43b071f..00000000 --- a/schemas/actors/membership.schema.tpl.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "_type": "core:Membership", - "required": [ - "memberOf" - ], - "properties": { - "endDate": { - "type": "string", - "_formats": [ - "date" - ], - "_instruction": "Enter the end date of this affiliation, formatted as 'YYYY-MM-DD'. Leave blank if this affiliation is still current." - }, - "memberOf": { - "_instruction": "Add the organization or consortium another party was or still is a member of.", - "_linkedTypes": [ - "core:Consortium", - "core:Organization" - ] - }, - "startDate": { - "type": "string", - "_formats": [ - "date" - ], - "_instruction": "Enter the start date of this affiliation, formatted as 'YYYY-MM-DD'." - } - } -} diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index 56acdaf5..76a145a8 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -1,6 +1,7 @@ { "_type": "core:Organization", "_categories": [ + "actor", "legalPerson" ], "required": [ @@ -33,18 +34,20 @@ "minItems": 1, "uniqueItems": true, "_instruction": "Add all globally unique and persistent digital identifier of this organization.", - "_linkedTypes": [ - "core:GRIDID", - "core:ISNI", - "core:LEI", - "core:RORID", - "core:RRID" + "_linkedCategories": [ + "organizationIdentifier" ] }, "fullName": { "type": "string", "_instruction": "Enter the full name of this organization." }, + "location": { + "_instruction": "Enter the location of this organization.", + "_linkedTypes": [ + "core:Location" + ] + }, "hasParent": { "type": "array", "minItems": 1, @@ -61,13 +64,10 @@ ], "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this organization." }, - "memberOf": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Enter all current and, if necessary, past memberships of this organization.", - "_embeddedTypes": [ - "core:Membership" + "jurisdiction": { + "_instruction": "Enter the jurisdiction where this organization is based.", + "_linkedCategories": [ + "jurisdiction" ] }, "shortName": { diff --git a/schemas/actors/person.schema.tpl.json b/schemas/actors/person.schema.tpl.json index 68546bd1..e4a973ab 100644 --- a/schemas/actors/person.schema.tpl.json +++ b/schemas/actors/person.schema.tpl.json @@ -1,6 +1,7 @@ { "_type": "core:Person", "_categories": [ + "actor", "agent", "legalPerson" ], diff --git a/schemas/digitalIdentifier/GRIDID.schema.tpl.json b/schemas/digitalIdentifier/GRIDID.schema.tpl.json index 9e6f85a5..bf4a40ff 100644 --- a/schemas/digitalIdentifier/GRIDID.schema.tpl.json +++ b/schemas/digitalIdentifier/GRIDID.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:GRIDID", + "_category": [ + "organizationIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/ISNI.schema.tpl.json b/schemas/digitalIdentifier/ISNI.schema.tpl.json index 32ad8d35..31ee028b 100644 --- a/schemas/digitalIdentifier/ISNI.schema.tpl.json +++ b/schemas/digitalIdentifier/ISNI.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:ISNI", + "_category": [ + "organizationIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/LEI.schema.tpl.json b/schemas/digitalIdentifier/LEI.schema.tpl.json index 4aeeb920..3c35485a 100644 --- a/schemas/digitalIdentifier/LEI.schema.tpl.json +++ b/schemas/digitalIdentifier/LEI.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:LEI", + "_category": [ + "organizationIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/RORID.schema.tpl.json b/schemas/digitalIdentifier/RORID.schema.tpl.json index 694a396f..ecbcadfd 100644 --- a/schemas/digitalIdentifier/RORID.schema.tpl.json +++ b/schemas/digitalIdentifier/RORID.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:RORID", + "_category": [ + "organizationIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/RRID.schema.tpl.json b/schemas/digitalIdentifier/RRID.schema.tpl.json index 42380cb6..1a645eb1 100644 --- a/schemas/digitalIdentifier/RRID.schema.tpl.json +++ b/schemas/digitalIdentifier/RRID.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:RRID", + "_category": [ + "organizationIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/genericIdentifier.tpl.json b/schemas/digitalIdentifier/genericIdentifier.tpl.json index 768b3a50..02b34493 100644 --- a/schemas/digitalIdentifier/genericIdentifier.tpl.json +++ b/schemas/digitalIdentifier/genericIdentifier.tpl.json @@ -7,7 +7,9 @@ "properties": { "emitter": { "_instruction": "Add the organization that governs and/or emits the identifier.", - "_linkedTypes": ["core:Organization"] + "_linkedTypes": [ + "core:Organization" + ] }, "identifier": { "type": "string", diff --git a/schemas/miscellaneous/location.schema.tpl.json b/schemas/miscellaneous/location.schema.tpl.json index 540e6950..c3babf00 100644 --- a/schemas/miscellaneous/location.schema.tpl.json +++ b/schemas/miscellaneous/location.schema.tpl.json @@ -4,18 +4,20 @@ "country" ], "properties": { - "administrativeDivision": { + "address": { "type": "string", - "_instruction": "Enter the administrative division of this location." - }, - "city": { - "type": "string", - "_instruction": "Enter the city of this location." + "_instruction": "Enter the address of the location, in the format [Street address], City, [Region/State], [Postal code]. The minimum requested information is City." }, "country": { - "_instruction": "Enter the country of this location.", + "_instruction": "Enter the country in which the location is found.", "_linkedTypes": [ - "controlledTerms:Country" + "controlledTerms:SovereignState" + ] + }, + "geoCoordinates": { + "_instruction": "Enter the geographic coordinates of the location.", + "_embeddedTypes": [ + "core:GeoCoordinates" ] } } diff --git a/schemas/products/datasetVersion.schema.tpl.json b/schemas/products/datasetVersion.schema.tpl.json index c25053de..c1535386 100644 --- a/schemas/products/datasetVersion.schema.tpl.json +++ b/schemas/products/datasetVersion.schema.tpl.json @@ -60,10 +60,10 @@ "core:File", "core:FileBundle", "core:WebResource", - "https://openminds.ebrains.eu/sands/BrainAtlas", - "https://openminds.ebrains.eu/sands/BrainAtlasVersion", - "https://openminds.ebrains.eu/sands/CommonCoordinateSpace", - "https://openminds.ebrains.eu/sands/CommonCoordinateSpaceVersion" + "sands:BrainAtlas", + "sands:BrainAtlasVersion", + "sands:CommonCoordinateSpace", + "sands:CommonCoordinateSpaceVersion" ] }, "isAlternativeVersionOf": { diff --git a/schemas/products/researchProduct.schema.tpl.json b/schemas/products/researchProduct.schema.tpl.json index debdeced..a743fa17 100644 --- a/schemas/products/researchProduct.schema.tpl.json +++ b/schemas/products/researchProduct.schema.tpl.json @@ -6,7 +6,6 @@ "contribution", "description", "fullName", - "hasVersion", "shortName" ], "properties": { @@ -14,18 +13,18 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the contributions made to this research product.", + "_instruction": "Add all the contributions made to this research product version.", "_embeddedTypes": [ "core:Contribution" ] }, - "custodian": { - "type": "array", + "contributorAffiliation": { + "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all parties that fulfill the role of a custodian for this research product (e.g., a research group leader or principle investigator). Custodians are typically the main contact in case of misconduct, obtain permission from the contributors to publish personal information, and maintain the content and quality of the data, metadata, and/or code of the research product. Unless specified differently, this custodian will be responsible for all attached research product versions.", - "_linkedCategories": [ - "legalPerson" + "_instruction": "Add all the affiliations of the contributors to this research product version.", + "_embeddedTypes": [ + "core:Affiliation" ] }, "description": { diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index 00b2cdd6..f87d321e 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -4,6 +4,7 @@ ], "required": [ "accessibility", + "contribution", "fullDocumentation", "releaseDate", "shortName", @@ -32,13 +33,13 @@ "core:Contribution" ] }, - "custodian": { - "type": "array", + "contributorAffiliation": { + "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all parties that fulfill the role of a custodian for the research product version (e.g., a research group leader or principle investigator). Custodians are typically the main contact in case of misconduct, obtain permission from the contributors to publish personal information, and maintain the content and quality of the data, metadata, and/or code of the research product version.", - "_linkedCategories": [ - "legalPerson" + "_instruction": "Add all the affiliations of the contributors to this research product version.", + "_embeddedTypes": [ + "core:Affiliation" ] }, "description": { From e6ae81fe547fc85630f60c91677de5777c45ba6d Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 12 Nov 2025 19:59:26 +0100 Subject: [PATCH 08/77] Update person schema and add location information to organization schema. --- schemas/actors/organization.schema.tpl.json | 10 ++++++++-- schemas/actors/person.schema.tpl.json | 22 ++++++--------------- schemas/products/project.schema.tpl.json | 9 +++++++++ 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index 76a145a8..7d40fb88 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -5,7 +5,7 @@ "legalPerson" ], "required": [ - "address", + "countryOfFormation", "fullName", "type" ], @@ -29,6 +29,12 @@ "uniqueItems": true, "_instruction": "Enter any other known full name of this organization." }, + "countryOfFormation": { + "_instruction": "Enter the country where this organization was created.", + "_linkedTypes": [ + "controlledTerms:SovereignState" + ] + }, "digitalIdentifier": { "type": "array", "minItems": 1, @@ -43,7 +49,7 @@ "_instruction": "Enter the full name of this organization." }, "location": { - "_instruction": "Enter the location of this organization.", + "_instruction": "Enter the location of the headquarters of this organization.", "_linkedTypes": [ "core:Location" ] diff --git a/schemas/actors/person.schema.tpl.json b/schemas/actors/person.schema.tpl.json index e4a973ab..cab6a137 100644 --- a/schemas/actors/person.schema.tpl.json +++ b/schemas/actors/person.schema.tpl.json @@ -6,8 +6,7 @@ "legalPerson" ], "required": [ - "fullName", - "givenName" + "preferredName" ], "properties": { "alternateName": { @@ -45,24 +44,15 @@ }, "familyName": { "type": "string", - "_instruction": "Enter the family name of this person." - }, - "fullName": { - "type": "string", - "_instruction": "Enter the full name of this person." + "_instruction": "Enter the family name, surname, or equivalent of this person." }, "givenName": { "type": "string", - "_instruction": "Enter the given name of this person." + "_instruction": "Enter the given name(s) of this person, or a name chosen in place of the given name. At least one of the names should be spelled out in full; initials may be used for the others." }, - "memberOf": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Enter all current and, if desired, past memberships of this person.", - "_embeddedTypes": [ - "core:Membership" - ] + "preferredName": { + "type": "string", + "_instruction": "Enter the person’s preferred way to write their name in a professional context. It is recommended to place given before family name separated by space." } } } diff --git a/schemas/products/project.schema.tpl.json b/schemas/products/project.schema.tpl.json index c2295946..d5683899 100644 --- a/schemas/products/project.schema.tpl.json +++ b/schemas/products/project.schema.tpl.json @@ -7,6 +7,15 @@ "shortName" ], "properties": { + "coordinator": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all parties that coordinate this project.", + "_linkedCategories": [ + "legalPerson" + ] + }, "description": { "type": "string", "_instruction": "Enter a description of this project." From 45afbaa8d8421d6ddaec687ff64a5da4a46645aa Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 12 Nov 2025 20:14:01 +0100 Subject: [PATCH 09/77] Removal of Location added with another PR. --- .../miscellaneous/location.schema.tpl.json | 24 ------------------- 1 file changed, 24 deletions(-) delete mode 100644 schemas/miscellaneous/location.schema.tpl.json diff --git a/schemas/miscellaneous/location.schema.tpl.json b/schemas/miscellaneous/location.schema.tpl.json deleted file mode 100644 index c3babf00..00000000 --- a/schemas/miscellaneous/location.schema.tpl.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "_type": "core:Location", - "required": [ - "country" - ], - "properties": { - "address": { - "type": "string", - "_instruction": "Enter the address of the location, in the format [Street address], City, [Region/State], [Postal code]. The minimum requested information is City." - }, - "country": { - "_instruction": "Enter the country in which the location is found.", - "_linkedTypes": [ - "controlledTerms:SovereignState" - ] - }, - "geoCoordinates": { - "_instruction": "Enter the geographic coordinates of the location.", - "_embeddedTypes": [ - "core:GeoCoordinates" - ] - } - } -} From 1501e14956804163cd857875919593516bbc28b6 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Fri, 14 Nov 2025 10:24:41 +0100 Subject: [PATCH 10/77] Update to actor (Consortium is not a legalPerson) --- schemas/miscellaneous/funding.schema.tpl.json | 2 +- schemas/products/project.schema.tpl.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/miscellaneous/funding.schema.tpl.json b/schemas/miscellaneous/funding.schema.tpl.json index 2963fabd..40a9435e 100644 --- a/schemas/miscellaneous/funding.schema.tpl.json +++ b/schemas/miscellaneous/funding.schema.tpl.json @@ -19,7 +19,7 @@ "funder": { "_instruction": "Add the party that provided this funding.", "_linkedCategories": [ - "legalPerson" + "actor" ] } } diff --git a/schemas/products/project.schema.tpl.json b/schemas/products/project.schema.tpl.json index d5683899..efcadbdf 100644 --- a/schemas/products/project.schema.tpl.json +++ b/schemas/products/project.schema.tpl.json @@ -13,7 +13,7 @@ "uniqueItems": true, "_instruction": "Add all parties that coordinate this project.", "_linkedCategories": [ - "legalPerson" + "actor" ] }, "description": { From 6eb2c5316e8b26c574c8822ba4f3879ea019c316 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Fri, 14 Nov 2025 10:47:50 +0100 Subject: [PATCH 11/77] Missing cleanup namespace. --- schemas/data/serviceLink.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/data/serviceLink.schema.tpl.json b/schemas/data/serviceLink.schema.tpl.json index fd9affa0..170935bb 100644 --- a/schemas/data/serviceLink.schema.tpl.json +++ b/schemas/data/serviceLink.schema.tpl.json @@ -14,7 +14,7 @@ "core:FileBundle", "core:ModelVersion", "publications:LivePaperResourceItem", - "https://openminds.ebrains.eu/sands/ParcellationEntityVersion" + "sands:ParcellationEntityVersion" ] }, "displayLabel": { From 632d0f1d827ede33dafa431e6c1b6ac5b09489c2 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 11:52:58 +0100 Subject: [PATCH 12/77] Update instructions in affiliation schema --- schemas/actors/affiliation.schema.tpl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/actors/affiliation.schema.tpl.json b/schemas/actors/affiliation.schema.tpl.json index 4e864d55..d9110674 100644 --- a/schemas/actors/affiliation.schema.tpl.json +++ b/schemas/actors/affiliation.schema.tpl.json @@ -6,7 +6,7 @@ ], "properties": { "person": { - "_instruction": "Add the person who is affiliated with the organizations", + "_instruction": "Add the individual to whom this affiliation belongs.", "_linkedTypes": [ "core:Person" ] @@ -15,7 +15,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the organizations that the person is affiliated with", + "_instruction": "Add all organizations (in display order) with which the specified individual is affiliated.", "_linkedTypes": [ "core:Organization" ] From 9d8c0f2293de29d674fe340117a1cea2c287925f Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 11:54:37 +0100 Subject: [PATCH 13/77] Update contactInformation.schema.tpl.json --- schemas/actors/contactInformation.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/actors/contactInformation.schema.tpl.json b/schemas/actors/contactInformation.schema.tpl.json index 3ecb6b34..050767d7 100644 --- a/schemas/actors/contactInformation.schema.tpl.json +++ b/schemas/actors/contactInformation.schema.tpl.json @@ -14,7 +14,7 @@ }, "minItems": 1, "uniqueItems": true, - "_instruction": "Enter the email address of the party (e.g., of the person)." + "_instruction": "Enter all relevant contact email addresses." } } } From c4549a3703113eb3a0bc7a00d352e10b065a1b01 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 11:59:03 +0100 Subject: [PATCH 14/77] Refine instructions in contribution schema --- schemas/actors/contribution.schema.tpl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index c649ee92..daea0674 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -9,13 +9,13 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the contributors who performed this contribution.", + "_instruction": "Add all contributors who performed this contribution.", "_linkedCategories": [ "legalPerson" ] }, "type": { - "_instruction": "Enter the type of contribution.", + "_instruction": "Add the type of contribution.", "_linkedTypes": [ "controlledTerms:ContributionType" ] From 066e34b5144c77e7b1a3c727ebb61ca22de7fc21 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 12:11:53 +0100 Subject: [PATCH 15/77] Update organization.schema.tpl.json --- schemas/actors/organization.schema.tpl.json | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index 7d40fb88..ff029c9c 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -10,12 +10,6 @@ "type" ], "properties": { - "address": { - "_instruction": "Enter the physical address of this organization.", - "_embeddedTypes": [ - "core:Location" - ] - }, "acronym": { "type": "string", "_instruction": "Enter the acronym of this organization." @@ -27,10 +21,10 @@ }, "minItems": 1, "uniqueItems": true, - "_instruction": "Enter any other known full name of this organization." + "_instruction": "Enter any other known name or acronym of this organization." }, "countryOfFormation": { - "_instruction": "Enter the country where this organization was created.", + "_instruction": "Add the country where the organization was formed.", "_linkedTypes": [ "controlledTerms:SovereignState" ] @@ -49,8 +43,8 @@ "_instruction": "Enter the full name of this organization." }, "location": { - "_instruction": "Enter the location of the headquarters of this organization.", - "_linkedTypes": [ + "_instruction": "Add the headquarters location of this organization.", + "_embeddedTypes": [ "core:Location" ] }, @@ -71,7 +65,7 @@ "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this organization." }, "jurisdiction": { - "_instruction": "Enter the jurisdiction where this organization is based.", + "_instruction": "Add the jurisdiction under which the organization operates.", "_linkedCategories": [ "jurisdiction" ] @@ -82,9 +76,9 @@ }, "type": { "type": "string", - "_instruction": "Enter the type of this organization (e.g., company, non-profit organization, government).", + "_instruction": "Add the type of this organization (e.g., company, non-profit organization, government).", "_embeddedTypes": [ - "controlledTerms:LegalEntityType" + "controlledTerms:OrganizationType" ] } } From d78a4409b3510f6381c799b2c8360828c63775cb Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 12:14:27 +0100 Subject: [PATCH 16/77] Refactor organization schema by removing fullName Removed 'fullName' field and updated 'shortName' to 'name' with new instructions. --- schemas/actors/organization.schema.tpl.json | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index ff029c9c..8ddb9064 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -38,10 +38,6 @@ "organizationIdentifier" ] }, - "fullName": { - "type": "string", - "_instruction": "Enter the full name of this organization." - }, "location": { "_instruction": "Add the headquarters location of this organization.", "_embeddedTypes": [ @@ -70,9 +66,9 @@ "jurisdiction" ] }, - "shortName": { + "name": { "type": "string", - "_instruction": "Enter a short name (or alias) for this organization that could be used as a shortened display title (e.g., for web services with too little space to display the full name)." + "_instruction": "Enter the organization’s preferred name for use in international contexts." }, "type": { "type": "string", From 9204ae58a857e97b112ca98edc132c04328e1cb9 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 12:24:49 +0100 Subject: [PATCH 17/77] Update funding schema to include legalPerson category --- schemas/miscellaneous/funding.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/miscellaneous/funding.schema.tpl.json b/schemas/miscellaneous/funding.schema.tpl.json index 40a9435e..2963fabd 100644 --- a/schemas/miscellaneous/funding.schema.tpl.json +++ b/schemas/miscellaneous/funding.schema.tpl.json @@ -19,7 +19,7 @@ "funder": { "_instruction": "Add the party that provided this funding.", "_linkedCategories": [ - "actor" + "legalPerson" ] } } From 1979bb93a78f56dcda2ea4061ebbaa3c151e2d36 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 12:41:30 +0100 Subject: [PATCH 18/77] Update instructions for research product schema --- schemas/products/researchProduct.schema.tpl.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/schemas/products/researchProduct.schema.tpl.json b/schemas/products/researchProduct.schema.tpl.json index a743fa17..6624ae27 100644 --- a/schemas/products/researchProduct.schema.tpl.json +++ b/schemas/products/researchProduct.schema.tpl.json @@ -13,7 +13,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the contributions made to this research product version.", + "_instruction": "Add all individual, organisational, or consortial contributions to this research product. Inherited by all product versions unless overridden at the version level.", "_embeddedTypes": [ "core:Contribution" ] @@ -22,25 +22,25 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the affiliations of the contributors to this research product version.", + "_instruction": "Add all affiliations for the individual contributors to this research product. Inherited by all product versions unless overridden at the version level.", "_embeddedTypes": [ "core:Affiliation" ] }, "description": { "type": "string", - "_instruction": "Enter a description (or abstract) of this research product. Note that this should be a suitable description for all attached research product versions." + "_instruction": "Enter a description (or abstract) of this research product. Inherited by all product versions unless overridden at the version level." }, "fullName": { "type": "string", - "_instruction": "Enter a descriptive full name (or title) for this research product. Note that this should be a suitable full name for all attached research product versions." + "_instruction": "Enter a descriptive full name (or title) for this research product. Inherited by all product versions unless overridden at the version level." }, "homepage": { "type": "string", "_formats": [ "iri" ], - "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this research product." + "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this research product. Inherited by all product versions unless overridden at the version level." }, "howToCite": { "type": "string", @@ -48,7 +48,7 @@ }, "shortName": { "type": "string", - "_instruction": "Enter a short name (or alias) for this research product that could be used as a shortened display title (e.g., for web services with too little space to display the full name)." + "_instruction": "Enter a short name (or alias) for this research product that could be used as a shortened display title (e.g., for web services with too little space to display the full name). Inherited by all product versions unless overridden at the version level." } } } From 22402c3a58858ab62616765c49252360ffd93d60 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 12:49:47 +0100 Subject: [PATCH 19/77] Update instructions in researchProductVersion schema --- .../products/researchProductVersion.schema.tpl.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index 6fa36735..41d7785b 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -29,7 +29,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the contributions made to this research product version.", + "_instruction": "Add all individual, organisational, or consortial contributions to this research product version. If provided, these values override the inherited values from the version-independent product.", "_embeddedTypes": [ "core:Contribution" ] @@ -38,14 +38,14 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the affiliations of the contributors to this research product version.", + "_instruction": "Add all affiliations for the individual contributors to this research product version. If provided, these values override the inherited values from the version-independent product.", "_embeddedTypes": [ "core:Affiliation" ] }, "description": { "type": "string", - "_instruction": "Enter a description (or abstract) of this research product version. Note that this version specific description will overwrite the description for the overarching dataset." + "_instruction": "Enter a description (or abstract) of this research product version. If provided, this value overrides the inherited value from the version-independent product." }, "fullDocumentation": { "_instruction": "Add the publication or file that acts as the full documentation of this research product version.", @@ -58,7 +58,7 @@ }, "fullName": { "type": "string", - "_instruction": "Enter a descriptive full name (or title) for this research product version. Note that this version specific full name will overwrite the full name for the overarching dataset." + "_instruction": "Enter a descriptive full name (or title) for this research product version. If provided, this value overrides the inherited value from the version-independent product." }, "funding": { "type": "array", @@ -74,7 +74,7 @@ "_formats": [ "iri" ], - "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this research product version." + "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this research product version. If provided, this value overrides the inherited value from the version-independent product." }, "howToCite": { "type": "string", @@ -113,7 +113,7 @@ }, "shortName": { "type": "string", - "_instruction": "Enter a short name (or alias) for this research product version that could be used as a shortened display title (e.g., for web services with too little space to display the full name)." + "_instruction": "Enter a short name (or alias) for this research product version that could be used as a shortened display title (e.g., for web services with too little space to display the full name). If provided, this value overrides the inherited value from the version-independent product." }, "supportChannel": { "type": "array", From 8989a040be6e0f136226ebbabde0411ebe85d6c5 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Fri, 14 Nov 2025 12:59:23 +0100 Subject: [PATCH 20/77] Change required property fullName to name --- schemas/actors/organization.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index 8ddb9064..f9e45ba3 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -6,7 +6,7 @@ ], "required": [ "countryOfFormation", - "fullName", + "name", "type" ], "properties": { From d9dff88a4ff108bd8cfc879b7632f61a40f59a93 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Wed, 3 Dec 2025 15:53:30 +0100 Subject: [PATCH 21/77] Deprecated type --- schemas/actors/organization.schema.tpl.json | 1 - 1 file changed, 1 deletion(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index f9e45ba3..c5289eba 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -71,7 +71,6 @@ "_instruction": "Enter the organization’s preferred name for use in international contexts." }, "type": { - "type": "string", "_instruction": "Add the type of this organization (e.g., company, non-profit organization, government).", "_embeddedTypes": [ "controlledTerms:OrganizationType" From b7bd0940d3d9853fc483ecf06a857e6bdfcc3a02 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Mon, 8 Dec 2025 16:54:57 +0100 Subject: [PATCH 22/77] Replace legalPerson by actor --- schemas/actors/contribution.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index daea0674..a0d1cdc6 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -11,7 +11,7 @@ "uniqueItems": true, "_instruction": "Add all contributors who performed this contribution.", "_linkedCategories": [ - "legalPerson" + "actor" ] }, "type": { From 9367f0b8f713f5b1d39f3acd4b5d21a121524582 Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Wed, 28 Jan 2026 17:09:53 +0100 Subject: [PATCH 23/77] Updates to match v0.4 of the specification document https://notes.ebrains.eu/Ye6clhnMRv6y5zsIBRZx8w?view --- .../miscellaneous/dependency.schema.tpl.json | 27 ++++++ schemas/products/interface.schema.tpl.json | 57 +----------- .../interfaceDependency.schema.tpl.json | 21 ----- .../products/interfaceVersion.schema.tpl.json | 34 ++++++++ schemas/products/service.schema.tpl.json | 34 ++------ .../products/softwareVersion.schema.tpl.json | 87 ++++--------------- 6 files changed, 84 insertions(+), 176 deletions(-) create mode 100644 schemas/miscellaneous/dependency.schema.tpl.json delete mode 100644 schemas/products/interfaceDependency.schema.tpl.json create mode 100644 schemas/products/interfaceVersion.schema.tpl.json diff --git a/schemas/miscellaneous/dependency.schema.tpl.json b/schemas/miscellaneous/dependency.schema.tpl.json new file mode 100644 index 00000000..37a08366 --- /dev/null +++ b/schemas/miscellaneous/dependency.schema.tpl.json @@ -0,0 +1,27 @@ +{ + "_type": "core:Dependency", + "required": [ + "fulfilledBy" + ], + "properties": { + "fulfilledBy": { + "_instruction": "Enter the resource that fulfils this dependency.", + "_linkedTypes": [ + "core:Configuration", + "core:File", + "core:InterfaceVersion", + "core:SoftwareVersion", + "core:WebResource" + ] + }, + "failureImpact": { + "_instruction": "Add the impacts that failure of this dependency would have.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_linkedTypes": [ + "controlledTerms:DependencyImpact" + ] + } + } +} diff --git a/schemas/products/interface.schema.tpl.json b/schemas/products/interface.schema.tpl.json index 1be7314a..c11c8608 100644 --- a/schemas/products/interface.schema.tpl.json +++ b/schemas/products/interface.schema.tpl.json @@ -1,11 +1,9 @@ { "_type": "core:Interface", + "_extends": "products/researchProduct.schema.tpl.json", "required": [ "communicationProtocol", - "definition", - "name", - "type", - "versionIdentifier" + "interfaceType" ], "properties": { "communicationProtocol": { @@ -14,60 +12,11 @@ "controlledTerms:CommunicationProtocol" ] }, - "custodian": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that fulfill the role of a custodian for the definition of this interface.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "definition": { - "_instruction": "Enter a web resource that defines this interface, e.g., an OpenAPI.json document.", - "_linkedTypes": [ - "core.WebResource" - ] - }, - "description": { - "type": "string", - "_instruction": "Enter a description of this interface." - }, - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this interface definition.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "name": { - "type": "string", - "_instruction": "Enter the name of this interface." - }, - "type": { + "interfaceType": { "_instruction": "Enter the type of this interface.", "_linkedTypes": [ "controlledTerms:InterfaceType" ] - }, - "userDocumentation": { - "_instruction": "Add the publication or file that acts as the full documentation of this interface.", - "_linkedTypes": [ - "core:DOI", - "core:File", - "core:ISBN", - "core:WebResource" - ] - }, - "versionIdentifier": { - "type": "string", - "_instruction": "Enter the version identifier of this interface version." - }, - "versionInnovation": { - "type": "string", - "_instruction": "Enter a short description (or summary) of the novelties/peculiarities of this interface version in comparison to its preceding versions." } } } diff --git a/schemas/products/interfaceDependency.schema.tpl.json b/schemas/products/interfaceDependency.schema.tpl.json deleted file mode 100644 index d739c615..00000000 --- a/schemas/products/interfaceDependency.schema.tpl.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "_type": "core:InterfaceDependency", - "required": [ - "failureImpact", - "fulfilledBy" - ], - "properties": { - "failureImpact": { - "_instruction": "Add the impact(s) on the software if the service interface is unavailable.", - "_linkedTypes": [ - "controlledTerms.Impact" - ] - }, - "fulfilledBy": { - "_instruction": "Add the service interface that fulfills this dependency.", - "_linkedTypes": [ - "core.Interface" - ] - } - } -} diff --git a/schemas/products/interfaceVersion.schema.tpl.json b/schemas/products/interfaceVersion.schema.tpl.json new file mode 100644 index 00000000..09a512ab --- /dev/null +++ b/schemas/products/interfaceVersion.schema.tpl.json @@ -0,0 +1,34 @@ +{ + "_type": "core:InterfaceVersion", + "_extends": "products/researchProductVersion.schema.tpl.json", + "properties": { + "isPrecededBy": { + "_instruction": "Add the interface version preceding this one.", + "_linkedTypes": [ + "core:InterfaceVersion" + ] + }, + "isVariantOf": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all interface versions that can be used alternatively to this one.", + "_linkedTypes": [ + "core:InterfaceVersion" + ] + }, + "isVersionOf": { + "_instruction": "Add the version-independent information about this interface.", + "_linkedTypes": [ + "core:Interface" + ] + }, + "specification": { + "_instruction": "Enter the specification document for this interface version.", + "_linkedTypes": [ + "core:File", + "core:WebResource" + ] + } + } +} diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json index e6eb840d..49792311 100644 --- a/schemas/products/service.schema.tpl.json +++ b/schemas/products/service.schema.tpl.json @@ -7,35 +7,19 @@ "type" ], "properties": { - "custodian": { + "contribution": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all parties that fulfill the role of a custodian for the service, typically an organization.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "deploymentProtocol": { - "_instruction": "Add the protocol or workflow recipe that should be used to deploy this service.", - "_linkedTypes": [ - "core:Protocol", - "computation:WorkflowRecipe" + "_instruction": "Add all contributions to this service.", + "_embeddedTypes": [ + "core:Contribution" ] }, "description": { "type": "string", "_instruction": "Enter a description (or abstract) of this service." }, - "feature": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add the main features of this service.", - "_linkedTypes": [ - "controlledTerms:SoftwareFeature" - ] - }, "fullDocumentation": { "_instruction": "Add the publication or file that acts as the full documentation of this service.", "_linkedTypes": [ @@ -49,15 +33,6 @@ "type": "string", "_instruction": "Enter a descriptive full name (or title) for this service." }, - "funding": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all funding information of this service.", - "_linkedTypes": [ - "core:Funding" - ] - }, "howToCite": { "type": "string", "_instruction": "Enter the preferred citation text for this service." @@ -87,6 +62,7 @@ "_instruction": "Add the scope of this service, i.e., what analysis methods does it perform, what kinds of experimental data is it intended for.", "_linkedTypes": [ "controlledTerms:AnalysisTechnique", + "controlledTerms:DataType", "controlledTerms:ExperimentalApproach", "controlledTerms:Technique" ] diff --git a/schemas/products/softwareVersion.schema.tpl.json b/schemas/products/softwareVersion.schema.tpl.json index 90b28478..8ca57079 100644 --- a/schemas/products/softwareVersion.schema.tpl.json +++ b/schemas/products/softwareVersion.schema.tpl.json @@ -4,54 +4,14 @@ "_categories": [ "setupComponent" ], - "required": [ - "applicationCategory", - "device", - "feature", - "language", - "license", - "operatingSystem", - "programmingLanguage" - ], "properties": { - "applicationCategory": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all categories to which this software version belongs.", - "_linkedTypes": [ - "controlledTerms:SoftwareApplicationCategory" - ] - }, "dependency": { "type": "array", "minItems": 1, "uniqueItems": true, "_instruction": "Add all dependencies of this software version.", "_embeddedTypes": [ - "core:InterfaceDependency" - ], - "_linkedTypes": [ - "core:Interface", - "core:SoftwareVersion" - ] - }, - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this software version. Note that these developers will overwrite the developer list provided for the overarching software.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "device": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all operating devices compatible with this software version.", - "_linkedTypes": [ - "controlledTerms:OperatingDevice" + "core:Dependency" ] }, "digitalIdentifier": { @@ -62,34 +22,13 @@ "core:RRID" ] }, - "feature": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all distinguishing characteristics of this software version (e.g., performance, portability or functionality).", - "_linkedTypes": [ - "controlledTerms:SoftwareFeature" - ] - }, - "hasPart": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all software versions that supplement this software version.", - "_linkedTypes": [ - "core:ModelVersion", - "core:SoftwareVersion", - "sands:AnatomicalAtlasVersion", - "sands:CommonCoordinateFrameworkVersion" - ] - }, "implements": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all interfaces that are implemented by this software version.", + "_instruction": "Add all interface versions that are implemented by this software version.", "_linkedTypes": [ - "core:Interface" + "core:InterfaceVersion" ] }, "inputFormat": { @@ -131,13 +70,13 @@ "controlledTerms:Language" ] }, - "license": { + "operatingDevice": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all licenses of this software version.", + "_instruction": "Add all operating devices compatible with this software version.", "_linkedTypes": [ - "core:License" + "controlledTerms:OperatingDevice" ] }, "operatingSystem": { @@ -167,14 +106,18 @@ "controlledTerms:ProgrammingLanguage" ] }, - "requirement": { + "scope": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Enter any requirements of this software version that are not listed under the 'dependency' property.", - "items": { - "type": "string" - } + "_instruction": "Add terms that describe what this software version does.", + "_linkedTypes": [ + "controlledTerms:DataType", + "controlledTerms:ExperimentalApproach", + "controlledTerms:SoftwareApplicationCategory", + "controlledTerms:SoftwareFeature", + "controlledTerms:Technique" + ] } } } From 0371fbd26cdac5e662414566e14c60ef63e21807 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Thu, 12 Feb 2026 17:22:22 +0100 Subject: [PATCH 24/77] Update researchProductVersion.schema.tpl.json --- .../products/researchProductVersion.schema.tpl.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index cfd7daf7..c3e14138 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -19,6 +19,12 @@ "core:Accessibility" ] }, + "copyright": { + "_instruction": "Enter the copyright information of this research product version.", + "_embeddedTypes": [ + "core:Copyright" + ] + }, "contribution": { "type": "array", "minItems": 1, @@ -83,6 +89,12 @@ "keyword" ] }, + "publicationStatus": { + "_instruction": "Add the relevant publication status indicating the current lifecycle state of the resource (published, embargoed, disposed, retracted, etc.).", + "_linkedTypes": [ + "core:PublicationStatus" + ] + }, "relatedPublication": { "type": "array", "minItems": 1, From e4e342dd1786def0f18a294579d5b1e31fb023c8 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Thu, 12 Feb 2026 17:24:33 +0100 Subject: [PATCH 25/77] sort keys alphabetically --- .../products/researchProductVersion.schema.tpl.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index c3e14138..1c181c86 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -19,12 +19,6 @@ "core:Accessibility" ] }, - "copyright": { - "_instruction": "Enter the copyright information of this research product version.", - "_embeddedTypes": [ - "core:Copyright" - ] - }, "contribution": { "type": "array", "minItems": 1, @@ -43,6 +37,12 @@ "core:Affiliation" ] }, + "copyright": { + "_instruction": "Enter the copyright information of this research product version.", + "_embeddedTypes": [ + "core:Copyright" + ] + }, "description": { "type": "string", "_instruction": "Enter a description (or abstract) of this research product version. If provided, this value overrides the inherited value from the version-independent product." From b2071272283aa997c52ffa94950c7391f108f892 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Thu, 12 Feb 2026 17:26:18 +0100 Subject: [PATCH 26/77] Update instruction for type in organization.schema.tpl.json --- schemas/actors/organization.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index c5289eba..a6db2796 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -71,7 +71,7 @@ "_instruction": "Enter the organization’s preferred name for use in international contexts." }, "type": { - "_instruction": "Add the type of this organization (e.g., company, non-profit organization, government).", + "_instruction": "Add the type of this organization (legal entity or organizational unit).", "_embeddedTypes": [ "controlledTerms:OrganizationType" ] From e1429d94ac440b21d0f70cbb8bba2fc01d6e684f Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Sun, 15 Feb 2026 22:35:24 +0100 Subject: [PATCH 27/77] Following changes in SANDS, rename BrainAtlasVersion to AnatomicalAtlasVersion --- schemas/research/protocolExecution.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/research/protocolExecution.schema.tpl.json b/schemas/research/protocolExecution.schema.tpl.json index 2a158664..dd950e01 100644 --- a/schemas/research/protocolExecution.schema.tpl.json +++ b/schemas/research/protocolExecution.schema.tpl.json @@ -19,7 +19,7 @@ "core:SubjectState", "core:TissueSampleCollectionState", "core:TissueSampleState", - "sands:BrainAtlasVersion", + "sands:AnatomicalAtlasVersion", "sands:CommonCoordinateSpaceVersion" ] }, From c502e42c2253961da189ccbcfcacbf56fb0f7426 Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Sun, 15 Feb 2026 22:41:51 +0100 Subject: [PATCH 28/77] Following changes in SANDS, rename CommonCoordinateSpaceVersion to CommonCoordinateFrameworkVersion --- schemas/research/protocolExecution.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/research/protocolExecution.schema.tpl.json b/schemas/research/protocolExecution.schema.tpl.json index dd950e01..f03466d0 100644 --- a/schemas/research/protocolExecution.schema.tpl.json +++ b/schemas/research/protocolExecution.schema.tpl.json @@ -20,7 +20,7 @@ "core:TissueSampleCollectionState", "core:TissueSampleState", "sands:AnatomicalAtlasVersion", - "sands:CommonCoordinateSpaceVersion" + "sands:CommonCoordinateFrameworkVersion" ] }, "output": { From 9367ab51c42afc8c119a6eb70f646ed26f6582a5 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:03:11 +0100 Subject: [PATCH 29/77] Apply suggestion from @lzehl Co-authored-by: Lyuba Zehl --- schemas/actors/contribution.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index a0d1cdc6..d43f5367 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -9,7 +9,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all contributors who performed this contribution.", + "_instruction": "Add all contributors who made this contribution, in the desired display order.", "_linkedCategories": [ "actor" ] From 21f8598b462d2982b40f44bcadd410b1d5c470b6 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:11:01 +0100 Subject: [PATCH 30/77] Update person.schema.tpl.json --- schemas/actors/person.schema.tpl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/actors/person.schema.tpl.json b/schemas/actors/person.schema.tpl.json index cab6a137..a521fd96 100644 --- a/schemas/actors/person.schema.tpl.json +++ b/schemas/actors/person.schema.tpl.json @@ -38,8 +38,8 @@ "minItems": 1, "uniqueItems": true, "_instruction": "Add all globally unique and persistent digital identifier of this person.", - "_linkedTypes": [ - "core:ORCID" + "_linkedCategories": [ + "personIdentifier" ] }, "familyName": { From 0d8cdb1aa741d3acecaff55d6928eb410e41feac Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:20:03 +0100 Subject: [PATCH 31/77] Add personIdentifier category --- schemas/digitalIdentifier/ORCID.schema.tpl.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/schemas/digitalIdentifier/ORCID.schema.tpl.json b/schemas/digitalIdentifier/ORCID.schema.tpl.json index d1dc54ca..d3a6e30a 100644 --- a/schemas/digitalIdentifier/ORCID.schema.tpl.json +++ b/schemas/digitalIdentifier/ORCID.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:ORCID", + "_categories": [ + "personIdentifier" + ], "required": [ "identifier" ], From 281dfa9606f2f659e579407514099838a7b0d97d Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Thu, 19 Feb 2026 09:07:31 +0100 Subject: [PATCH 32/77] Update interface.schema.tpl.json --- schemas/products/interface.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/products/interface.schema.tpl.json b/schemas/products/interface.schema.tpl.json index c11c8608..17ab9913 100644 --- a/schemas/products/interface.schema.tpl.json +++ b/schemas/products/interface.schema.tpl.json @@ -15,7 +15,7 @@ "interfaceType": { "_instruction": "Enter the type of this interface.", "_linkedTypes": [ - "controlledTerms:InterfaceType" + "controlledTerms:CommunicationInterfaceType" ] } } From 182c84f272edbc48236e5fca7f1e3d10514aaa44 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Thu, 19 Feb 2026 10:38:47 +0100 Subject: [PATCH 33/77] Update service.schema.tpl.json --- schemas/products/service.schema.tpl.json | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json index 49792311..b7448ff6 100644 --- a/schemas/products/service.schema.tpl.json +++ b/schemas/products/service.schema.tpl.json @@ -60,11 +60,8 @@ "minItems": 1, "uniqueItems": true, "_instruction": "Add the scope of this service, i.e., what analysis methods does it perform, what kinds of experimental data is it intended for.", - "_linkedTypes": [ - "controlledTerms:AnalysisTechnique", - "controlledTerms:DataType", - "controlledTerms:ExperimentalApproach", - "controlledTerms:Technique" + "_linkedCategories": [ + "toolScope" ] }, "shortName": { @@ -83,12 +80,6 @@ "iri" ] } - }, - "type": { - "_instruction": "Add the service type.", - "_linkedTypes": [ - "controlledTerms:ServiceType" - ] } } } From 36b82e1b0a9bb0b326499c7f4db32b258f3b0f69 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Thu, 19 Feb 2026 10:40:44 +0100 Subject: [PATCH 34/77] Update service.schema.tpl.json --- schemas/products/service.schema.tpl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json index b7448ff6..76cd00be 100644 --- a/schemas/products/service.schema.tpl.json +++ b/schemas/products/service.schema.tpl.json @@ -3,8 +3,8 @@ "required": [ "fullDocumentation", "fullName", - "shortName", - "type" + "scope", + "shortName" ], "properties": { "contribution": { From dc88cc8676f152c58f605f075509b91c5d7eb2c6 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Thu, 19 Feb 2026 10:42:54 +0100 Subject: [PATCH 35/77] Update softwareVersion.schema.tpl.json --- schemas/products/softwareVersion.schema.tpl.json | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/schemas/products/softwareVersion.schema.tpl.json b/schemas/products/softwareVersion.schema.tpl.json index 8ca57079..a8126e8c 100644 --- a/schemas/products/softwareVersion.schema.tpl.json +++ b/schemas/products/softwareVersion.schema.tpl.json @@ -4,6 +4,9 @@ "_categories": [ "setupComponent" ], + "required": [ + "scope" + ], "properties": { "dependency": { "type": "array", @@ -111,12 +114,8 @@ "minItems": 1, "uniqueItems": true, "_instruction": "Add terms that describe what this software version does.", - "_linkedTypes": [ - "controlledTerms:DataType", - "controlledTerms:ExperimentalApproach", - "controlledTerms:SoftwareApplicationCategory", - "controlledTerms:SoftwareFeature", - "controlledTerms:Technique" + "_linkedCategories": [ + "toolScope" ] } } From 7e724d749107d4ffa5b6c8a782a8fcf739d7a3e1 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Thu, 19 Feb 2026 15:27:13 +0100 Subject: [PATCH 36/77] * Add new categories for identifiers * Add type poperty to project * Remove GRIDID.schema.tpl.json --- schemas/data/serviceLink.schema.tpl.json | 2 +- schemas/digitalIdentifier/DOI.schema.tpl.json | 4 +++- schemas/digitalIdentifier/GRIDID.schema.tpl.json | 16 ---------------- .../IdentifiersDotOrgID.schema.tpl.json | 3 +++ schemas/digitalIdentifier/RRID.schema.tpl.json | 4 +++- schemas/digitalIdentifier/SWHID.schema.tpl.json | 3 +++ .../digitalIdentifier/genericIdentifier.tpl.json | 7 +++++++ schemas/products/dataset.schema.tpl.json | 5 ++--- schemas/products/datasetVersion.schema.tpl.json | 5 ++--- schemas/products/metaDataModel.schema.tpl.json | 5 ++--- .../metaDataModelVersion.schema.tpl.json | 5 ++--- schemas/products/model.schema.tpl.json | 5 ++--- schemas/products/modelVersion.schema.tpl.json | 5 ++--- schemas/products/project.schema.tpl.json | 6 ++++++ .../researchProductVersion.schema.tpl.json | 2 +- schemas/products/software.schema.tpl.json | 6 ++---- schemas/products/softwareVersion.schema.tpl.json | 6 ++---- 17 files changed, 43 insertions(+), 46 deletions(-) delete mode 100644 schemas/digitalIdentifier/GRIDID.schema.tpl.json diff --git a/schemas/data/serviceLink.schema.tpl.json b/schemas/data/serviceLink.schema.tpl.json index 170935bb..26711eae 100644 --- a/schemas/data/serviceLink.schema.tpl.json +++ b/schemas/data/serviceLink.schema.tpl.json @@ -37,7 +37,7 @@ "service": { "_instruction": "Add the service in which the specified data can be opened.", "_linkedTypes": [ - "controlledTerms:Service" + "core:Service" ] } } diff --git a/schemas/digitalIdentifier/DOI.schema.tpl.json b/schemas/digitalIdentifier/DOI.schema.tpl.json index e79da05d..73cad9e1 100644 --- a/schemas/digitalIdentifier/DOI.schema.tpl.json +++ b/schemas/digitalIdentifier/DOI.schema.tpl.json @@ -1,7 +1,9 @@ { "_type": "core:DOI", "_categories": [ - "publicationReference" + "datasetIdentifier", + "publicationReference", + "toolIdentifier" ], "required": [ "identifier" diff --git a/schemas/digitalIdentifier/GRIDID.schema.tpl.json b/schemas/digitalIdentifier/GRIDID.schema.tpl.json deleted file mode 100644 index bf4a40ff..00000000 --- a/schemas/digitalIdentifier/GRIDID.schema.tpl.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "_type": "core:GRIDID", - "_category": [ - "organizationIdentifier" - ], - "required": [ - "identifier" - ], - "properties": { - "identifier": { - "type": "string", - "pattern": "^https:\/\/grid.ac\/institutes\/grid.[0-9]{1,}.([a-f0-9]{1,2})$", - "_instruction": "Enter the identifier for research organizations provided by the International Digital Object Identifier Foundation ('Global Research Identifier Database IDentifier'; GRIDID) as an internationalized resource identifier (IRI) following the defined pattern (i.e., 'https://grid.ac/institutes/' + GRIDID)." - } - } -} diff --git a/schemas/digitalIdentifier/IdentifiersDotOrgID.schema.tpl.json b/schemas/digitalIdentifier/IdentifiersDotOrgID.schema.tpl.json index f80daa06..6a116edc 100644 --- a/schemas/digitalIdentifier/IdentifiersDotOrgID.schema.tpl.json +++ b/schemas/digitalIdentifier/IdentifiersDotOrgID.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:IdentifiersDotOrgID", + "_categories": [ + "datasetIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/RRID.schema.tpl.json b/schemas/digitalIdentifier/RRID.schema.tpl.json index 1a645eb1..896f497a 100644 --- a/schemas/digitalIdentifier/RRID.schema.tpl.json +++ b/schemas/digitalIdentifier/RRID.schema.tpl.json @@ -1,7 +1,9 @@ { "_type": "core:RRID", "_category": [ - "organizationIdentifier" + "datasetIdentifier", + "organizationIdentifier", + "toolIdentifier" ], "required": [ "identifier" diff --git a/schemas/digitalIdentifier/SWHID.schema.tpl.json b/schemas/digitalIdentifier/SWHID.schema.tpl.json index 5bb841a4..719ead8a 100644 --- a/schemas/digitalIdentifier/SWHID.schema.tpl.json +++ b/schemas/digitalIdentifier/SWHID.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:SWHID", + "_category": [ + "toolIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/genericIdentifier.tpl.json b/schemas/digitalIdentifier/genericIdentifier.tpl.json index 02b34493..d4143011 100644 --- a/schemas/digitalIdentifier/genericIdentifier.tpl.json +++ b/schemas/digitalIdentifier/genericIdentifier.tpl.json @@ -1,5 +1,12 @@ { "_type": "core:GenericIdentifier", + "_categories": [ + "datasetIdentifier", + "personIdentifier", + "publicationReference", + "organizationIdentifier", + "toolIdentifier" + ], "required": [ "emitter", "identifier" diff --git a/schemas/products/dataset.schema.tpl.json b/schemas/products/dataset.schema.tpl.json index fd8555d1..2d1b354b 100644 --- a/schemas/products/dataset.schema.tpl.json +++ b/schemas/products/dataset.schema.tpl.json @@ -4,9 +4,8 @@ "properties": { "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", - "_linkedTypes": [ - "core:DOI", - "core:IdentifiersDotOrgID" + "_linkedCategories": [ + "datasetIdentifier" ] } } diff --git a/schemas/products/datasetVersion.schema.tpl.json b/schemas/products/datasetVersion.schema.tpl.json index 4ace70c8..01b79821 100644 --- a/schemas/products/datasetVersion.schema.tpl.json +++ b/schemas/products/datasetVersion.schema.tpl.json @@ -29,9 +29,8 @@ }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", - "_linkedTypes": [ - "core:DOI", - "core:IdentifiersDotOrgID" + "_linkedCategories": [ + "datasetIdentifier" ] }, "ethicsJurisdiction": { diff --git a/schemas/products/metaDataModel.schema.tpl.json b/schemas/products/metaDataModel.schema.tpl.json index f00486a6..b18fc2f8 100644 --- a/schemas/products/metaDataModel.schema.tpl.json +++ b/schemas/products/metaDataModel.schema.tpl.json @@ -4,9 +4,8 @@ "properties": { "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", - "_linkedTypes": [ - "core:DOI", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] } } diff --git a/schemas/products/metaDataModelVersion.schema.tpl.json b/schemas/products/metaDataModelVersion.schema.tpl.json index f342f80c..06589c2d 100644 --- a/schemas/products/metaDataModelVersion.schema.tpl.json +++ b/schemas/products/metaDataModelVersion.schema.tpl.json @@ -7,9 +7,8 @@ "properties": { "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", - "_linkedTypes": [ - "core:DOI", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] }, "isPrecededBy": { diff --git a/schemas/products/model.schema.tpl.json b/schemas/products/model.schema.tpl.json index 79ec9812..be9f50ff 100644 --- a/schemas/products/model.schema.tpl.json +++ b/schemas/products/model.schema.tpl.json @@ -15,9 +15,8 @@ }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", - "_linkedTypes": [ - "core:DOI", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] }, "scope": { diff --git a/schemas/products/modelVersion.schema.tpl.json b/schemas/products/modelVersion.schema.tpl.json index 56467e5d..d37a0a09 100644 --- a/schemas/products/modelVersion.schema.tpl.json +++ b/schemas/products/modelVersion.schema.tpl.json @@ -16,9 +16,8 @@ }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", - "_linkedTypes": [ - "core:DOI", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] }, "entryPoint": { diff --git a/schemas/products/project.schema.tpl.json b/schemas/products/project.schema.tpl.json index efcadbdf..1cb017c1 100644 --- a/schemas/products/project.schema.tpl.json +++ b/schemas/products/project.schema.tpl.json @@ -43,6 +43,12 @@ "shortName": { "type": "string", "_instruction": "Enter a short name (or alias) for this project that could be used as a shortened display title (e.g., for web services with too little space to display the full name)." + }, + "type": { + "_instruction": "Add the type of this project (e.g., research project, grant-funded project).", + "_linkedTypes": [ + "controlledTerms:ProjectType" + ] } } } diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index 1c181c86..fcc6da3f 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -48,7 +48,7 @@ "_instruction": "Enter a description (or abstract) of this research product version. If provided, this value overrides the inherited value from the version-independent product." }, "fullDocumentation": { - "_instruction": "Add the publication or file that acts as the full documentation of this research product version.", + "_instruction": "Add the publication or file that acts as the full documentation of this research product version. If provided, this value overrides the inherited value from the version-independent product.", "_linkedTypes": [ "core:DOI", "core:File", diff --git a/schemas/products/software.schema.tpl.json b/schemas/products/software.schema.tpl.json index 6114519d..3ec09df2 100644 --- a/schemas/products/software.schema.tpl.json +++ b/schemas/products/software.schema.tpl.json @@ -4,10 +4,8 @@ "properties": { "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", - "_linkedTypes": [ - "core:DOI", - "core:RRID", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] } } diff --git a/schemas/products/softwareVersion.schema.tpl.json b/schemas/products/softwareVersion.schema.tpl.json index 09ad6dd5..c34116ac 100644 --- a/schemas/products/softwareVersion.schema.tpl.json +++ b/schemas/products/softwareVersion.schema.tpl.json @@ -33,10 +33,8 @@ }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", - "_linkedTypes": [ - "core:DOI", - "core:SWHID", - "core:RRID" + "_linkedCategories": [ + "toolIdentifier" ] }, "feature": { From 7cfa243a209a935e64371e8f47dff5c2cbf22b77 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Thu, 14 Aug 2025 12:52:35 +0200 Subject: [PATCH 37/77] Draft for #513 Update of Actors, ResearchProducts,ResearchProductVersions, DigitalIdentifiers and their relationships. --- .../actors/contactInformation.schema.tpl.json | 6 +++ schemas/actors/contribution.schema.tpl.json | 12 +++--- ...ma.tpl.json => membership.schema.tpl.json} | 2 +- schemas/actors/organization.schema.tpl.json | 42 ++++++++++++++++--- schemas/actors/person.schema.tpl.json | 25 ++++++----- .../digitalIdentifier/ISNI.schema.tpl.json | 13 ++++++ schemas/digitalIdentifier/LEI.schema.tpl.json | 13 ++++++ schemas/products/dataset.schema.tpl.json | 12 ------ .../products/datasetVersion.schema.tpl.json | 9 ---- .../products/metaDataModel.schema.tpl.json | 12 ------ .../metaDataModelVersion.schema.tpl.json | 9 ---- schemas/products/model.schema.tpl.json | 10 ----- schemas/products/modelVersion.schema.tpl.json | 9 ---- schemas/products/project.schema.tpl.json | 11 +---- .../products/researchProduct.schema.tpl.json | 12 +++++- schemas/products/software.schema.tpl.json | 12 ------ 16 files changed, 101 insertions(+), 108 deletions(-) rename schemas/actors/{affiliation.schema.tpl.json => membership.schema.tpl.json} (95%) create mode 100644 schemas/digitalIdentifier/ISNI.schema.tpl.json create mode 100644 schemas/digitalIdentifier/LEI.schema.tpl.json diff --git a/schemas/actors/contactInformation.schema.tpl.json b/schemas/actors/contactInformation.schema.tpl.json index d569468c..ff03260d 100644 --- a/schemas/actors/contactInformation.schema.tpl.json +++ b/schemas/actors/contactInformation.schema.tpl.json @@ -4,6 +4,12 @@ "email" ], "properties": { + "address": { + "_instruction": "Enter the physical address of the party (e.g., of the person).", + "_linkedTypes": [ + "core:Location" + ] + }, "email": { "type": "string", "_formats": [ diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index 90722fde..a556f2a3 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -2,7 +2,7 @@ "_type": "core:Contribution", "required": [ "contributor", - "type" + "role" ], "properties": { "contributor": { @@ -10,12 +10,10 @@ "_linkedCategories": [ "legalPerson" ] - }, - "type": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add the party that performed the contribution.", + }, + "role": { + "type": "string", + "_instruction": "Add the role of the contributor that performed the contribution.", "_linkedTypes": [ "controlledTerms:ContributionType" ] diff --git a/schemas/actors/affiliation.schema.tpl.json b/schemas/actors/membership.schema.tpl.json similarity index 95% rename from schemas/actors/affiliation.schema.tpl.json rename to schemas/actors/membership.schema.tpl.json index ffb00ddc..a43b071f 100644 --- a/schemas/actors/affiliation.schema.tpl.json +++ b/schemas/actors/membership.schema.tpl.json @@ -1,5 +1,5 @@ { - "_type": "core:Affiliation", + "_type": "core:Membership", "required": [ "memberOf" ], diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index 583d5bbd..ed589df5 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -4,17 +4,29 @@ "legalPerson" ], "required": [ - "fullName" + "address", + "fullName", + "type" ], "properties": { - "affiliation": { + "address": { + "_instruction": "Enter the physical address of this organization.", + "_embeddedTypes": [ + "core:Jurisdiction" + ] + }, + "acronym": { + "type": "string", + "_instruction": "Enter the acronym of this organization." + }, + "alternateName": { "type": "array", + "items": { + "type": "string" + }, "minItems": 1, "uniqueItems": true, - "_instruction": "Enter all current and, if necessary, past affiliations of this organization.", - "_embeddedTypes": [ - "core:Affiliation" - ] + "_instruction": "Enter any other known full name of this organization." }, "digitalIdentifier": { "type": "array", @@ -23,6 +35,8 @@ "_instruction": "Add all globally unique and persistent digital identifier of this organization.", "_linkedTypes": [ "core:GRIDID", + "core:ISNI", + "core:LEI", "core:RORID", "core:RRID" ] @@ -47,9 +61,25 @@ ], "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this organization." }, + "memberOf": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Enter all current and, if necessary, past memberships of this organization.", + "_embeddedTypes": [ + "core:Membership" + ] + }, "shortName": { "type": "string", "_instruction": "Enter a short name (or alias) for this organization that could be used as a shortened display title (e.g., for web services with too little space to display the full name)." + }, + "type": { + "type": "string", + "_instruction": "Enter the type of this organization (e.g., company, non-profit organization, government).", + "_embeddedTypes": [ + "controlledTerms:LegalEntityType" + ] } } } diff --git a/schemas/actors/person.schema.tpl.json b/schemas/actors/person.schema.tpl.json index bd503e0a..68546bd1 100644 --- a/schemas/actors/person.schema.tpl.json +++ b/schemas/actors/person.schema.tpl.json @@ -5,18 +5,10 @@ "legalPerson" ], "required": [ + "fullName", "givenName" ], - "properties": { - "affiliation": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Enter all current and, if desired, past affiliations of this person.", - "_embeddedTypes": [ - "core:Affiliation" - ] - }, + "properties": { "alternateName": { "type": "array", "items": { @@ -54,9 +46,22 @@ "type": "string", "_instruction": "Enter the family name of this person." }, + "fullName": { + "type": "string", + "_instruction": "Enter the full name of this person." + }, "givenName": { "type": "string", "_instruction": "Enter the given name of this person." + }, + "memberOf": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Enter all current and, if desired, past memberships of this person.", + "_embeddedTypes": [ + "core:Membership" + ] } } } diff --git a/schemas/digitalIdentifier/ISNI.schema.tpl.json b/schemas/digitalIdentifier/ISNI.schema.tpl.json new file mode 100644 index 00000000..32ad8d35 --- /dev/null +++ b/schemas/digitalIdentifier/ISNI.schema.tpl.json @@ -0,0 +1,13 @@ +{ + "_type": "core:ISNI", + "required": [ + "identifier" + ], + "properties": { + "identifier": { + "type": "string", + "pattern": "^https?://(www.)?isni.org/(isni/)?\\d{15}[\\dX]$)", + "_instruction": "Enter the identifier for legal entities provided by the International Standard Name Identifier Assignment Agency ('International Standard Name Identifier'; ISNI) as an internationalized resource identifier (IRI) following the defined pattern (i.e., 'https://isni.org/' + ISNI)." + } + } +} diff --git a/schemas/digitalIdentifier/LEI.schema.tpl.json b/schemas/digitalIdentifier/LEI.schema.tpl.json new file mode 100644 index 00000000..4aeeb920 --- /dev/null +++ b/schemas/digitalIdentifier/LEI.schema.tpl.json @@ -0,0 +1,13 @@ +{ + "_type": "core:LEI", + "required": [ + "identifier" + ], + "properties": { + "identifier": { + "type": "string", + "pattern": "^https://lei.global/LEI/[A-Z0-9]{18}\\d{2}$", + "_instruction": "Enter the identifier for legal entities provided by a local operating unit delegated by the Global Legal Entity Identifier Foundation ('Legal Entity Identifier'; LEI) as an internationalized resource identifier (IRI) following the defined pattern (i.e., 'https://lei.global/LEI/' + LEI)." + } + } +} diff --git a/schemas/products/dataset.schema.tpl.json b/schemas/products/dataset.schema.tpl.json index c8e14074..fd8555d1 100644 --- a/schemas/products/dataset.schema.tpl.json +++ b/schemas/products/dataset.schema.tpl.json @@ -1,19 +1,7 @@ { "_type": "core:Dataset", "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "author" - ], "properties": { - "author": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that contributed to this dataset as authors.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", "_linkedTypes": [ diff --git a/schemas/products/datasetVersion.schema.tpl.json b/schemas/products/datasetVersion.schema.tpl.json index ca73b86c..a5e25e58 100644 --- a/schemas/products/datasetVersion.schema.tpl.json +++ b/schemas/products/datasetVersion.schema.tpl.json @@ -9,15 +9,6 @@ "technique" ], "properties": { - "author": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that contributed to this dataset version as authors. Note that these authors will overwrite the author list provided for the overarching dataset.", - "_linkedCategories": [ - "legalPerson" - ] - }, "behavioralProtocol": { "type": "array", "minItems": 1, diff --git a/schemas/products/metaDataModel.schema.tpl.json b/schemas/products/metaDataModel.schema.tpl.json index 8c7b8edc..f00486a6 100644 --- a/schemas/products/metaDataModel.schema.tpl.json +++ b/schemas/products/metaDataModel.schema.tpl.json @@ -1,19 +1,7 @@ { "_type": "core:MetaDataModel", "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "developer" - ], "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this (meta)data model.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", "_linkedTypes": [ diff --git a/schemas/products/metaDataModelVersion.schema.tpl.json b/schemas/products/metaDataModelVersion.schema.tpl.json index dd781a19..f342f80c 100644 --- a/schemas/products/metaDataModelVersion.schema.tpl.json +++ b/schemas/products/metaDataModelVersion.schema.tpl.json @@ -5,15 +5,6 @@ "type" ], "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this (meta)data model version. Note that these developers will overwrite the developer list provided for the overarching (meta)data model.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", "_linkedTypes": [ diff --git a/schemas/products/model.schema.tpl.json b/schemas/products/model.schema.tpl.json index 892b3c80..79ec9812 100644 --- a/schemas/products/model.schema.tpl.json +++ b/schemas/products/model.schema.tpl.json @@ -3,7 +3,6 @@ "_extends": "products/researchProduct.schema.tpl.json", "required": [ "abstractionLevel", - "developer", "scope", "studyTarget" ], @@ -14,15 +13,6 @@ "controlledTerms:ModelAbstractionLevel" ] }, - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this computational model.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", "_linkedTypes": [ diff --git a/schemas/products/modelVersion.schema.tpl.json b/schemas/products/modelVersion.schema.tpl.json index b4165d06..56467e5d 100644 --- a/schemas/products/modelVersion.schema.tpl.json +++ b/schemas/products/modelVersion.schema.tpl.json @@ -14,15 +14,6 @@ "core:WebResource" ] }, - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this computational model version. Note that these developers will overwrite the developer list provided for the overarching computational model.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", "_linkedTypes": [ diff --git a/schemas/products/project.schema.tpl.json b/schemas/products/project.schema.tpl.json index 2ad1318f..c2295946 100644 --- a/schemas/products/project.schema.tpl.json +++ b/schemas/products/project.schema.tpl.json @@ -6,16 +6,7 @@ "hasPart", "shortName" ], - "properties": { - "coordinator": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that coordinate this project.", - "_linkedCategories": [ - "legalPerson" - ] - }, + "properties": { "description": { "type": "string", "_instruction": "Enter a description of this project." diff --git a/schemas/products/researchProduct.schema.tpl.json b/schemas/products/researchProduct.schema.tpl.json index c8149844..4544dcb5 100644 --- a/schemas/products/researchProduct.schema.tpl.json +++ b/schemas/products/researchProduct.schema.tpl.json @@ -3,11 +3,21 @@ "researchProduct" ], "required": [ - "description", + "contribution", + "description", "fullName", "shortName" ], "properties": { + "contribution": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all the contributions made to this research product.", + "_embeddedTypes": [ + "core:Contribution" + ] + }, "custodian": { "type": "array", "minItems": 1, diff --git a/schemas/products/software.schema.tpl.json b/schemas/products/software.schema.tpl.json index 2f2e927d..6114519d 100644 --- a/schemas/products/software.schema.tpl.json +++ b/schemas/products/software.schema.tpl.json @@ -1,19 +1,7 @@ { "_type": "core:Software", "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "developer" - ], "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this software.", - "_linkedCategories": [ - "legalPerson" - ] - }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", "_linkedTypes": [ From 7e15016f385f23180e5d27f0add88c9106996188 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Thu, 14 Aug 2025 13:15:40 +0200 Subject: [PATCH 38/77] Update contribution.schema.tpl.json --- schemas/actors/contribution.schema.tpl.json | 1 - 1 file changed, 1 deletion(-) diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index a556f2a3..0c54a248 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -12,7 +12,6 @@ ] }, "role": { - "type": "string", "_instruction": "Add the role of the contributor that performed the contribution.", "_linkedTypes": [ "controlledTerms:ContributionType" From 585c955f73472c92fc30f1ece9beea54e8c14a7e Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Thu, 14 Aug 2025 14:48:58 +0200 Subject: [PATCH 39/77] Update organization.schema.tpl.json --- schemas/actors/organization.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index ed589df5..56acdaf5 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -12,7 +12,7 @@ "address": { "_instruction": "Enter the physical address of this organization.", "_embeddedTypes": [ - "core:Jurisdiction" + "core:Location" ] }, "acronym": { From d5bf70d4977b5da6cfbdd3c39713536ba1074985 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 12 Nov 2025 19:44:45 +0100 Subject: [PATCH 40/77] Update to E_mod1 #513 --- schemas/actors/affiliation.schema.tpl.json | 24 +++++++++++++ schemas/actors/consortium.schema.tpl.json | 2 +- .../actors/contactInformation.schema.tpl.json | 19 +++++----- schemas/actors/contribution.schema.tpl.json | 11 +++--- schemas/actors/membership.schema.tpl.json | 29 --------------- schemas/actors/organization.schema.tpl.json | 26 +++++++------- schemas/actors/person.schema.tpl.json | 1 + .../digitalIdentifier/GRIDID.schema.tpl.json | 3 ++ .../digitalIdentifier/ISNI.schema.tpl.json | 3 ++ schemas/digitalIdentifier/LEI.schema.tpl.json | 3 ++ .../digitalIdentifier/RORID.schema.tpl.json | 3 ++ .../digitalIdentifier/RRID.schema.tpl.json | 3 ++ .../genericIdentifier.tpl.json | 4 ++- .../products/researchProduct.schema.tpl.json | 12 +++---- .../researchProductVersion.schema.tpl.json | 36 +++++-------------- 15 files changed, 87 insertions(+), 92 deletions(-) create mode 100644 schemas/actors/affiliation.schema.tpl.json delete mode 100644 schemas/actors/membership.schema.tpl.json diff --git a/schemas/actors/affiliation.schema.tpl.json b/schemas/actors/affiliation.schema.tpl.json new file mode 100644 index 00000000..4e864d55 --- /dev/null +++ b/schemas/actors/affiliation.schema.tpl.json @@ -0,0 +1,24 @@ +{ + "_type": "core:Affiliation", + "required": [ + "person", + "organization" + ], + "properties": { + "person": { + "_instruction": "Add the person who is affiliated with the organizations", + "_linkedTypes": [ + "core:Person" + ] + }, + "organization": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all the organizations that the person is affiliated with", + "_linkedTypes": [ + "core:Organization" + ] + } + } +} diff --git a/schemas/actors/consortium.schema.tpl.json b/schemas/actors/consortium.schema.tpl.json index fb465480..2512e121 100644 --- a/schemas/actors/consortium.schema.tpl.json +++ b/schemas/actors/consortium.schema.tpl.json @@ -1,7 +1,7 @@ { "_type": "core:Consortium", "_categories": [ - "legalPerson" + "actor" ], "required": [ "fullName" diff --git a/schemas/actors/contactInformation.schema.tpl.json b/schemas/actors/contactInformation.schema.tpl.json index ff03260d..3ecb6b34 100644 --- a/schemas/actors/contactInformation.schema.tpl.json +++ b/schemas/actors/contactInformation.schema.tpl.json @@ -4,17 +4,16 @@ "email" ], "properties": { - "address": { - "_instruction": "Enter the physical address of the party (e.g., of the person).", - "_linkedTypes": [ - "core:Location" - ] - }, "email": { - "type": "string", - "_formats": [ - "email" - ], + "type": "array", + "items": { + "type": "string", + "_formats": [ + "email" + ] + }, + "minItems": 1, + "uniqueItems": true, "_instruction": "Enter the email address of the party (e.g., of the person)." } } diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index 0c54a248..c649ee92 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -2,17 +2,20 @@ "_type": "core:Contribution", "required": [ "contributor", - "role" + "type" ], "properties": { "contributor": { - "_instruction": "Add all types of contribution made by the stated 'contributor'.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all the contributors who performed this contribution.", "_linkedCategories": [ "legalPerson" ] }, - "role": { - "_instruction": "Add the role of the contributor that performed the contribution.", + "type": { + "_instruction": "Enter the type of contribution.", "_linkedTypes": [ "controlledTerms:ContributionType" ] diff --git a/schemas/actors/membership.schema.tpl.json b/schemas/actors/membership.schema.tpl.json deleted file mode 100644 index a43b071f..00000000 --- a/schemas/actors/membership.schema.tpl.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "_type": "core:Membership", - "required": [ - "memberOf" - ], - "properties": { - "endDate": { - "type": "string", - "_formats": [ - "date" - ], - "_instruction": "Enter the end date of this affiliation, formatted as 'YYYY-MM-DD'. Leave blank if this affiliation is still current." - }, - "memberOf": { - "_instruction": "Add the organization or consortium another party was or still is a member of.", - "_linkedTypes": [ - "core:Consortium", - "core:Organization" - ] - }, - "startDate": { - "type": "string", - "_formats": [ - "date" - ], - "_instruction": "Enter the start date of this affiliation, formatted as 'YYYY-MM-DD'." - } - } -} diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index 56acdaf5..76a145a8 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -1,6 +1,7 @@ { "_type": "core:Organization", "_categories": [ + "actor", "legalPerson" ], "required": [ @@ -33,18 +34,20 @@ "minItems": 1, "uniqueItems": true, "_instruction": "Add all globally unique and persistent digital identifier of this organization.", - "_linkedTypes": [ - "core:GRIDID", - "core:ISNI", - "core:LEI", - "core:RORID", - "core:RRID" + "_linkedCategories": [ + "organizationIdentifier" ] }, "fullName": { "type": "string", "_instruction": "Enter the full name of this organization." }, + "location": { + "_instruction": "Enter the location of this organization.", + "_linkedTypes": [ + "core:Location" + ] + }, "hasParent": { "type": "array", "minItems": 1, @@ -61,13 +64,10 @@ ], "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this organization." }, - "memberOf": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Enter all current and, if necessary, past memberships of this organization.", - "_embeddedTypes": [ - "core:Membership" + "jurisdiction": { + "_instruction": "Enter the jurisdiction where this organization is based.", + "_linkedCategories": [ + "jurisdiction" ] }, "shortName": { diff --git a/schemas/actors/person.schema.tpl.json b/schemas/actors/person.schema.tpl.json index 68546bd1..e4a973ab 100644 --- a/schemas/actors/person.schema.tpl.json +++ b/schemas/actors/person.schema.tpl.json @@ -1,6 +1,7 @@ { "_type": "core:Person", "_categories": [ + "actor", "agent", "legalPerson" ], diff --git a/schemas/digitalIdentifier/GRIDID.schema.tpl.json b/schemas/digitalIdentifier/GRIDID.schema.tpl.json index 9e6f85a5..bf4a40ff 100644 --- a/schemas/digitalIdentifier/GRIDID.schema.tpl.json +++ b/schemas/digitalIdentifier/GRIDID.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:GRIDID", + "_category": [ + "organizationIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/ISNI.schema.tpl.json b/schemas/digitalIdentifier/ISNI.schema.tpl.json index 32ad8d35..31ee028b 100644 --- a/schemas/digitalIdentifier/ISNI.schema.tpl.json +++ b/schemas/digitalIdentifier/ISNI.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:ISNI", + "_category": [ + "organizationIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/LEI.schema.tpl.json b/schemas/digitalIdentifier/LEI.schema.tpl.json index 4aeeb920..3c35485a 100644 --- a/schemas/digitalIdentifier/LEI.schema.tpl.json +++ b/schemas/digitalIdentifier/LEI.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:LEI", + "_category": [ + "organizationIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/RORID.schema.tpl.json b/schemas/digitalIdentifier/RORID.schema.tpl.json index 694a396f..ecbcadfd 100644 --- a/schemas/digitalIdentifier/RORID.schema.tpl.json +++ b/schemas/digitalIdentifier/RORID.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:RORID", + "_category": [ + "organizationIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/RRID.schema.tpl.json b/schemas/digitalIdentifier/RRID.schema.tpl.json index 42380cb6..1a645eb1 100644 --- a/schemas/digitalIdentifier/RRID.schema.tpl.json +++ b/schemas/digitalIdentifier/RRID.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:RRID", + "_category": [ + "organizationIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/genericIdentifier.tpl.json b/schemas/digitalIdentifier/genericIdentifier.tpl.json index 768b3a50..02b34493 100644 --- a/schemas/digitalIdentifier/genericIdentifier.tpl.json +++ b/schemas/digitalIdentifier/genericIdentifier.tpl.json @@ -7,7 +7,9 @@ "properties": { "emitter": { "_instruction": "Add the organization that governs and/or emits the identifier.", - "_linkedTypes": ["core:Organization"] + "_linkedTypes": [ + "core:Organization" + ] }, "identifier": { "type": "string", diff --git a/schemas/products/researchProduct.schema.tpl.json b/schemas/products/researchProduct.schema.tpl.json index 4544dcb5..a743fa17 100644 --- a/schemas/products/researchProduct.schema.tpl.json +++ b/schemas/products/researchProduct.schema.tpl.json @@ -13,18 +13,18 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the contributions made to this research product.", + "_instruction": "Add all the contributions made to this research product version.", "_embeddedTypes": [ "core:Contribution" ] }, - "custodian": { - "type": "array", + "contributorAffiliation": { + "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all parties that fulfill the role of a custodian for this research product (e.g., a research group leader or principle investigator). Custodians are typically the main contact in case of misconduct, obtain permission from the contributors to publish personal information, and maintain the content and quality of the data, metadata, and/or code of the research product. Unless specified differently, this custodian will be responsible for all attached research product versions.", - "_linkedCategories": [ - "legalPerson" + "_instruction": "Add all the affiliations of the contributors to this research product version.", + "_embeddedTypes": [ + "core:Affiliation" ] }, "description": { diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index 3d26b4df..e044310b 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -4,6 +4,7 @@ ], "required": [ "accessibility", + "contribution", "fullDocumentation", "isVersionOf", "releaseDate", @@ -18,13 +19,13 @@ "core:Accessibility" ] }, - "custodian": { + "contributorAffiliation": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all parties that fulfill the role of a custodian for the research product version (e.g., a research group leader or principle investigator). Custodians are typically the main contact in case of misconduct, obtain permission from the contributors to publish personal information, and maintain the content and quality of the data, metadata, and/or code of the research product version.", - "_linkedCategories": [ - "legalPerson" + "_instruction": "Add all the affiliations of the contributors to this research product version.", + "_embeddedTypes": [ + "core:Affiliation" ] }, "description": { @@ -53,7 +54,7 @@ "core:Funding" ] }, - "homepage": { + "homepage": { "type": "string", "_formats": [ "iri" @@ -65,35 +66,14 @@ "_instruction": "Enter the preferred citation text for this research product version. Leave blank if citation text can be extracted from the assigned digital identifier." }, "keyword": { - "type": "array", - "minItems": 1, + "type": "array", + "minItems": 1, "uniqueItems": true, "_instruction": "Add all relevant keywords to this research product version either by adding controlled terms or by suggesting new terms.", "_linkedCategories": [ "keyword" ] }, - "copyright": { - "_instruction": "Enter the copyright information of this research product version.", - "_embeddedTypes": [ - "core:Copyright" - ] - }, - "otherContribution": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add any other contributions to this research product version that are not covered under 'author'/'developer' or 'custodian'.", - "_embeddedTypes": [ - "core:Contribution" - ] - }, - "publicationStatus": { - "_instruction": "Add the relevant publication status indicating the current lifecycle state of the resource (published, embargoed, disposed, retracted, etc.).", - "_linkedTypes": [ - "core:PublicationStatus" - ] - }, "relatedPublication": { "type": "array", "minItems": 1, From 4da145816ec8aa68c5379ab4186f544cfb8613d1 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 12 Nov 2025 19:59:26 +0100 Subject: [PATCH 41/77] Update person schema and add location information to organization schema. --- schemas/actors/organization.schema.tpl.json | 10 ++++++++-- schemas/actors/person.schema.tpl.json | 22 ++++++--------------- schemas/products/project.schema.tpl.json | 9 +++++++++ 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index 76a145a8..7d40fb88 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -5,7 +5,7 @@ "legalPerson" ], "required": [ - "address", + "countryOfFormation", "fullName", "type" ], @@ -29,6 +29,12 @@ "uniqueItems": true, "_instruction": "Enter any other known full name of this organization." }, + "countryOfFormation": { + "_instruction": "Enter the country where this organization was created.", + "_linkedTypes": [ + "controlledTerms:SovereignState" + ] + }, "digitalIdentifier": { "type": "array", "minItems": 1, @@ -43,7 +49,7 @@ "_instruction": "Enter the full name of this organization." }, "location": { - "_instruction": "Enter the location of this organization.", + "_instruction": "Enter the location of the headquarters of this organization.", "_linkedTypes": [ "core:Location" ] diff --git a/schemas/actors/person.schema.tpl.json b/schemas/actors/person.schema.tpl.json index e4a973ab..cab6a137 100644 --- a/schemas/actors/person.schema.tpl.json +++ b/schemas/actors/person.schema.tpl.json @@ -6,8 +6,7 @@ "legalPerson" ], "required": [ - "fullName", - "givenName" + "preferredName" ], "properties": { "alternateName": { @@ -45,24 +44,15 @@ }, "familyName": { "type": "string", - "_instruction": "Enter the family name of this person." - }, - "fullName": { - "type": "string", - "_instruction": "Enter the full name of this person." + "_instruction": "Enter the family name, surname, or equivalent of this person." }, "givenName": { "type": "string", - "_instruction": "Enter the given name of this person." + "_instruction": "Enter the given name(s) of this person, or a name chosen in place of the given name. At least one of the names should be spelled out in full; initials may be used for the others." }, - "memberOf": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Enter all current and, if desired, past memberships of this person.", - "_embeddedTypes": [ - "core:Membership" - ] + "preferredName": { + "type": "string", + "_instruction": "Enter the person’s preferred way to write their name in a professional context. It is recommended to place given before family name separated by space." } } } diff --git a/schemas/products/project.schema.tpl.json b/schemas/products/project.schema.tpl.json index c2295946..d5683899 100644 --- a/schemas/products/project.schema.tpl.json +++ b/schemas/products/project.schema.tpl.json @@ -7,6 +7,15 @@ "shortName" ], "properties": { + "coordinator": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all parties that coordinate this project.", + "_linkedCategories": [ + "legalPerson" + ] + }, "description": { "type": "string", "_instruction": "Enter a description of this project." From 8de4cb31b7e9b09c1b2b3079295fb910f08b9c51 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 12 Nov 2025 20:14:01 +0100 Subject: [PATCH 42/77] Removal of Location added with another PR. --- .../miscellaneous/location.schema.tpl.json | 24 ------------------- 1 file changed, 24 deletions(-) delete mode 100644 schemas/miscellaneous/location.schema.tpl.json diff --git a/schemas/miscellaneous/location.schema.tpl.json b/schemas/miscellaneous/location.schema.tpl.json deleted file mode 100644 index c3babf00..00000000 --- a/schemas/miscellaneous/location.schema.tpl.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "_type": "core:Location", - "required": [ - "country" - ], - "properties": { - "address": { - "type": "string", - "_instruction": "Enter the address of the location, in the format [Street address], City, [Region/State], [Postal code]. The minimum requested information is City." - }, - "country": { - "_instruction": "Enter the country in which the location is found.", - "_linkedTypes": [ - "controlledTerms:SovereignState" - ] - }, - "geoCoordinates": { - "_instruction": "Enter the geographic coordinates of the location.", - "_embeddedTypes": [ - "core:GeoCoordinates" - ] - } - } -} From f3ac808aa39225ffa883100aa3ea7b99bdf4e1da Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Fri, 14 Nov 2025 10:24:41 +0100 Subject: [PATCH 43/77] Update to actor (Consortium is not a legalPerson) --- schemas/miscellaneous/funding.schema.tpl.json | 2 +- schemas/products/project.schema.tpl.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/miscellaneous/funding.schema.tpl.json b/schemas/miscellaneous/funding.schema.tpl.json index 2963fabd..40a9435e 100644 --- a/schemas/miscellaneous/funding.schema.tpl.json +++ b/schemas/miscellaneous/funding.schema.tpl.json @@ -19,7 +19,7 @@ "funder": { "_instruction": "Add the party that provided this funding.", "_linkedCategories": [ - "legalPerson" + "actor" ] } } diff --git a/schemas/products/project.schema.tpl.json b/schemas/products/project.schema.tpl.json index d5683899..efcadbdf 100644 --- a/schemas/products/project.schema.tpl.json +++ b/schemas/products/project.schema.tpl.json @@ -13,7 +13,7 @@ "uniqueItems": true, "_instruction": "Add all parties that coordinate this project.", "_linkedCategories": [ - "legalPerson" + "actor" ] }, "description": { From 084168f455165fdd7a705f5540446dd29df778f4 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Fri, 14 Nov 2025 10:47:50 +0100 Subject: [PATCH 44/77] Missing cleanup namespace. --- schemas/data/serviceLink.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/data/serviceLink.schema.tpl.json b/schemas/data/serviceLink.schema.tpl.json index fd9affa0..170935bb 100644 --- a/schemas/data/serviceLink.schema.tpl.json +++ b/schemas/data/serviceLink.schema.tpl.json @@ -14,7 +14,7 @@ "core:FileBundle", "core:ModelVersion", "publications:LivePaperResourceItem", - "https://openminds.ebrains.eu/sands/ParcellationEntityVersion" + "sands:ParcellationEntityVersion" ] }, "displayLabel": { From 244b71713a664cdcdd6231cb5b572fb71367714f Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 11:52:58 +0100 Subject: [PATCH 45/77] Update instructions in affiliation schema --- schemas/actors/affiliation.schema.tpl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/actors/affiliation.schema.tpl.json b/schemas/actors/affiliation.schema.tpl.json index 4e864d55..d9110674 100644 --- a/schemas/actors/affiliation.schema.tpl.json +++ b/schemas/actors/affiliation.schema.tpl.json @@ -6,7 +6,7 @@ ], "properties": { "person": { - "_instruction": "Add the person who is affiliated with the organizations", + "_instruction": "Add the individual to whom this affiliation belongs.", "_linkedTypes": [ "core:Person" ] @@ -15,7 +15,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the organizations that the person is affiliated with", + "_instruction": "Add all organizations (in display order) with which the specified individual is affiliated.", "_linkedTypes": [ "core:Organization" ] From b88d4e608d4de27f7d4d7af36098f520e378e364 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 11:54:37 +0100 Subject: [PATCH 46/77] Update contactInformation.schema.tpl.json --- schemas/actors/contactInformation.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/actors/contactInformation.schema.tpl.json b/schemas/actors/contactInformation.schema.tpl.json index 3ecb6b34..050767d7 100644 --- a/schemas/actors/contactInformation.schema.tpl.json +++ b/schemas/actors/contactInformation.schema.tpl.json @@ -14,7 +14,7 @@ }, "minItems": 1, "uniqueItems": true, - "_instruction": "Enter the email address of the party (e.g., of the person)." + "_instruction": "Enter all relevant contact email addresses." } } } From 17d1374e8962d021a0196931a82dc3a675ae70bb Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 11:59:03 +0100 Subject: [PATCH 47/77] Refine instructions in contribution schema --- schemas/actors/contribution.schema.tpl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index c649ee92..daea0674 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -9,13 +9,13 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the contributors who performed this contribution.", + "_instruction": "Add all contributors who performed this contribution.", "_linkedCategories": [ "legalPerson" ] }, "type": { - "_instruction": "Enter the type of contribution.", + "_instruction": "Add the type of contribution.", "_linkedTypes": [ "controlledTerms:ContributionType" ] From ff8114da48730af0cb30f1426b6a87f1929b3aaa Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 12:11:53 +0100 Subject: [PATCH 48/77] Update organization.schema.tpl.json --- schemas/actors/organization.schema.tpl.json | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index 7d40fb88..ff029c9c 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -10,12 +10,6 @@ "type" ], "properties": { - "address": { - "_instruction": "Enter the physical address of this organization.", - "_embeddedTypes": [ - "core:Location" - ] - }, "acronym": { "type": "string", "_instruction": "Enter the acronym of this organization." @@ -27,10 +21,10 @@ }, "minItems": 1, "uniqueItems": true, - "_instruction": "Enter any other known full name of this organization." + "_instruction": "Enter any other known name or acronym of this organization." }, "countryOfFormation": { - "_instruction": "Enter the country where this organization was created.", + "_instruction": "Add the country where the organization was formed.", "_linkedTypes": [ "controlledTerms:SovereignState" ] @@ -49,8 +43,8 @@ "_instruction": "Enter the full name of this organization." }, "location": { - "_instruction": "Enter the location of the headquarters of this organization.", - "_linkedTypes": [ + "_instruction": "Add the headquarters location of this organization.", + "_embeddedTypes": [ "core:Location" ] }, @@ -71,7 +65,7 @@ "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this organization." }, "jurisdiction": { - "_instruction": "Enter the jurisdiction where this organization is based.", + "_instruction": "Add the jurisdiction under which the organization operates.", "_linkedCategories": [ "jurisdiction" ] @@ -82,9 +76,9 @@ }, "type": { "type": "string", - "_instruction": "Enter the type of this organization (e.g., company, non-profit organization, government).", + "_instruction": "Add the type of this organization (e.g., company, non-profit organization, government).", "_embeddedTypes": [ - "controlledTerms:LegalEntityType" + "controlledTerms:OrganizationType" ] } } From ebe93b325a57b1eaf59661369d84522beb44482d Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 12:14:27 +0100 Subject: [PATCH 49/77] Refactor organization schema by removing fullName Removed 'fullName' field and updated 'shortName' to 'name' with new instructions. --- schemas/actors/organization.schema.tpl.json | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index ff029c9c..8ddb9064 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -38,10 +38,6 @@ "organizationIdentifier" ] }, - "fullName": { - "type": "string", - "_instruction": "Enter the full name of this organization." - }, "location": { "_instruction": "Add the headquarters location of this organization.", "_embeddedTypes": [ @@ -70,9 +66,9 @@ "jurisdiction" ] }, - "shortName": { + "name": { "type": "string", - "_instruction": "Enter a short name (or alias) for this organization that could be used as a shortened display title (e.g., for web services with too little space to display the full name)." + "_instruction": "Enter the organization’s preferred name for use in international contexts." }, "type": { "type": "string", From 5b6de13b7a70ac2a337b0e2c60b57a0d204dd896 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 12:24:49 +0100 Subject: [PATCH 50/77] Update funding schema to include legalPerson category --- schemas/miscellaneous/funding.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/miscellaneous/funding.schema.tpl.json b/schemas/miscellaneous/funding.schema.tpl.json index 40a9435e..2963fabd 100644 --- a/schemas/miscellaneous/funding.schema.tpl.json +++ b/schemas/miscellaneous/funding.schema.tpl.json @@ -19,7 +19,7 @@ "funder": { "_instruction": "Add the party that provided this funding.", "_linkedCategories": [ - "actor" + "legalPerson" ] } } From c32f2de348a1560d815e001719edd88e42c94266 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 12:41:30 +0100 Subject: [PATCH 51/77] Update instructions for research product schema --- schemas/products/researchProduct.schema.tpl.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/schemas/products/researchProduct.schema.tpl.json b/schemas/products/researchProduct.schema.tpl.json index a743fa17..6624ae27 100644 --- a/schemas/products/researchProduct.schema.tpl.json +++ b/schemas/products/researchProduct.schema.tpl.json @@ -13,7 +13,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the contributions made to this research product version.", + "_instruction": "Add all individual, organisational, or consortial contributions to this research product. Inherited by all product versions unless overridden at the version level.", "_embeddedTypes": [ "core:Contribution" ] @@ -22,25 +22,25 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the affiliations of the contributors to this research product version.", + "_instruction": "Add all affiliations for the individual contributors to this research product. Inherited by all product versions unless overridden at the version level.", "_embeddedTypes": [ "core:Affiliation" ] }, "description": { "type": "string", - "_instruction": "Enter a description (or abstract) of this research product. Note that this should be a suitable description for all attached research product versions." + "_instruction": "Enter a description (or abstract) of this research product. Inherited by all product versions unless overridden at the version level." }, "fullName": { "type": "string", - "_instruction": "Enter a descriptive full name (or title) for this research product. Note that this should be a suitable full name for all attached research product versions." + "_instruction": "Enter a descriptive full name (or title) for this research product. Inherited by all product versions unless overridden at the version level." }, "homepage": { "type": "string", "_formats": [ "iri" ], - "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this research product." + "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this research product. Inherited by all product versions unless overridden at the version level." }, "howToCite": { "type": "string", @@ -48,7 +48,7 @@ }, "shortName": { "type": "string", - "_instruction": "Enter a short name (or alias) for this research product that could be used as a shortened display title (e.g., for web services with too little space to display the full name)." + "_instruction": "Enter a short name (or alias) for this research product that could be used as a shortened display title (e.g., for web services with too little space to display the full name). Inherited by all product versions unless overridden at the version level." } } } From 89daf92d9878fd1d452a6555f8f18ea281104838 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Fri, 14 Nov 2025 12:49:47 +0100 Subject: [PATCH 52/77] Update instructions in researchProductVersion schema --- .../researchProductVersion.schema.tpl.json | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index e044310b..8d2cb615 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -16,21 +16,36 @@ "accessibility": { "_instruction": "Add the accessibility of the data for this research product version.", "_linkedTypes": [ - "core:Accessibility" + "controlledTerms:Accessibility" + ] + }, + "copyright": { + "_instruction": "Enter the copyright information of this research product version.", + "_embeddedTypes": [ + "core:Copyright" + ] + }, + "contribution": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all individual, organisational, or consortial contributions to this research product version. If provided, these values override the inherited values from the version-independent product.", + "_embeddedTypes": [ + "core:Contribution" ] }, "contributorAffiliation": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all the affiliations of the contributors to this research product version.", + "_instruction": "Add all affiliations for the individual contributors to this research product version. If provided, these values override the inherited values from the version-independent product.", "_embeddedTypes": [ "core:Affiliation" ] }, "description": { "type": "string", - "_instruction": "Enter a description (or abstract) of this research product version. Note that this version specific description will overwrite the description for the overarching dataset." + "_instruction": "Enter a description (or abstract) of this research product version. If provided, this value overrides the inherited value from the version-independent product." }, "fullDocumentation": { "_instruction": "Add the publication or file that acts as the full documentation of this research product version.", @@ -43,7 +58,7 @@ }, "fullName": { "type": "string", - "_instruction": "Enter a descriptive full name (or title) for this research product version. Note that this version specific full name will overwrite the full name for the overarching dataset." + "_instruction": "Enter a descriptive full name (or title) for this research product version. If provided, this value overrides the inherited value from the version-independent product." }, "funding": { "type": "array", @@ -59,7 +74,7 @@ "_formats": [ "iri" ], - "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this research product version." + "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this research product version. If provided, this value overrides the inherited value from the version-independent product." }, "howToCite": { "type": "string", @@ -98,7 +113,7 @@ }, "shortName": { "type": "string", - "_instruction": "Enter a short name (or alias) for this research product version that could be used as a shortened display title (e.g., for web services with too little space to display the full name)." + "_instruction": "Enter a short name (or alias) for this research product version that could be used as a shortened display title (e.g., for web services with too little space to display the full name). If provided, this value overrides the inherited value from the version-independent product." }, "supportChannel": { "type": "array", From 0ac57e8add83706b2d88df0be1ba9b7c901e8a85 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Fri, 14 Nov 2025 12:59:23 +0100 Subject: [PATCH 53/77] Change required property fullName to name --- schemas/actors/organization.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index 8ddb9064..f9e45ba3 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -6,7 +6,7 @@ ], "required": [ "countryOfFormation", - "fullName", + "name", "type" ], "properties": { From 0cf18a2135b29956d9843cfa33a9ba67d6c6de1a Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Wed, 3 Dec 2025 15:53:30 +0100 Subject: [PATCH 54/77] Deprecated type --- schemas/actors/organization.schema.tpl.json | 1 - 1 file changed, 1 deletion(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index f9e45ba3..c5289eba 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -71,7 +71,6 @@ "_instruction": "Enter the organization’s preferred name for use in international contexts." }, "type": { - "type": "string", "_instruction": "Add the type of this organization (e.g., company, non-profit organization, government).", "_embeddedTypes": [ "controlledTerms:OrganizationType" From bcffbb8b2bea9cef1fb61a8c27bc4f6025ba100d Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Mon, 8 Dec 2025 16:54:57 +0100 Subject: [PATCH 55/77] Replace legalPerson by actor --- schemas/actors/contribution.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index daea0674..a0d1cdc6 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -11,7 +11,7 @@ "uniqueItems": true, "_instruction": "Add all contributors who performed this contribution.", "_linkedCategories": [ - "legalPerson" + "actor" ] }, "type": { From 1bdb0b0827ddbcdc961ab26274e543ababd21fe9 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Thu, 12 Feb 2026 17:22:22 +0100 Subject: [PATCH 56/77] Update researchProductVersion.schema.tpl.json --- .../products/researchProductVersion.schema.tpl.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index 8d2cb615..be33ea47 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -25,6 +25,12 @@ "core:Copyright" ] }, + "copyright": { + "_instruction": "Enter the copyright information of this research product version.", + "_embeddedTypes": [ + "core:Copyright" + ] + }, "contribution": { "type": "array", "minItems": 1, @@ -89,6 +95,12 @@ "keyword" ] }, + "publicationStatus": { + "_instruction": "Add the relevant publication status indicating the current lifecycle state of the resource (published, embargoed, disposed, retracted, etc.).", + "_linkedTypes": [ + "core:PublicationStatus" + ] + }, "relatedPublication": { "type": "array", "minItems": 1, From b0c0be7712f9f5444ccc2eb8a91c2796a5e87c34 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Thu, 12 Feb 2026 17:24:33 +0100 Subject: [PATCH 57/77] sort keys alphabetically --- .../products/researchProductVersion.schema.tpl.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index be33ea47..4de29660 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -25,12 +25,6 @@ "core:Copyright" ] }, - "copyright": { - "_instruction": "Enter the copyright information of this research product version.", - "_embeddedTypes": [ - "core:Copyright" - ] - }, "contribution": { "type": "array", "minItems": 1, @@ -49,6 +43,12 @@ "core:Affiliation" ] }, + "copyright": { + "_instruction": "Enter the copyright information of this research product version.", + "_embeddedTypes": [ + "core:Copyright" + ] + }, "description": { "type": "string", "_instruction": "Enter a description (or abstract) of this research product version. If provided, this value overrides the inherited value from the version-independent product." From 373c308e2003eea72fbd270c88f1589fb6faa9ec Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Thu, 12 Feb 2026 17:26:18 +0100 Subject: [PATCH 58/77] Update instruction for type in organization.schema.tpl.json --- schemas/actors/organization.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index c5289eba..a6db2796 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -71,7 +71,7 @@ "_instruction": "Enter the organization’s preferred name for use in international contexts." }, "type": { - "_instruction": "Add the type of this organization (e.g., company, non-profit organization, government).", + "_instruction": "Add the type of this organization (legal entity or organizational unit).", "_embeddedTypes": [ "controlledTerms:OrganizationType" ] From 8b04f0f465ce7854d388bf19a0875fa98637be56 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:03:11 +0100 Subject: [PATCH 59/77] Apply suggestion from @lzehl Co-authored-by: Lyuba Zehl --- schemas/actors/contribution.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index a0d1cdc6..d43f5367 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -9,7 +9,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all contributors who performed this contribution.", + "_instruction": "Add all contributors who made this contribution, in the desired display order.", "_linkedCategories": [ "actor" ] From b8aa2d5d76a15ce14c5e58a5a7171d8533d515cf Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:11:01 +0100 Subject: [PATCH 60/77] Update person.schema.tpl.json --- schemas/actors/person.schema.tpl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/actors/person.schema.tpl.json b/schemas/actors/person.schema.tpl.json index cab6a137..a521fd96 100644 --- a/schemas/actors/person.schema.tpl.json +++ b/schemas/actors/person.schema.tpl.json @@ -38,8 +38,8 @@ "minItems": 1, "uniqueItems": true, "_instruction": "Add all globally unique and persistent digital identifier of this person.", - "_linkedTypes": [ - "core:ORCID" + "_linkedCategories": [ + "personIdentifier" ] }, "familyName": { From 8b4fdb01bb021c6e548f1a9e1357da2327f93725 Mon Sep 17 00:00:00 2001 From: Raphael-Gazzotti <125291580+Raphael-Gazzotti@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:20:03 +0100 Subject: [PATCH 61/77] Add personIdentifier category --- schemas/digitalIdentifier/ORCID.schema.tpl.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/schemas/digitalIdentifier/ORCID.schema.tpl.json b/schemas/digitalIdentifier/ORCID.schema.tpl.json index d1dc54ca..d3a6e30a 100644 --- a/schemas/digitalIdentifier/ORCID.schema.tpl.json +++ b/schemas/digitalIdentifier/ORCID.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:ORCID", + "_categories": [ + "personIdentifier" + ], "required": [ "identifier" ], From 4ebf50276c0d1225ef25c92bde299f9f1e13e568 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Thu, 19 Feb 2026 15:27:13 +0100 Subject: [PATCH 62/77] * Add new categories for identifiers * Add type poperty to project * Remove GRIDID.schema.tpl.json --- schemas/data/serviceLink.schema.tpl.json | 2 +- schemas/digitalIdentifier/DOI.schema.tpl.json | 4 +++- schemas/digitalIdentifier/GRIDID.schema.tpl.json | 16 ---------------- .../IdentifiersDotOrgID.schema.tpl.json | 3 +++ schemas/digitalIdentifier/RRID.schema.tpl.json | 4 +++- schemas/digitalIdentifier/SWHID.schema.tpl.json | 3 +++ .../digitalIdentifier/genericIdentifier.tpl.json | 7 +++++++ schemas/products/dataset.schema.tpl.json | 5 ++--- schemas/products/datasetVersion.schema.tpl.json | 5 ++--- schemas/products/metaDataModel.schema.tpl.json | 5 ++--- .../metaDataModelVersion.schema.tpl.json | 5 ++--- schemas/products/model.schema.tpl.json | 5 ++--- schemas/products/modelVersion.schema.tpl.json | 5 ++--- schemas/products/project.schema.tpl.json | 6 ++++++ .../researchProductVersion.schema.tpl.json | 2 +- schemas/products/software.schema.tpl.json | 6 ++---- schemas/products/softwareVersion.schema.tpl.json | 6 ++---- 17 files changed, 43 insertions(+), 46 deletions(-) delete mode 100644 schemas/digitalIdentifier/GRIDID.schema.tpl.json diff --git a/schemas/data/serviceLink.schema.tpl.json b/schemas/data/serviceLink.schema.tpl.json index 170935bb..26711eae 100644 --- a/schemas/data/serviceLink.schema.tpl.json +++ b/schemas/data/serviceLink.schema.tpl.json @@ -37,7 +37,7 @@ "service": { "_instruction": "Add the service in which the specified data can be opened.", "_linkedTypes": [ - "controlledTerms:Service" + "core:Service" ] } } diff --git a/schemas/digitalIdentifier/DOI.schema.tpl.json b/schemas/digitalIdentifier/DOI.schema.tpl.json index e79da05d..73cad9e1 100644 --- a/schemas/digitalIdentifier/DOI.schema.tpl.json +++ b/schemas/digitalIdentifier/DOI.schema.tpl.json @@ -1,7 +1,9 @@ { "_type": "core:DOI", "_categories": [ - "publicationReference" + "datasetIdentifier", + "publicationReference", + "toolIdentifier" ], "required": [ "identifier" diff --git a/schemas/digitalIdentifier/GRIDID.schema.tpl.json b/schemas/digitalIdentifier/GRIDID.schema.tpl.json deleted file mode 100644 index bf4a40ff..00000000 --- a/schemas/digitalIdentifier/GRIDID.schema.tpl.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "_type": "core:GRIDID", - "_category": [ - "organizationIdentifier" - ], - "required": [ - "identifier" - ], - "properties": { - "identifier": { - "type": "string", - "pattern": "^https:\/\/grid.ac\/institutes\/grid.[0-9]{1,}.([a-f0-9]{1,2})$", - "_instruction": "Enter the identifier for research organizations provided by the International Digital Object Identifier Foundation ('Global Research Identifier Database IDentifier'; GRIDID) as an internationalized resource identifier (IRI) following the defined pattern (i.e., 'https://grid.ac/institutes/' + GRIDID)." - } - } -} diff --git a/schemas/digitalIdentifier/IdentifiersDotOrgID.schema.tpl.json b/schemas/digitalIdentifier/IdentifiersDotOrgID.schema.tpl.json index f80daa06..6a116edc 100644 --- a/schemas/digitalIdentifier/IdentifiersDotOrgID.schema.tpl.json +++ b/schemas/digitalIdentifier/IdentifiersDotOrgID.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:IdentifiersDotOrgID", + "_categories": [ + "datasetIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/RRID.schema.tpl.json b/schemas/digitalIdentifier/RRID.schema.tpl.json index 1a645eb1..896f497a 100644 --- a/schemas/digitalIdentifier/RRID.schema.tpl.json +++ b/schemas/digitalIdentifier/RRID.schema.tpl.json @@ -1,7 +1,9 @@ { "_type": "core:RRID", "_category": [ - "organizationIdentifier" + "datasetIdentifier", + "organizationIdentifier", + "toolIdentifier" ], "required": [ "identifier" diff --git a/schemas/digitalIdentifier/SWHID.schema.tpl.json b/schemas/digitalIdentifier/SWHID.schema.tpl.json index 5bb841a4..719ead8a 100644 --- a/schemas/digitalIdentifier/SWHID.schema.tpl.json +++ b/schemas/digitalIdentifier/SWHID.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:SWHID", + "_category": [ + "toolIdentifier" + ], "required": [ "identifier" ], diff --git a/schemas/digitalIdentifier/genericIdentifier.tpl.json b/schemas/digitalIdentifier/genericIdentifier.tpl.json index 02b34493..d4143011 100644 --- a/schemas/digitalIdentifier/genericIdentifier.tpl.json +++ b/schemas/digitalIdentifier/genericIdentifier.tpl.json @@ -1,5 +1,12 @@ { "_type": "core:GenericIdentifier", + "_categories": [ + "datasetIdentifier", + "personIdentifier", + "publicationReference", + "organizationIdentifier", + "toolIdentifier" + ], "required": [ "emitter", "identifier" diff --git a/schemas/products/dataset.schema.tpl.json b/schemas/products/dataset.schema.tpl.json index fd8555d1..2d1b354b 100644 --- a/schemas/products/dataset.schema.tpl.json +++ b/schemas/products/dataset.schema.tpl.json @@ -4,9 +4,8 @@ "properties": { "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", - "_linkedTypes": [ - "core:DOI", - "core:IdentifiersDotOrgID" + "_linkedCategories": [ + "datasetIdentifier" ] } } diff --git a/schemas/products/datasetVersion.schema.tpl.json b/schemas/products/datasetVersion.schema.tpl.json index a5e25e58..5b9c5a6b 100644 --- a/schemas/products/datasetVersion.schema.tpl.json +++ b/schemas/products/datasetVersion.schema.tpl.json @@ -29,9 +29,8 @@ }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", - "_linkedTypes": [ - "core:DOI", - "core:IdentifiersDotOrgID" + "_linkedCategories": [ + "datasetIdentifier" ] }, "ethicsJurisdiction": { diff --git a/schemas/products/metaDataModel.schema.tpl.json b/schemas/products/metaDataModel.schema.tpl.json index f00486a6..b18fc2f8 100644 --- a/schemas/products/metaDataModel.schema.tpl.json +++ b/schemas/products/metaDataModel.schema.tpl.json @@ -4,9 +4,8 @@ "properties": { "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", - "_linkedTypes": [ - "core:DOI", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] } } diff --git a/schemas/products/metaDataModelVersion.schema.tpl.json b/schemas/products/metaDataModelVersion.schema.tpl.json index f342f80c..06589c2d 100644 --- a/schemas/products/metaDataModelVersion.schema.tpl.json +++ b/schemas/products/metaDataModelVersion.schema.tpl.json @@ -7,9 +7,8 @@ "properties": { "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", - "_linkedTypes": [ - "core:DOI", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] }, "isPrecededBy": { diff --git a/schemas/products/model.schema.tpl.json b/schemas/products/model.schema.tpl.json index 79ec9812..be9f50ff 100644 --- a/schemas/products/model.schema.tpl.json +++ b/schemas/products/model.schema.tpl.json @@ -15,9 +15,8 @@ }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", - "_linkedTypes": [ - "core:DOI", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] }, "scope": { diff --git a/schemas/products/modelVersion.schema.tpl.json b/schemas/products/modelVersion.schema.tpl.json index 56467e5d..d37a0a09 100644 --- a/schemas/products/modelVersion.schema.tpl.json +++ b/schemas/products/modelVersion.schema.tpl.json @@ -16,9 +16,8 @@ }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", - "_linkedTypes": [ - "core:DOI", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] }, "entryPoint": { diff --git a/schemas/products/project.schema.tpl.json b/schemas/products/project.schema.tpl.json index efcadbdf..1cb017c1 100644 --- a/schemas/products/project.schema.tpl.json +++ b/schemas/products/project.schema.tpl.json @@ -43,6 +43,12 @@ "shortName": { "type": "string", "_instruction": "Enter a short name (or alias) for this project that could be used as a shortened display title (e.g., for web services with too little space to display the full name)." + }, + "type": { + "_instruction": "Add the type of this project (e.g., research project, grant-funded project).", + "_linkedTypes": [ + "controlledTerms:ProjectType" + ] } } } diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index 4de29660..b2e459a8 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -54,7 +54,7 @@ "_instruction": "Enter a description (or abstract) of this research product version. If provided, this value overrides the inherited value from the version-independent product." }, "fullDocumentation": { - "_instruction": "Add the publication or file that acts as the full documentation of this research product version.", + "_instruction": "Add the publication or file that acts as the full documentation of this research product version. If provided, this value overrides the inherited value from the version-independent product.", "_linkedTypes": [ "core:DOI", "core:File", diff --git a/schemas/products/software.schema.tpl.json b/schemas/products/software.schema.tpl.json index 6114519d..3ec09df2 100644 --- a/schemas/products/software.schema.tpl.json +++ b/schemas/products/software.schema.tpl.json @@ -4,10 +4,8 @@ "properties": { "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product. Note that this digital identifier will be used to reference all attached research product versions.", - "_linkedTypes": [ - "core:DOI", - "core:RRID", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] } } diff --git a/schemas/products/softwareVersion.schema.tpl.json b/schemas/products/softwareVersion.schema.tpl.json index a8126e8c..e5363dfe 100644 --- a/schemas/products/softwareVersion.schema.tpl.json +++ b/schemas/products/softwareVersion.schema.tpl.json @@ -19,10 +19,8 @@ }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", - "_linkedTypes": [ - "core:DOI", - "core:SWHID", - "core:RRID" + "_linkedCategories": [ + "toolIdentifier" ] }, "implements": { From b628c7cbda6e53b8c7fa1e096d199139c04be970 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Thu, 19 Feb 2026 15:50:56 +0100 Subject: [PATCH 63/77] Solve conflicts --- ...nericIdentifier.tpl.json => genericIdentifier.schema.tpl.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename schemas/digitalIdentifier/{genericIdentifier.tpl.json => genericIdentifier.schema.tpl.json} (100%) diff --git a/schemas/digitalIdentifier/genericIdentifier.tpl.json b/schemas/digitalIdentifier/genericIdentifier.schema.tpl.json similarity index 100% rename from schemas/digitalIdentifier/genericIdentifier.tpl.json rename to schemas/digitalIdentifier/genericIdentifier.schema.tpl.json From 3c200f6b322ffbcc648699741046a8763495fbfb Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Thu, 19 Feb 2026 16:26:05 +0100 Subject: [PATCH 64/77] Add location.schema.tpl.json deleted by error. --- .../miscellaneous/location.schema.tpl.json | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 schemas/miscellaneous/location.schema.tpl.json diff --git a/schemas/miscellaneous/location.schema.tpl.json b/schemas/miscellaneous/location.schema.tpl.json new file mode 100644 index 00000000..c3babf00 --- /dev/null +++ b/schemas/miscellaneous/location.schema.tpl.json @@ -0,0 +1,24 @@ +{ + "_type": "core:Location", + "required": [ + "country" + ], + "properties": { + "address": { + "type": "string", + "_instruction": "Enter the address of the location, in the format [Street address], City, [Region/State], [Postal code]. The minimum requested information is City." + }, + "country": { + "_instruction": "Enter the country in which the location is found.", + "_linkedTypes": [ + "controlledTerms:SovereignState" + ] + }, + "geoCoordinates": { + "_instruction": "Enter the geographic coordinates of the location.", + "_embeddedTypes": [ + "core:GeoCoordinates" + ] + } + } +} From ae0fdacd01a652d39b682c0984fb1f7926b417c9 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Fri, 20 Feb 2026 10:16:04 +0100 Subject: [PATCH 65/77] * Update instruction of type in project.schema.tpl.json * Update genericIdentifier.schema.tpl.json schema --- .../genericIdentifier.schema.tpl.json | 13 +++---------- schemas/products/project.schema.tpl.json | 10 +++++----- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/schemas/digitalIdentifier/genericIdentifier.schema.tpl.json b/schemas/digitalIdentifier/genericIdentifier.schema.tpl.json index d4143011..9aff8678 100644 --- a/schemas/digitalIdentifier/genericIdentifier.schema.tpl.json +++ b/schemas/digitalIdentifier/genericIdentifier.schema.tpl.json @@ -8,23 +8,16 @@ "toolIdentifier" ], "required": [ - "emitter", "identifier" ], "properties": { - "emitter": { - "_instruction": "Add the organization that governs and/or emits the identifier.", - "_linkedTypes": [ - "core:Organization" - ] - }, "identifier": { "type": "string", - "_instruction": "Enter a persistent, unique identifier emitted by an organization." + "_instruction": "Enter the unique identifier, preferably as an IRI (e.g., https://orcid.org/0000-0001-2345-6789, https://doi.org/10.1234/example)." }, - "type": { + "pattern": { "type": "string", - "_instruction": "Enter the type of identifier, e.g. 'PubMed ID'." + "_instruction": "Enter the regular expression that defines the format of the identifier." } } } diff --git a/schemas/products/project.schema.tpl.json b/schemas/products/project.schema.tpl.json index 1cb017c1..fbe354a3 100644 --- a/schemas/products/project.schema.tpl.json +++ b/schemas/products/project.schema.tpl.json @@ -7,13 +7,13 @@ "shortName" ], "properties": { - "coordinator": { + "contribution": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all parties that coordinate this project.", - "_linkedCategories": [ - "actor" + "_instruction": "Add all individual, organisational, or consortial contributions to this project.", + "_embeddedTypes": [ + "core:Contribution" ] }, "description": { @@ -45,7 +45,7 @@ "_instruction": "Enter a short name (or alias) for this project that could be used as a shortened display title (e.g., for web services with too little space to display the full name)." }, "type": { - "_instruction": "Add the type of this project (e.g., research project, grant-funded project).", + "_instruction": "Add the type of this project (e.g., research project, grant project).", "_linkedTypes": [ "controlledTerms:ProjectType" ] From 83f37edbe919398e63301f47d0f3d06158d6442e Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Tue, 24 Feb 2026 11:07:28 +0100 Subject: [PATCH 66/77] * Apply suggestions from @lzehl * Remove otherContribution from RPV * Add type as required for project.schema.tpl.json --- schemas/data/file.schema.tpl.json | 1 + schemas/digitalIdentifier/DOI.schema.tpl.json | 1 + .../digitalIdentifier/ISBN.schema.tpl.json | 1 + .../genericIdentifier.schema.tpl.json | 13 +++-- .../miscellaneous/webResource.schema.tpl.json | 3 ++ .../products/datasetVersion.schema.tpl.json | 22 ++++---- schemas/products/project.schema.tpl.json | 3 +- .../products/researchProduct.schema.tpl.json | 37 +++++++++++++ .../researchProductVersion.schema.tpl.json | 54 +++++++------------ schemas/products/service.schema.tpl.json | 11 ++-- 10 files changed, 86 insertions(+), 60 deletions(-) diff --git a/schemas/data/file.schema.tpl.json b/schemas/data/file.schema.tpl.json index 64320154..729d3b20 100644 --- a/schemas/data/file.schema.tpl.json +++ b/schemas/data/file.schema.tpl.json @@ -1,6 +1,7 @@ { "_type": "core:File", "_categories": [ + "documentation", "fileOrigin" ], "required": [ diff --git a/schemas/digitalIdentifier/DOI.schema.tpl.json b/schemas/digitalIdentifier/DOI.schema.tpl.json index 73cad9e1..11104b4d 100644 --- a/schemas/digitalIdentifier/DOI.schema.tpl.json +++ b/schemas/digitalIdentifier/DOI.schema.tpl.json @@ -2,6 +2,7 @@ "_type": "core:DOI", "_categories": [ "datasetIdentifier", + "documentation", "publicationReference", "toolIdentifier" ], diff --git a/schemas/digitalIdentifier/ISBN.schema.tpl.json b/schemas/digitalIdentifier/ISBN.schema.tpl.json index 4acbc3b5..21aa9aa8 100644 --- a/schemas/digitalIdentifier/ISBN.schema.tpl.json +++ b/schemas/digitalIdentifier/ISBN.schema.tpl.json @@ -1,6 +1,7 @@ { "_type": "core:ISBN", "_categories": [ + "documentation", "publicationReference" ], "required": [ diff --git a/schemas/digitalIdentifier/genericIdentifier.schema.tpl.json b/schemas/digitalIdentifier/genericIdentifier.schema.tpl.json index 9aff8678..d4143011 100644 --- a/schemas/digitalIdentifier/genericIdentifier.schema.tpl.json +++ b/schemas/digitalIdentifier/genericIdentifier.schema.tpl.json @@ -8,16 +8,23 @@ "toolIdentifier" ], "required": [ + "emitter", "identifier" ], "properties": { + "emitter": { + "_instruction": "Add the organization that governs and/or emits the identifier.", + "_linkedTypes": [ + "core:Organization" + ] + }, "identifier": { "type": "string", - "_instruction": "Enter the unique identifier, preferably as an IRI (e.g., https://orcid.org/0000-0001-2345-6789, https://doi.org/10.1234/example)." + "_instruction": "Enter a persistent, unique identifier emitted by an organization." }, - "pattern": { + "type": { "type": "string", - "_instruction": "Enter the regular expression that defines the format of the identifier." + "_instruction": "Enter the type of identifier, e.g. 'PubMed ID'." } } } diff --git a/schemas/miscellaneous/webResource.schema.tpl.json b/schemas/miscellaneous/webResource.schema.tpl.json index 8c2f3a01..5850828e 100644 --- a/schemas/miscellaneous/webResource.schema.tpl.json +++ b/schemas/miscellaneous/webResource.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:WebResource", + "_categories": [ + "documentation" + ], "required": [ "IRI" ], diff --git a/schemas/products/datasetVersion.schema.tpl.json b/schemas/products/datasetVersion.schema.tpl.json index 01b79821..fe8769bb 100644 --- a/schemas/products/datasetVersion.schema.tpl.json +++ b/schemas/products/datasetVersion.schema.tpl.json @@ -9,15 +9,6 @@ "technique" ], "properties": { - "behavioralProtocol": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all behavioral protocols that were performed in this dataset version.", - "_linkedTypes": [ - "core:BehavioralProtocol" - ] - }, "dataType": { "type": "array", "minItems": 1, @@ -85,7 +76,7 @@ "core:Dataset" ] }, - "preparationDesign": { + "preparationType": { "type": "array", "minItems": 1, "uniqueItems": true, @@ -98,8 +89,9 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all protocols that were performed in this dataset version (e.g., for data acquisition or processing).", + "_instruction": "Add all protocols that were performed in this dataset version.", "_linkedTypes": [ + "core:BehavioralProtocol", "core:Protocol" ] }, @@ -107,12 +99,16 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all specimens or sets of specimen that were studied in this dataset.", + "_instruction": "Add all specimens, sets of specimen or states that were studied in this dataset.", "_linkedTypes": [ "core:Subject", + "core:SubjectState", "core:SubjectGroup", + "core:SubjectGroupState", "core:TissueSample", - "core:TissueSampleCollection" + "core:TissueSampleState", + "core:TissueSampleCollection", + "core:TissueSampleCollectionState" ] }, "studyTarget": { diff --git a/schemas/products/project.schema.tpl.json b/schemas/products/project.schema.tpl.json index fbe354a3..898bcd2b 100644 --- a/schemas/products/project.schema.tpl.json +++ b/schemas/products/project.schema.tpl.json @@ -4,7 +4,8 @@ "description", "fullName", "hasPart", - "shortName" + "shortName", + "type" ], "properties": { "contribution": { diff --git a/schemas/products/researchProduct.schema.tpl.json b/schemas/products/researchProduct.schema.tpl.json index 6624ae27..b7e9f668 100644 --- a/schemas/products/researchProduct.schema.tpl.json +++ b/schemas/products/researchProduct.schema.tpl.json @@ -31,6 +31,12 @@ "type": "string", "_instruction": "Enter a description (or abstract) of this research product. Inherited by all product versions unless overridden at the version level." }, + "documentation": { + "_instruction": "Add the publication or file that acts as the documentation of this research product. Inherited by all product versions unless overridden at the version level.", + "_linkedCategories": [ + "documentation" + ] + }, "fullName": { "type": "string", "_instruction": "Enter a descriptive full name (or title) for this research product. Inherited by all product versions unless overridden at the version level." @@ -46,9 +52,40 @@ "type": "string", "_instruction": "Enter the preferred citation text for this research product. Leave blank if citation text can be extracted from the assigned digital identifier." }, + "keyword": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all relevant keywords to this research product either by adding controlled terms or by suggesting new terms. Inherited by all product versions unless overridden at the version level.", + "_linkedCategories": [ + "keyword" + ] + }, + "relatedPublication": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all further publications besides the documentation that provide the original context for the production of this research product (e.g., an original research article that used or produced the data of this research product). Inherited by all product versions unless overridden at the version level.", + "_linkedCategories": [ + "publicationReference" + ] + }, "shortName": { "type": "string", "_instruction": "Enter a short name (or alias) for this research product that could be used as a shortened display title (e.g., for web services with too little space to display the full name). Inherited by all product versions unless overridden at the version level." + }, + "supportChannel": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Enter all channels through which a user can receive support for handling this research product. Inherited by all product versions unless overridden at the version level.", + "items": { + "type": "string", + "_formats": [ + "email", + "iri" + ] + } } } } diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index f4cca0c2..bfce5ca8 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -5,7 +5,7 @@ "required": [ "accessibility", "contribution", - "fullDocumentation", + "documentation", "isVersionOf", "releaseDate", "shortName", @@ -14,7 +14,7 @@ ], "properties": { "accessibility": { - "_instruction": "Add the accessibility of the data for this research product version.", + "_instruction": "Add the accessibility of the data for this research product version. If provided, these values override the inherited values from the version-independent product.", "_linkedTypes": [ "core:Accessibility" ] @@ -38,7 +38,7 @@ ] }, "copyright": { - "_instruction": "Enter the copyright information of this research product version.", + "_instruction": "Enter the copyright information of this research product version. If provided, these values override the inherited values from the version-independent product.", "_embeddedTypes": [ "core:Copyright" ] @@ -47,13 +47,10 @@ "type": "string", "_instruction": "Enter a description (or abstract) of this research product version. If provided, this value overrides the inherited value from the version-independent product." }, - "fullDocumentation": { - "_instruction": "Add the publication or file that acts as the full documentation of this research product version. If provided, this value overrides the inherited value from the version-independent product.", - "_linkedTypes": [ - "core:DOI", - "core:File", - "core:ISBN", - "core:WebResource" + "documentation": { + "_instruction": "Add the publication or file that acts as the documentation of this research product version. If provided, this value overrides the inherited value from the version-independent product.", + "_linkedCategories": [ + "documentation" ] }, "fullName": { @@ -64,7 +61,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all funding information of this research product version.", + "_instruction": "Add all funding information of this research product version. If provided, these values override the inherited values from the version-independent product.", "_linkedTypes": [ "core:Funding" ] @@ -78,34 +75,19 @@ }, "howToCite": { "type": "string", - "_instruction": "Enter the preferred citation text for this research product version. Leave blank if citation text can be extracted from the assigned digital identifier." + "_instruction": "Enter the preferred citation text for this research product version. Leave blank if citation text can be extracted from the assigned digital identifier. If provided, these values override the inherited values from the version-independent product." }, "keyword": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all relevant keywords to this research product version either by adding controlled terms or by suggesting new terms.", + "_instruction": "Add all relevant keywords to this research product version either by adding controlled terms or by suggesting new terms. If provided, this value overrides the inherited value from the version-independent product.", "_linkedCategories": [ "keyword" ] }, - "copyright": { - "_instruction": "Enter the copyright information of this research product version.", - "_embeddedTypes": [ - "core:Copyright" - ] - }, - "otherContribution": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add any other contributions to this research product version that are not covered under 'author'/'developer' or 'custodian'.", - "_embeddedTypes": [ - "core:Contribution" - ] - }, "publicationStatus": { - "_instruction": "Add the relevant publication status indicating the current lifecycle state of the resource (published, embargoed, disposed, retracted, etc.).", + "_instruction": "Add the relevant publication status indicating the current lifecycle state of the resource (published, embargoed, disposed, retracted, etc.). If provided, this value overrides the inherited value from the version-independent product.", "_linkedTypes": [ "core:PublicationStatus" ] @@ -114,7 +96,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all further publications besides the full documentation that provide the original context for the production of this research product version (e.g., an original research article that used or produced the data of this research product version).", + "_instruction": "Add all further publications besides the documentation that provide the original context for the production of this research product version (e.g., an original research article that used or produced the data of this research product version). If provided, this value overrides the inherited value from the version-independent product.", "_linkedCategories": [ "publicationReference" ] @@ -124,10 +106,10 @@ "_formats": [ "date" ], - "_instruction": "Enter the date (actual or intended) on which this research product version was first release, formatted as 'YYYY-MM-DD'." + "_instruction": "Enter the date (actual or intended) on which this research product version was first release, formatted as 'YYYY-MM-DD'. If provided, this value overrides the inherited value from the version-independent product." }, "repository": { - "_instruction": "Add the file repository of this research product version.", + "_instruction": "Add the file repository of this research product version. If provided, this value overrides the inherited value from the version-independent product.", "_linkedTypes": [ "core:FileRepository" ] @@ -140,7 +122,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Enter all channels through which a user can receive support for handling this research product version.", + "_instruction": "Enter all channels through which a user can receive support for handling this research product version. If provided, this value overrides the inherited value from the version-independent product.", "items": { "type": "string", "_formats": [ @@ -153,7 +135,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all licenses and available data usage agreements applicable to this product version. Inherited by all product versions unless overridden at the version level.", + "_instruction": "Add all licenses and available data usage agreements applicable to this product version. If provided, this value overrides the inherited value from the version-independent product.", "_linkedTypes": [ "core:License", "core:UsageAgreement" @@ -161,11 +143,11 @@ }, "versionIdentifier": { "type": "string", - "_instruction": "Enter the version identifier of this research product version." + "_instruction": "Enter the version identifier of this research product version. If provided, this value overrides the inherited value from the version-independent product." }, "versionInnovation": { "type": "string", - "_instruction": "Enter a short description (or summary) of the novelties/peculiarities of this research product version in comparison to its preceding versions. If this research product version is the first version, you can enter the following disclaimer 'This is the first version of this research product'." + "_instruction": "Enter a short description (or summary) of the novelties/peculiarities of this research product version in comparison to its preceding versions. If this research product version is the first version, you can enter the following disclaimer 'This is the first version of this research product'. If provided, this value overrides the inherited value from the version-independent product." } } } diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json index 76cd00be..6629af51 100644 --- a/schemas/products/service.schema.tpl.json +++ b/schemas/products/service.schema.tpl.json @@ -20,13 +20,10 @@ "type": "string", "_instruction": "Enter a description (or abstract) of this service." }, - "fullDocumentation": { - "_instruction": "Add the publication or file that acts as the full documentation of this service.", - "_linkedTypes": [ - "core:DOI", - "core:File", - "core:ISBN", - "core:WebResource" + "documentation": { + "_instruction": "Add the publication or file that acts as the documentation of this service.", + "_linkedCategories": [ + "documentation" ] }, "fullName": { From dbcd67c9c21d65c1e1475281d978771163d5acdd Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Tue, 24 Feb 2026 11:11:05 +0100 Subject: [PATCH 67/77] Update service.schema.tpl.json required properties. --- schemas/products/service.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json index 6629af51..e05b2c7f 100644 --- a/schemas/products/service.schema.tpl.json +++ b/schemas/products/service.schema.tpl.json @@ -1,7 +1,7 @@ { "_type": "core:Service", "required": [ - "fullDocumentation", + "documentation", "fullName", "scope", "shortName" From 34b20d0a9305c47a378545843c12be5bc16aabf9 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Tue, 24 Feb 2026 15:10:29 +0100 Subject: [PATCH 68/77] Update of serviceLink.schema.tpl.json --- schemas/data/serviceLink.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/data/serviceLink.schema.tpl.json b/schemas/data/serviceLink.schema.tpl.json index 26711eae..170935bb 100644 --- a/schemas/data/serviceLink.schema.tpl.json +++ b/schemas/data/serviceLink.schema.tpl.json @@ -37,7 +37,7 @@ "service": { "_instruction": "Add the service in which the specified data can be opened.", "_linkedTypes": [ - "core:Service" + "controlledTerms:Service" ] } } From f2418ca48508e03935a955314403738806c0efe1 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 25 Feb 2026 08:39:40 +0100 Subject: [PATCH 69/77] Change category name from documentation to documentationResource. --- schemas/data/file.schema.tpl.json | 2 +- schemas/digitalIdentifier/DOI.schema.tpl.json | 2 +- schemas/digitalIdentifier/ISBN.schema.tpl.json | 2 +- schemas/miscellaneous/webResource.schema.tpl.json | 2 +- schemas/products/researchProduct.schema.tpl.json | 2 +- schemas/products/researchProductVersion.schema.tpl.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/schemas/data/file.schema.tpl.json b/schemas/data/file.schema.tpl.json index 729d3b20..c09403c5 100644 --- a/schemas/data/file.schema.tpl.json +++ b/schemas/data/file.schema.tpl.json @@ -1,7 +1,7 @@ { "_type": "core:File", "_categories": [ - "documentation", + "documentationResource", "fileOrigin" ], "required": [ diff --git a/schemas/digitalIdentifier/DOI.schema.tpl.json b/schemas/digitalIdentifier/DOI.schema.tpl.json index 11104b4d..6284bd7e 100644 --- a/schemas/digitalIdentifier/DOI.schema.tpl.json +++ b/schemas/digitalIdentifier/DOI.schema.tpl.json @@ -2,7 +2,7 @@ "_type": "core:DOI", "_categories": [ "datasetIdentifier", - "documentation", + "documentationResource", "publicationReference", "toolIdentifier" ], diff --git a/schemas/digitalIdentifier/ISBN.schema.tpl.json b/schemas/digitalIdentifier/ISBN.schema.tpl.json index 21aa9aa8..90d69e96 100644 --- a/schemas/digitalIdentifier/ISBN.schema.tpl.json +++ b/schemas/digitalIdentifier/ISBN.schema.tpl.json @@ -1,7 +1,7 @@ { "_type": "core:ISBN", "_categories": [ - "documentation", + "documentationResource", "publicationReference" ], "required": [ diff --git a/schemas/miscellaneous/webResource.schema.tpl.json b/schemas/miscellaneous/webResource.schema.tpl.json index 5850828e..f9c2f6f3 100644 --- a/schemas/miscellaneous/webResource.schema.tpl.json +++ b/schemas/miscellaneous/webResource.schema.tpl.json @@ -1,7 +1,7 @@ { "_type": "core:WebResource", "_categories": [ - "documentation" + "documentationResource" ], "required": [ "IRI" diff --git a/schemas/products/researchProduct.schema.tpl.json b/schemas/products/researchProduct.schema.tpl.json index b7e9f668..8778eceb 100644 --- a/schemas/products/researchProduct.schema.tpl.json +++ b/schemas/products/researchProduct.schema.tpl.json @@ -34,7 +34,7 @@ "documentation": { "_instruction": "Add the publication or file that acts as the documentation of this research product. Inherited by all product versions unless overridden at the version level.", "_linkedCategories": [ - "documentation" + "documentationResource" ] }, "fullName": { diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index bfce5ca8..8e29f46c 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -50,7 +50,7 @@ "documentation": { "_instruction": "Add the publication or file that acts as the documentation of this research product version. If provided, this value overrides the inherited value from the version-independent product.", "_linkedCategories": [ - "documentation" + "documentationResource" ] }, "fullName": { From 267d29639bb34d5229339591ab8a5be389df74fe Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 25 Feb 2026 08:53:33 +0100 Subject: [PATCH 70/77] Change property name from versionInnovation to versionSpecification. --- schemas/products/researchProductVersion.schema.tpl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index 8e29f46c..c6eee1be 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -10,7 +10,7 @@ "releaseDate", "shortName", "versionIdentifier", - "versionInnovation" + "versionSpecification" ], "properties": { "accessibility": { @@ -145,7 +145,7 @@ "type": "string", "_instruction": "Enter the version identifier of this research product version. If provided, this value overrides the inherited value from the version-independent product." }, - "versionInnovation": { + "versionSpecification": { "type": "string", "_instruction": "Enter a short description (or summary) of the novelties/peculiarities of this research product version in comparison to its preceding versions. If this research product version is the first version, you can enter the following disclaimer 'This is the first version of this research product'. If provided, this value overrides the inherited value from the version-independent product." } From e187e1234b717b7821387709cc1a8e0ac968400e Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 25 Feb 2026 08:58:59 +0100 Subject: [PATCH 71/77] Change instructions of researchProductVersion.schema.tpl.json --- .../researchProductVersion.schema.tpl.json | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index c6eee1be..97840ebf 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -14,7 +14,7 @@ ], "properties": { "accessibility": { - "_instruction": "Add the accessibility of the data for this research product version. If provided, these values override the inherited values from the version-independent product.", + "_instruction": "Add the accessibility of the data for this research product version.", "_linkedTypes": [ "core:Accessibility" ] @@ -32,13 +32,13 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all affiliations for the individual contributors to this research product version. If provided, these values override the inherited values from the version-independent product.", + "_instruction": "Add all affiliations for the individual contributors to this research product version.", "_embeddedTypes": [ "core:Affiliation" ] }, "copyright": { - "_instruction": "Enter the copyright information of this research product version. If provided, these values override the inherited values from the version-independent product.", + "_instruction": "Enter the copyright information of this research product version.", "_embeddedTypes": [ "core:Copyright" ] @@ -61,7 +61,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all funding information of this research product version. If provided, these values override the inherited values from the version-independent product.", + "_instruction": "Add all funding information of this research product version.", "_linkedTypes": [ "core:Funding" ] @@ -75,7 +75,7 @@ }, "howToCite": { "type": "string", - "_instruction": "Enter the preferred citation text for this research product version. Leave blank if citation text can be extracted from the assigned digital identifier. If provided, these values override the inherited values from the version-independent product." + "_instruction": "Enter the preferred citation text for this research product version. Leave blank if citation text can be extracted from the assigned digital identifier." }, "keyword": { "type": "array", @@ -87,7 +87,7 @@ ] }, "publicationStatus": { - "_instruction": "Add the relevant publication status indicating the current lifecycle state of the resource (published, embargoed, disposed, retracted, etc.). If provided, this value overrides the inherited value from the version-independent product.", + "_instruction": "Add the relevant publication status indicating the current lifecycle state of the resource (published, embargoed, disposed, retracted, etc.).", "_linkedTypes": [ "core:PublicationStatus" ] @@ -106,10 +106,10 @@ "_formats": [ "date" ], - "_instruction": "Enter the date (actual or intended) on which this research product version was first release, formatted as 'YYYY-MM-DD'. If provided, this value overrides the inherited value from the version-independent product." + "_instruction": "Enter the date (actual or intended) on which this research product version was first release, formatted as 'YYYY-MM-DD'." }, "repository": { - "_instruction": "Add the file repository of this research product version. If provided, this value overrides the inherited value from the version-independent product.", + "_instruction": "Add the file repository of this research product version.", "_linkedTypes": [ "core:FileRepository" ] @@ -135,7 +135,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all licenses and available data usage agreements applicable to this product version. If provided, this value overrides the inherited value from the version-independent product.", + "_instruction": "Add all licenses and available data usage agreements applicable to this product version.", "_linkedTypes": [ "core:License", "core:UsageAgreement" @@ -143,11 +143,11 @@ }, "versionIdentifier": { "type": "string", - "_instruction": "Enter the version identifier of this research product version. If provided, this value overrides the inherited value from the version-independent product." + "_instruction": "Enter the version identifier of this research product version." }, "versionSpecification": { "type": "string", - "_instruction": "Enter a short description (or summary) of the novelties/peculiarities of this research product version in comparison to its preceding versions. If this research product version is the first version, you can enter the following disclaimer 'This is the first version of this research product'. If provided, this value overrides the inherited value from the version-independent product." + "_instruction": "Enter a short description (or summary) of the novelties/peculiarities of this research product version in comparison to its preceding versions. If this research product version is the first version, you can enter the following disclaimer 'This is the first version of this research product'." } } } From 2771343b457e6e627d8e5a2f7b3dd7218f92f1f3 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 25 Feb 2026 09:04:07 +0100 Subject: [PATCH 72/77] Add required properties. --- schemas/products/researchProductVersion.schema.tpl.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index 97840ebf..fc6d7180 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -5,9 +5,11 @@ "required": [ "accessibility", "contribution", + "description", "documentation", "isVersionOf", "releaseDate", + "fullName", "shortName", "versionIdentifier", "versionSpecification" From a00039c9fc922f3c47921701bc3a06b886f93892 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 25 Feb 2026 09:04:47 +0100 Subject: [PATCH 73/77] Sorting of required properties. --- schemas/products/researchProductVersion.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index fc6d7180..113d6084 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -7,9 +7,9 @@ "contribution", "description", "documentation", + "fullName", "isVersionOf", "releaseDate", - "fullName", "shortName", "versionIdentifier", "versionSpecification" From 6b5c15ef7103f501e83215a0500a81e00ca1e95f Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 25 Feb 2026 09:08:48 +0100 Subject: [PATCH 74/77] Update instructions of researchProductVersion.schema.tpl.json --- .../researchProductVersion.schema.tpl.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/schemas/products/researchProductVersion.schema.tpl.json b/schemas/products/researchProductVersion.schema.tpl.json index 113d6084..67b45e5d 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -25,7 +25,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all individual, organisational, or consortial contributions to this research product version. If provided, these values override the inherited values from the version-independent product.", + "_instruction": "Add all individual, organisational, or consortial contributions to this research product version. These values override the inherited values from the version-independent product.", "_embeddedTypes": [ "core:Contribution" ] @@ -47,17 +47,17 @@ }, "description": { "type": "string", - "_instruction": "Enter a description (or abstract) of this research product version. If provided, this value overrides the inherited value from the version-independent product." + "_instruction": "Enter a description (or abstract) of this research product version. This value overrides the inherited value from the version-independent product." }, "documentation": { - "_instruction": "Add the publication or file that acts as the documentation of this research product version. If provided, this value overrides the inherited value from the version-independent product.", + "_instruction": "Add the publication or file that acts as the documentation of this research product version. This value overrides the inherited value from the version-independent product.", "_linkedCategories": [ "documentationResource" ] }, "fullName": { "type": "string", - "_instruction": "Enter a descriptive full name (or title) for this research product version. If provided, this value overrides the inherited value from the version-independent product." + "_instruction": "Enter a descriptive full name (or title) for this research product version. This value overrides the inherited value from the version-independent product." }, "funding": { "type": "array", @@ -73,7 +73,7 @@ "_formats": [ "iri" ], - "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this research product version. If provided, this value overrides the inherited value from the version-independent product." + "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this research product version. This value overrides the inherited value from the version-independent product." }, "howToCite": { "type": "string", @@ -83,7 +83,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all relevant keywords to this research product version either by adding controlled terms or by suggesting new terms. If provided, this value overrides the inherited value from the version-independent product.", + "_instruction": "Add all relevant keywords to this research product version either by adding controlled terms or by suggesting new terms. This value overrides the inherited value from the version-independent product.", "_linkedCategories": [ "keyword" ] @@ -98,7 +98,7 @@ "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all further publications besides the documentation that provide the original context for the production of this research product version (e.g., an original research article that used or produced the data of this research product version). If provided, this value overrides the inherited value from the version-independent product.", + "_instruction": "Add all further publications besides the documentation that provide the original context for the production of this research product version (e.g., an original research article that used or produced the data of this research product version). This value overrides the inherited value from the version-independent product.", "_linkedCategories": [ "publicationReference" ] @@ -118,13 +118,13 @@ }, "shortName": { "type": "string", - "_instruction": "Enter a short name (or alias) for this research product version that could be used as a shortened display title (e.g., for web services with too little space to display the full name). If provided, this value overrides the inherited value from the version-independent product." + "_instruction": "Enter a short name (or alias) for this research product version that could be used as a shortened display title (e.g., for web services with too little space to display the full name). This value overrides the inherited value from the version-independent product." }, "supportChannel": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Enter all channels through which a user can receive support for handling this research product version. If provided, this value overrides the inherited value from the version-independent product.", + "_instruction": "Enter all channels through which a user can receive support for handling this research product version. This value overrides the inherited value from the version-independent product.", "items": { "type": "string", "_formats": [ From a06b9fda4bc9b7c957694634d54249fbe893a5da Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 25 Feb 2026 09:10:55 +0100 Subject: [PATCH 75/77] Update category name from documentation to documentationResource. --- schemas/products/service.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json index e05b2c7f..ef5c3d81 100644 --- a/schemas/products/service.schema.tpl.json +++ b/schemas/products/service.schema.tpl.json @@ -23,7 +23,7 @@ "documentation": { "_instruction": "Add the publication or file that acts as the documentation of this service.", "_linkedCategories": [ - "documentation" + "documentationResource" ] }, "fullName": { From 149dabdd01086ab45cef7b2f0f5828dabc2a69d9 Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 25 Feb 2026 09:13:38 +0100 Subject: [PATCH 76/77] Add contribution as required. --- schemas/products/service.schema.tpl.json | 1 + 1 file changed, 1 insertion(+) diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json index ef5c3d81..fcb4c6f3 100644 --- a/schemas/products/service.schema.tpl.json +++ b/schemas/products/service.schema.tpl.json @@ -1,6 +1,7 @@ { "_type": "core:Service", "required": [ + "contribution", "documentation", "fullName", "scope", From 6f9dde14a2dd1994c8303a6bd03ba4f0ed7a816a Mon Sep 17 00:00:00 2001 From: raphaelgazzotti Date: Wed, 25 Feb 2026 09:14:50 +0100 Subject: [PATCH 77/77] Replace documentation with description as required. --- schemas/products/service.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json index fcb4c6f3..5be971bb 100644 --- a/schemas/products/service.schema.tpl.json +++ b/schemas/products/service.schema.tpl.json @@ -2,7 +2,7 @@ "_type": "core:Service", "required": [ "contribution", - "documentation", + "description", "fullName", "scope", "shortName"