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 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/service.schema.tpl.json b/schemas/products/service.schema.tpl.json new file mode 100644 index 00000000..76cd00be --- /dev/null +++ b/schemas/products/service.schema.tpl.json @@ -0,0 +1,85 @@ +{ + "_type": "core:Service", + "required": [ + "fullDocumentation", + "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." + }, + "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." + }, + "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/softwareVersion.schema.tpl.json b/schemas/products/softwareVersion.schema.tpl.json index 938c6dfc..a8126e8c 100644 --- a/schemas/products/softwareVersion.schema.tpl.json +++ b/schemas/products/softwareVersion.schema.tpl.json @@ -5,39 +5,16 @@ "setupComponent" ], "required": [ - "applicationCategory", - "device", - "feature", - "language", - "operatingSystem", - "programmingLanguage" + "scope" ], "properties": { - "applicationCategory": { + "dependency": { "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": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all operating devices compatible with this software version.", - "_linkedTypes": [ - "controlledTerms:OperatingDevice" + "_instruction": "Add all dependencies of this software version.", + "_embeddedTypes": [ + "core:Dependency" ] }, "digitalIdentifier": { @@ -48,25 +25,13 @@ "core:RRID" ] }, - "feature": { + "implements": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all distinguishing characteristics of this software version (e.g., performance, portability or functionality).", + "_instruction": "Add all interface versions that are implemented by this software version.", "_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" + "core:InterfaceVersion" ] }, "inputFormat": { @@ -108,6 +73,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 +109,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" - ] - } - } -}