CLAMS App Metadata
Overview
Every CLAMS app must provide information about the app itself. We call this set of information App Metadata.
Format
A CLAMS App Metadata should be able to be serialized into a JSON string.
Metadata Schema
The schema for app metadata is as follows. (You can also download the schema in JSON Schema format from here.)
CLAMS AppMetadata
Defines a data model that describes a CLAMS app.
Can be initialized by simply passing all required key-value pairs. If you
have a pre-generated metadata as an external file, you can read in the file
as a Please refer to <CLAMS App Metadata> for the metadata specification. |
|||||
type |
object |
||||
properties |
|||||
|
A short name of the app. |
||||
type |
string |
||||
|
A longer description of the app (what it does, how to use, etc.). |
||||
type |
string |
||||
|
Version of the app. |
||||
type |
string |
||||
|
Version of MMIF specification the app. When the metadata is generated using clams-python SDK, this field is automatically filled in. |
||||
type |
string |
||||
|
(optional) Version of an analyzer software, if the app is working as a wrapper for one. |
||||
type |
string |
||||
|
License information of the app. |
||||
type |
string |
||||
|
(optional) License information of an analyzer software, if the app is working as a wrapper for one. |
||||
type |
string |
||||
|
IRI-formatted unique identifier for the app. |
||||
type |
string |
||||
maxLength |
65536 |
||||
minLength |
1 |
||||
format |
uri |
||||
|
A public repository where the app’s source code (git-based) and/or installation specification is available. |
||||
type |
string |
||||
maxLength |
65536 |
||||
minLength |
1 |
||||
format |
uri |
||||
|
List of input types. Must have at least one. |
||||
type |
array |
||||
default |
|||||
items |
#/definitions/Input |
||||
|
List of output types. Must have at least one. |
||||
type |
array |
||||
default |
|||||
items |
#/definitions/Output |
||||
|
List of runtime parameters. Can be empty. |
||||
type |
array |
||||
default |
|||||
items |
#/definitions/RuntimeParameter |
||||
|
(optional) List of software dependencies of the app. This list is completely optional, as in most cases such dependencies are specified in a separate file in the codebase of the app (for example, |
||||
type |
array |
||||
items |
type |
string |
|||
|
(optional) A string-to-string map that can be used to store any additional metadata of the app. |
||||
type |
object |
||||
additionalProperties |
type |
string |
|||
additionalProperties |
False |
||||
definitions |
|||||
|
CLAMS Input Specification |
||||
Defines a data model that describes input specification of a CLAMS app |
|||||
type |
object |
||||
properties |
|||||
|
The type of the object. Must be a IRI string. |
||||
type |
string |
||||
maxLength |
65536 |
||||
minLength |
1 |
||||
format |
uri |
||||
|
(optional) Specification for type properties, if any. |
||||
type |
object |
||||
default |
|||||
additionalProperties |
type |
string |
|||
|
(optional) Indicating whether this input type is mandatory or optional. |
||||
type |
boolean |
||||
additionalProperties |
False |
||||
|
CLAMS Output Specification |
||||
Defines a data model that describes output specification of a CLAMS app |
|||||
type |
object |
||||
properties |
|||||
|
The type of the object. Must be a IRI string. |
||||
type |
string |
||||
maxLength |
65536 |
||||
minLength |
1 |
||||
format |
uri |
||||
|
(optional) Specification for type properties, if any. |
||||
type |
object |
||||
default |
|||||
additionalProperties |
type |
string |
|||
additionalProperties |
False |
||||
|
CLAMS App Runtime Parameter |
||||
Defines a data model that describes a single runtime configuration of a CLAMS app.
Usually, an app keeps a list of these configuration specifications in the
|
|||||
type |
object |
||||
properties |
|||||
|
A short name of the parameter (works as a key). |
||||
type |
string |
||||
|
A longer description of the parameter (what it does, how to use, etc.). |
||||
type |
string |
||||
|
Type of the parameter value the app expects. Must be one of (‘integer’, ‘number’, ‘string’, ‘boolean’). |
||||
type |
string |
||||
enum |
integer, number, string, boolean |
||||
|
(optional) List of string values that can be accepted. |
||||
type |
array |
||||
items |
anyOf |
type |
integer |
||
type |
number |
||||
type |
string |
||||
|
(optional) Default value for the parameter. Only valid for optional parameters. Namely, setting a default value makes a parameter ‘optional’. The value must be a string, that is if you want to set a default value for a boolean parameter, be careful to use ‘true’ or ‘false’ as the value. |
||||
anyOf |
type |
integer |
|||
type |
number |
||||
type |
string |
||||
additionalProperties |
False |