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 |
|||||
|
Name |
||||
A short name of the app. |
|||||
type |
string |
||||
|
Description |
||||
A longer description of the app (what it does, how to use, etc.). |
|||||
type |
string |
||||
|
App Version |
||||
(AUTO-GENERATED, DO NOT SET MANUALLY) Version of the app. When the metadata is generated using clams-python SDK, this field is automatically filled in |
|||||
type |
string |
||||
|
Mmif Version |
||||
(AUTO-GENERATED, DO NOT SET MANUALLY) Version of MMIF specification the app. When the metadata is generated using clams-python SDK, this field is automatically filled in. |
|||||
type |
string |
||||
|
Analyzer Version |
||||
(optional) Version of an analyzer software, if the app is working as a wrapper for one. |
|||||
type |
string |
||||
|
App License |
||||
License information of the app. |
|||||
type |
string |
||||
|
Analyzer License |
||||
(optional) License information of an analyzer software, if the app works as a wrapper for one. |
|||||
type |
string |
||||
|
Identifier |
||||
(partly AUTO-GENERATED) IRI-formatted unique identifier for the app. If the app is to be published to the CLAMS app-directory, the developer should give a single string value composed with valid URL characters (no then when the metadata is generated using clams-python SDK, the app-directory URL is prepended and For example, Otherwise, only the |
|||||
type |
string |
||||
maxLength |
65536 |
||||
minLength |
1 |
||||
format |
uri |
||||
|
Url |
||||
A public repository where the app’s source code (git-based) and/or documentation is available. |
|||||
type |
string |
||||
maxLength |
65536 |
||||
minLength |
1 |
||||
format |
uri |
||||
|
Input |
||||
List of input types. Must have at least one element. This list should iterate all input types in an exhaustive and meticulous manner, meaning it is recommended for developers to pay extra attention to This list should interpreted conjunctive ( However, a nested list in this list means For example, All input elements in the nested list must not be |
|||||
type |
array |
||||
default |
|||||
items |
anyOf |
#/definitions/Input |
|||
type |
array |
||||
items |
#/definitions/Input |
||||
|
Output |
||||
List of output types. Must have at least one element.This list should iterate all output types in an exhaustive and meticulous manner, meaning it is recommended for developers to pay extra attention to |
|||||
type |
array |
||||
default |
|||||
items |
#/definitions/Output |
||||
|
Parameters |
||||
List of runtime parameters. Can be empty. |
|||||
type |
array |
||||
default |
|||||
items |
#/definitions/RuntimeParameter |
||||
|
Dependencies |
||||
(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, List items must be strings, not any kind of structured data. Thus, it is recommended to include a package name and its version in the string value at the minimum (e.g., |
|||||
type |
array |
||||
items |
type |
string |
|||
|
More |
||||
(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 |
|||||
|
@Type |
||||
The type of the object. Must be a IRI string. |
|||||
type |
string |
||||
maxLength |
65536 |
||||
minLength |
1 |
||||
format |
uri |
||||
|
Properties |
||||
(optional) Specification for type properties, if any. |
|||||
type |
object |
||||
default |
|||||
additionalProperties |
type |
string |
|||
|
Required |
||||
(optional, True by default) 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 |
|||||
|
@Type |
||||
The type of the object. Must be a IRI string. |
|||||
type |
string |
||||
maxLength |
65536 |
||||
minLength |
1 |
||||
format |
uri |
||||
|
Properties |
||||
(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 |
|||||
|
Name |
||||
A short name of the parameter (works as a key). |
|||||
type |
string |
||||
|
Description |
||||
A longer description of the parameter (what it does, how to use, etc.). |
|||||
type |
string |
||||
|
Type |
||||
Type of the parameter value the app expects. Must be one of (‘integer’, ‘number’, ‘string’, ‘boolean’). |
|||||
type |
string |
||||
enum |
integer, number, string, boolean |
||||
|
Choices |
||||
(optional) List of string values that can be accepted. |
|||||
type |
array |
||||
items |
anyOf |
type |
integer |
||
type |
number |
||||
type |
boolean |
||||
type |
string |
||||
|
Default |
||||
(optional) Default value for the parameter. Only valid for optional parameters. Namely, setting a default value makes a parameter ‘optional’. |
|||||
anyOf |
type |
integer |
|||
type |
number |
||||
type |
boolean |
||||
type |
string |
||||
|
Multivalued |
||||
(optional, False by default) Set True if the parameter can have multiple values. Note that, for parameters that allow multiple values, the SDK will pass a singleton list to |
|||||
type |
boolean |
||||
additionalProperties |
False |