diff --git a/schemas/actors/affiliation.schema.tpl.json b/schemas/actors/affiliation.schema.tpl.json index ffb00ddc..d9110674 100644 --- a/schemas/actors/affiliation.schema.tpl.json +++ b/schemas/actors/affiliation.schema.tpl.json @@ -1,29 +1,24 @@ { "_type": "core:Affiliation", "required": [ - "memberOf" + "person", + "organization" ], "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." + "person": { + "_instruction": "Add the individual to whom this affiliation belongs.", + "_linkedTypes": [ + "core:Person" + ] }, - "memberOf": { - "_instruction": "Add the organization or consortium another party was or still is a member of.", - "_linkedTypes": [ - "core:Consortium", + "organization": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all organizations (in display order) with which the specified individual is affiliated.", + "_linkedTypes": [ "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/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 d569468c..050767d7 100644 --- a/schemas/actors/contactInformation.schema.tpl.json +++ b/schemas/actors/contactInformation.schema.tpl.json @@ -5,11 +5,16 @@ ], "properties": { "email": { - "type": "string", - "_formats": [ - "email" - ], - "_instruction": "Enter the email address of the party (e.g., of the person)." + "type": "array", + "items": { + "type": "string", + "_formats": [ + "email" + ] + }, + "minItems": 1, + "uniqueItems": true, + "_instruction": "Enter all relevant contact email addresses." } } } diff --git a/schemas/actors/contribution.schema.tpl.json b/schemas/actors/contribution.schema.tpl.json index 90722fde..d43f5367 100644 --- a/schemas/actors/contribution.schema.tpl.json +++ b/schemas/actors/contribution.schema.tpl.json @@ -6,16 +6,16 @@ ], "properties": { "contributor": { - "_instruction": "Add all types of contribution made by the stated 'contributor'.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "type": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add the party that performed the contribution.", + "_instruction": "Add all contributors who made this contribution, in the desired display order.", + "_linkedCategories": [ + "actor" + ] + }, + "type": { + "_instruction": "Add the type of contribution.", "_linkedTypes": [ "controlledTerms:ContributionType" ] diff --git a/schemas/actors/organization.schema.tpl.json b/schemas/actors/organization.schema.tpl.json index 583d5bbd..a6db2796 100644 --- a/schemas/actors/organization.schema.tpl.json +++ b/schemas/actors/organization.schema.tpl.json @@ -1,19 +1,32 @@ { "_type": "core:Organization", "_categories": [ + "actor", "legalPerson" ], "required": [ - "fullName" + "countryOfFormation", + "name", + "type" ], "properties": { - "affiliation": { + "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 name or acronym of this organization." + }, + "countryOfFormation": { + "_instruction": "Add the country where the organization was formed.", + "_linkedTypes": [ + "controlledTerms:SovereignState" ] }, "digitalIdentifier": { @@ -21,15 +34,15 @@ "minItems": 1, "uniqueItems": true, "_instruction": "Add all globally unique and persistent digital identifier of this organization.", - "_linkedTypes": [ - "core:GRIDID", - "core:RORID", - "core:RRID" + "_linkedCategories": [ + "organizationIdentifier" ] }, - "fullName": { - "type": "string", - "_instruction": "Enter the full name of this organization." + "location": { + "_instruction": "Add the headquarters location of this organization.", + "_embeddedTypes": [ + "core:Location" + ] }, "hasParent": { "type": "array", @@ -47,9 +60,21 @@ ], "_instruction": "Enter the internationalized resource identifier (IRI) to the homepage of this organization." }, - "shortName": { + "jurisdiction": { + "_instruction": "Add the jurisdiction under which the organization operates.", + "_linkedCategories": [ + "jurisdiction" + ] + }, + "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": { + "_instruction": "Add the type of this organization (legal entity or organizational unit).", + "_embeddedTypes": [ + "controlledTerms:OrganizationType" + ] } } } diff --git a/schemas/actors/person.schema.tpl.json b/schemas/actors/person.schema.tpl.json index bd503e0a..a521fd96 100644 --- a/schemas/actors/person.schema.tpl.json +++ b/schemas/actors/person.schema.tpl.json @@ -1,22 +1,14 @@ { "_type": "core:Person", "_categories": [ + "actor", "agent", "legalPerson" ], "required": [ - "givenName" + "preferredName" ], - "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": { @@ -46,17 +38,21 @@ "minItems": 1, "uniqueItems": true, "_instruction": "Add all globally unique and persistent digital identifier of this person.", - "_linkedTypes": [ - "core:ORCID" + "_linkedCategories": [ + "personIdentifier" ] }, "familyName": { "type": "string", - "_instruction": "Enter the family 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." + }, + "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/data/file.schema.tpl.json b/schemas/data/file.schema.tpl.json index 64320154..c09403c5 100644 --- a/schemas/data/file.schema.tpl.json +++ b/schemas/data/file.schema.tpl.json @@ -1,6 +1,7 @@ { "_type": "core:File", "_categories": [ + "documentationResource", "fileOrigin" ], "required": [ 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": { diff --git a/schemas/digitalIdentifier/DOI.schema.tpl.json b/schemas/digitalIdentifier/DOI.schema.tpl.json index e79da05d..6284bd7e 100644 --- a/schemas/digitalIdentifier/DOI.schema.tpl.json +++ b/schemas/digitalIdentifier/DOI.schema.tpl.json @@ -1,7 +1,10 @@ { "_type": "core:DOI", "_categories": [ - "publicationReference" + "datasetIdentifier", + "documentationResource", + "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 9e6f85a5..00000000 --- a/schemas/digitalIdentifier/GRIDID.schema.tpl.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_type": "core:GRIDID", - "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/ISBN.schema.tpl.json b/schemas/digitalIdentifier/ISBN.schema.tpl.json index 4acbc3b5..90d69e96 100644 --- a/schemas/digitalIdentifier/ISBN.schema.tpl.json +++ b/schemas/digitalIdentifier/ISBN.schema.tpl.json @@ -1,6 +1,7 @@ { "_type": "core:ISBN", "_categories": [ + "documentationResource", "publicationReference" ], "required": [ diff --git a/schemas/digitalIdentifier/ISNI.schema.tpl.json b/schemas/digitalIdentifier/ISNI.schema.tpl.json new file mode 100644 index 00000000..31ee028b --- /dev/null +++ b/schemas/digitalIdentifier/ISNI.schema.tpl.json @@ -0,0 +1,16 @@ +{ + "_type": "core:ISNI", + "_category": [ + "organizationIdentifier" + ], + "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/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/LEI.schema.tpl.json b/schemas/digitalIdentifier/LEI.schema.tpl.json new file mode 100644 index 00000000..3c35485a --- /dev/null +++ b/schemas/digitalIdentifier/LEI.schema.tpl.json @@ -0,0 +1,16 @@ +{ + "_type": "core:LEI", + "_category": [ + "organizationIdentifier" + ], + "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/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" ], 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..896f497a 100644 --- a/schemas/digitalIdentifier/RRID.schema.tpl.json +++ b/schemas/digitalIdentifier/RRID.schema.tpl.json @@ -1,5 +1,10 @@ { "_type": "core:RRID", + "_category": [ + "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.schema.tpl.json similarity index 69% rename from schemas/digitalIdentifier/genericIdentifier.tpl.json rename to schemas/digitalIdentifier/genericIdentifier.schema.tpl.json index 768b3a50..d4143011 100644 --- a/schemas/digitalIdentifier/genericIdentifier.tpl.json +++ b/schemas/digitalIdentifier/genericIdentifier.schema.tpl.json @@ -1,5 +1,12 @@ { "_type": "core:GenericIdentifier", + "_categories": [ + "datasetIdentifier", + "personIdentifier", + "publicationReference", + "organizationIdentifier", + "toolIdentifier" + ], "required": [ "emitter", "identifier" @@ -7,7 +14,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/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/miscellaneous/webResource.schema.tpl.json b/schemas/miscellaneous/webResource.schema.tpl.json index 8c2f3a01..f9c2f6f3 100644 --- a/schemas/miscellaneous/webResource.schema.tpl.json +++ b/schemas/miscellaneous/webResource.schema.tpl.json @@ -1,5 +1,8 @@ { "_type": "core:WebResource", + "_categories": [ + "documentationResource" + ], "required": [ "IRI" ], diff --git a/schemas/products/dataset.schema.tpl.json b/schemas/products/dataset.schema.tpl.json index c8e14074..2d1b354b 100644 --- a/schemas/products/dataset.schema.tpl.json +++ b/schemas/products/dataset.schema.tpl.json @@ -1,24 +1,11 @@ { "_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": [ - "core:DOI", - "core:IdentifiersDotOrgID" + "_linkedCategories": [ + "datasetIdentifier" ] } } diff --git a/schemas/products/datasetVersion.schema.tpl.json b/schemas/products/datasetVersion.schema.tpl.json index ca73b86c..fe8769bb 100644 --- a/schemas/products/datasetVersion.schema.tpl.json +++ b/schemas/products/datasetVersion.schema.tpl.json @@ -9,24 +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, - "uniqueItems": true, - "_instruction": "Add all behavioral protocols that were performed in this dataset version.", - "_linkedTypes": [ - "core:BehavioralProtocol" - ] - }, "dataType": { "type": "array", "minItems": 1, @@ -38,9 +20,8 @@ }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", - "_linkedTypes": [ - "core:DOI", - "core:IdentifiersDotOrgID" + "_linkedCategories": [ + "datasetIdentifier" ] }, "ethicsJurisdiction": { @@ -68,10 +49,10 @@ "core:File", "core:FileBundle", "core:WebResource", - "https://openminds.ebrains.eu/sands/AnatomicalAtlas", - "https://openminds.ebrains.eu/sands/AnatomicalAtlasVersion", - "https://openminds.ebrains.eu/sands/CommonCoordinateFramework", - "https://openminds.ebrains.eu/sands/CommonCoordinateFrameworkVersion" + "sands:AnatomicalAtlas", + "sands:AnatomicalAtlasVersion", + "sands:CommonCoordinateFramework", + "sands:CommonCoordinateFrameworkVersion" ] }, "isPrecededBy": { @@ -95,7 +76,7 @@ "core:Dataset" ] }, - "preparationDesign": { + "preparationType": { "type": "array", "minItems": 1, "uniqueItems": true, @@ -108,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" ] }, @@ -117,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/interface.schema.tpl.json b/schemas/products/interface.schema.tpl.json new file mode 100644 index 00000000..17ab9913 --- /dev/null +++ b/schemas/products/interface.schema.tpl.json @@ -0,0 +1,22 @@ +{ + "_type": "core:Interface", + "_extends": "products/researchProduct.schema.tpl.json", + "required": [ + "communicationProtocol", + "interfaceType" + ], + "properties": { + "communicationProtocol": { + "_instruction": "Enter the communication protocol used by this interface.", + "_linkedTypes": [ + "controlledTerms:CommunicationProtocol" + ] + }, + "interfaceType": { + "_instruction": "Enter the type of this interface.", + "_linkedTypes": [ + "controlledTerms:CommunicationInterfaceType" + ] + } + } +} 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/metaDataModel.schema.tpl.json b/schemas/products/metaDataModel.schema.tpl.json index 8c7b8edc..b18fc2f8 100644 --- a/schemas/products/metaDataModel.schema.tpl.json +++ b/schemas/products/metaDataModel.schema.tpl.json @@ -1,24 +1,11 @@ { "_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": [ - "core:DOI", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] } } diff --git a/schemas/products/metaDataModelVersion.schema.tpl.json b/schemas/products/metaDataModelVersion.schema.tpl.json index dd781a19..06589c2d 100644 --- a/schemas/products/metaDataModelVersion.schema.tpl.json +++ b/schemas/products/metaDataModelVersion.schema.tpl.json @@ -5,20 +5,10 @@ "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": [ - "core:DOI", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] }, "isPrecededBy": { diff --git a/schemas/products/model.schema.tpl.json b/schemas/products/model.schema.tpl.json index 892b3c80..be9f50ff 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,20 +13,10 @@ "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": [ - "core:DOI", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] }, "scope": { diff --git a/schemas/products/modelVersion.schema.tpl.json b/schemas/products/modelVersion.schema.tpl.json index b4165d06..d37a0a09 100644 --- a/schemas/products/modelVersion.schema.tpl.json +++ b/schemas/products/modelVersion.schema.tpl.json @@ -14,20 +14,10 @@ "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": [ - "core:DOI", - "core:SWHID" + "_linkedCategories": [ + "toolIdentifier" ] }, "entryPoint": { diff --git a/schemas/products/project.schema.tpl.json b/schemas/products/project.schema.tpl.json index 2ad1318f..898bcd2b 100644 --- a/schemas/products/project.schema.tpl.json +++ b/schemas/products/project.schema.tpl.json @@ -4,16 +4,17 @@ "description", "fullName", "hasPart", - "shortName" + "shortName", + "type" ], - "properties": { - "coordinator": { + "properties": { + "contribution": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all parties that coordinate this project.", - "_linkedCategories": [ - "legalPerson" + "_instruction": "Add all individual, organisational, or consortial contributions to this project.", + "_embeddedTypes": [ + "core:Contribution" ] }, "description": { @@ -43,6 +44,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 project).", + "_linkedTypes": [ + "controlledTerms:ProjectType" + ] } } } diff --git a/schemas/products/researchProduct.schema.tpl.json b/schemas/products/researchProduct.schema.tpl.json index c8149844..8778eceb 100644 --- a/schemas/products/researchProduct.schema.tpl.json +++ b/schemas/products/researchProduct.schema.tpl.json @@ -3,42 +3,89 @@ "researchProduct" ], "required": [ - "description", + "contribution", + "description", "fullName", "shortName" ], "properties": { - "custodian": { - "type": "array", + "contribution": { + "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 individual, organisational, or consortial contributions to this research product. Inherited by all product versions unless overridden at the version level.", + "_embeddedTypes": [ + "core:Contribution" + ] + }, + "contributorAffiliation": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_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." + }, + "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": [ + "documentationResource" + ] }, "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", "_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)." + "_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 3d26b4df..67b45e5d 100644 --- a/schemas/products/researchProductVersion.schema.tpl.json +++ b/schemas/products/researchProductVersion.schema.tpl.json @@ -4,12 +4,15 @@ ], "required": [ "accessibility", - "fullDocumentation", + "contribution", + "description", + "documentation", + "fullName", "isVersionOf", "releaseDate", "shortName", "versionIdentifier", - "versionInnovation" + "versionSpecification" ], "properties": { "accessibility": { @@ -18,31 +21,43 @@ "core:Accessibility" ] }, - "custodian": { + "contribution": { "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 individual, organisational, or consortial contributions to this research product version. These values override the inherited values from the version-independent product.", + "_embeddedTypes": [ + "core:Contribution" + ] + }, + "contributorAffiliation": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_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.", + "_embeddedTypes": [ + "core:Copyright" ] }, "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. 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.", - "_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. 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. 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. This value overrides the inherited value from the version-independent product." }, "funding": { "type": "array", @@ -58,7 +73,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. This value overrides the inherited value from the version-independent product." }, "howToCite": { "type": "string", @@ -68,26 +83,11 @@ "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. 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.).", "_linkedTypes": [ @@ -98,7 +98,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). 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)." + "_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.", + "_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": [ @@ -137,7 +137,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.", "_linkedTypes": [ "core:License", "core:UsageAgreement" @@ -147,7 +147,7 @@ "type": "string", "_instruction": "Enter the version identifier of this research product version." }, - "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'." } diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json new file mode 100644 index 00000000..5be971bb --- /dev/null +++ b/schemas/products/service.schema.tpl.json @@ -0,0 +1,83 @@ +{ + "_type": "core:Service", + "required": [ + "contribution", + "description", + "fullName", + "scope", + "shortName" + ], + "properties": { + "contribution": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all contributions to this service.", + "_embeddedTypes": [ + "core:Contribution" + ] + }, + "description": { + "type": "string", + "_instruction": "Enter a description (or abstract) of this service." + }, + "documentation": { + "_instruction": "Add the publication or file that acts as the documentation of this service.", + "_linkedCategories": [ + "documentationResource" + ] + }, + "fullName": { + "type": "string", + "_instruction": "Enter a descriptive full name (or title) for this service." + }, + "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.", + "_linkedCategories": [ + "toolScope" + ] + }, + "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" + ] + } + } + } +} diff --git a/schemas/products/software.schema.tpl.json b/schemas/products/software.schema.tpl.json index 2f2e927d..3ec09df2 100644 --- a/schemas/products/software.schema.tpl.json +++ b/schemas/products/software.schema.tpl.json @@ -1,25 +1,11 @@ { "_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": [ - "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 938c6dfc..95514eb9 100644 --- a/schemas/products/softwareVersion.schema.tpl.json +++ b/schemas/products/softwareVersion.schema.tpl.json @@ -5,68 +5,31 @@ "setupComponent" ], "required": [ - "applicationCategory", - "device", - "feature", - "language", - "operatingSystem", - "programmingLanguage" + "scope" ], "properties": { - "applicationCategory": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all categories to which this software version belongs.", - "_linkedTypes": [ - "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": { + "dependency": { "type": "array", "minItems": 1, "uniqueItems": true, "_instruction": "Add all operating devices compatible with this software version.", - "_linkedTypes": [ - "controlledTerms:OperatingDevice" + "_embeddedTypes": [ + "core:Dependency" ] }, "digitalIdentifier": { "_instruction": "Add the globally unique and persistent digital identifier of this research product version.", - "_linkedTypes": [ - "core:DOI", - "core:SWHID", - "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" + "_linkedCategories": [ + "toolIdentifier" ] }, - "hasPart": { + "implements": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all software versions that supplement this software version.", + "_instruction": "Add all interface versions that are implemented by this software version.", "_linkedTypes": [ - "core:ModelVersion", - "core:SoftwareVersion", - "sands:AnatomicalAtlasVersion", - "sands:CommonCoordinateFrameworkVersion" + "core:InterfaceVersion" ] }, "inputFormat": { @@ -108,6 +71,15 @@ "controlledTerms:Language" ] }, + "operatingDevice": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all operating devices compatible with this software version.", + "_linkedTypes": [ + "controlledTerms:OperatingDevice" + ] + }, "operatingSystem": { "type": "array", "minItems": 1, @@ -135,14 +107,14 @@ "controlledTerms:ProgrammingLanguage" ] }, - "requirement": { + "scope": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Enter all requirements of this software version.", - "items": { - "type": "string" - } + "_instruction": "Add terms that describe what this software version does.", + "_linkedCategories": [ + "toolScope" + ] } } } diff --git a/schemas/products/webService.schema.tpl.json b/schemas/products/webService.schema.tpl.json deleted file mode 100644 index 07c6e782..00000000 --- a/schemas/products/webService.schema.tpl.json +++ /dev/null @@ -1,18 +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" - ] - } - } -} diff --git a/schemas/products/webServiceVersion.schema.tpl.json b/schemas/products/webServiceVersion.schema.tpl.json deleted file mode 100644 index cd99277c..00000000 --- a/schemas/products/webServiceVersion.schema.tpl.json +++ /dev/null @@ -1,63 +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" - ] - }, - "isPrecededBy": { - "_instruction": "Add the web service version preceding this web service version.", - "_linkedTypes": [ - "core:WebServiceVersion" - ] - }, - "isVariantOf": { - "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" - ] - }, - "isVersionOf": { - "_instruction": "Add the version-independent information about this web service.", - "_linkedTypes": [ - "core:WebService" - ] - }, - "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" - ] - } - } -} diff --git a/schemas/research/protocolExecution.schema.tpl.json b/schemas/research/protocolExecution.schema.tpl.json index 2a158664..f03466d0 100644 --- a/schemas/research/protocolExecution.schema.tpl.json +++ b/schemas/research/protocolExecution.schema.tpl.json @@ -19,8 +19,8 @@ "core:SubjectState", "core:TissueSampleCollectionState", "core:TissueSampleState", - "sands:BrainAtlasVersion", - "sands:CommonCoordinateSpaceVersion" + "sands:AnatomicalAtlasVersion", + "sands:CommonCoordinateFrameworkVersion" ] }, "output": {