-
Notifications
You must be signed in to change notification settings - Fork 7
/
testAction.json
159 lines (159 loc) · 4.63 KB
/
testAction.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
{
"$id": "https://www.elixir-europe.org/excelerate/WP2/json-schemas/1.0/TestAction",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Test Action concept (ELIXIR-EXCELERATE WP2 Benchmarking schemas)",
"type": "object",
"properties": {
"_id": {
"title": "The unique id of the test action, according to the rules",
"type": "string",
"oneOf": [
{
"$ref": "_shared#/definitions/OriginalIdOnSub"
},
{
"pattern": "^OEBA[0-9]{3}t[A-Z0-9]{6}$",
"description": "Temporary identifiers internally used must follow this pattern",
"readOnly": true
},
{
"pattern": "^OEBA[0-9]{3}[A-Z0-9]{7}$",
"description": "Identifiers returned by the APIs must follow this pattern",
"readOnly": true
}
]
},
"_schema": {
"title": "The JSON schema absolute URI. It must match the value of 'id' in the JSON schema",
"type": "string",
"format": "uri",
"enum": [ "https://www.elixir-europe.org/excelerate/WP2/json-schemas/1.0/TestAction" ]
},
"_metadata": {
"$ref": "_shared#/definitions/Metadata"
},
"orig_id": {
"title": "The test action original id",
"$ref": "_shared#/definitions/OriginalId"
},
"tool_id": {
"title": "The id of the processing tool",
"description": "The id of the tool which processes a set of datasets for this action. Most of the time is a participant's tool, but in the case of aggregation or statistic events, is a tool related to a kind of challenge's metrics",
"type": "string",
"foreign_keys": [
{
"schema_id": "Tool",
"members": [ "." ]
}
],
"minLength": 1
},
"action_type": {
"title": "The type of action",
"description": "The type of action performed by the tool, also describing the kind of input datasets.\nTest Event = Input + Tool -> Participant Data\nMetrics event = Participant Data + Metrics -> Assessment Data\nStatistics event = Assessment Data + Metrics -> Challenge Data\n",
"type": "string",
"enum": [ "SetupEvent", "MetricsEvent", "StatisticsEvent", "AggregationEvent", "TestEvent" ]
},
"involved_datasets": {
"title": "The incoming, outgoing and settings datasets involved in this test action",
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"dataset_id": {
"title": "A received dataset, with this id",
"type": "string",
"foreign_keys": [
{
"schema_id": "Dataset",
"members": [ "." ]
}
],
"minLength": 1
},
"role": {
"title": "The kind of dataset received for this action (report, metrics_reference, etc...)",
"type": "string",
"enum": [
"incoming",
"outgoing",
"settings",
"unknown"
]
},
"received": {
"title": "Reception date of the dataset (redundant, as the output dataset already has this date)",
"type": "string",
"format": "date-time"
}
},
"required": [ "dataset_id", "role" ]
}
},
"challenge_id": {
"title": "The id of the challenge where this test action was generated",
"type": "string",
"foreign_keys": [
{
"schema_id": "Challenge",
"members": [ "." ]
}
],
"minLength": 1
},
"test_contact_ids": {
"title": "Contact id(s) related to the action",
"description": "The test action contact id(s), i.e. the runners of the tool and depositors of the results",
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"foreign_keys": [
{
"schema_id": "Contact",
"members": [ "." ]
}
],
"minLength": 1
}
},
"status": {
"title": "The lifecicle of the testAction will be managed by the API, validating it is progressing forward instead of backward",
"type": "string",
"enum": [ "scheduled", "sent", "incomplete", "complete", "failed" ]
},
"dates": {
"title": "Relevant dates for this test action",
"type": "object",
"properties": {
"creation": {
"title": "Creation date of the test action",
"type": "string",
"format": "date-time"
},
"modification": {
"title": "Last modification date of the test action",
"type": "string",
"format": "date-time"
},
"public": {
"title": "The date when this test action becomes public",
"type": "string",
"format": "date-time"
}
},
"required": ["creation"]
},
"metadata": {
"title": "Relevant metadata used to call the tool",
"type": "object",
"minProperties": 1,
"additionalProperties": true
}
},
"additionalProperties": false,
"required": ["_id","_schema","involved_datasets","challenge_id","test_contact_ids","dates"],
"primary_key": ["_id"],
"dependencies": {}
}