-
-
Notifications
You must be signed in to change notification settings - Fork 125
Expand file tree
/
Copy pathopenml.run.upload.xsd
More file actions
114 lines (112 loc) · 8.56 KB
/
openml.run.upload.xsd
File metadata and controls
114 lines (112 loc) · 8.56 KB
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
<xs:schema targetNamespace="http://openml.org/openml" xmlns:oml="http://openml.org/openml" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="run" type="oml:run"/>
<xs:complexType name="run">
<xs:sequence>
<xs:element name="run_id" minOccurs="0" type="xs:integer"/> <!-- The integer id of the run. Added by server. Ignored when uploading a run -->
<xs:element name="uploader" minOccurs="0" type="xs:integer"/> <!-- The id of user that uploaded the run. Added by server. Ignored when uploading a run -->
<xs:element name="uploader_name" minOccurs="0" type="oml:basic_latin128"/> <!-- The username of user that uploaded the run. Added by server. Ignored when uploading a run -->
<xs:element name="task_id" minOccurs="0" type="xs:integer"/> <!-- Required for run upload, optional for setup exists. The id of the task that is solved in this run. This id is given in the task description. -->
<xs:element name="task_type" minOccurs="0" type="oml:basic_latin128"/> <!-- Added by server. Ignored when uploading a run -->
<xs:element name="task_evaluation_measure" minOccurs="0" type="oml:basic_latin128"/> <!-- Added by server. Ignored when uploading a run -->
<xs:element name="flow_id" type="xs:integer"/> <!-- The id of the implementation (algorithm, workflow,...) used to solve the task. This id is returned by the API when you first upload the implementation, or given in the implementation description when you download an existing implementation. -->
<xs:element name="flow_name" minOccurs="0" type="oml:casual_string1024"/> <!--Added by server. Ignored when uploading a run -->
<xs:element name="setup_id" minOccurs="0" type="xs:integer"/> <!-- the setup id, will be ignored when uploading a run (i.e., it will be searched based on the parameter settings) -->
<xs:element name="setup_string" minOccurs="0" type="oml:basic_latin2048"/> <!-- The CLI string that can invoke the learner with the correct parameter settings. -->
<xs:element name="error_message" minOccurs="0" type="oml:basic_latin128"/> <!-- Whenever an error occurs during the run, this can be reported here for further inspection and on line logging purposes. -->
<xs:element name="run_details" minOccurs="0" type="oml:casual_string1024"/> <!-- Any other information useful for reproducing the run, e.g. exact package versions, hardware info. -->
<xs:element name="parameter_setting" minOccurs="0" maxOccurs="unbounded" type="oml:parameter_setting"/> <!-- The parameter settings used in this run -->
<xs:element name="tag" minOccurs="0" maxOccurs="unbounded" type="oml:system_string128" /> <!-- Tags, describing the run -->
<xs:element name="input_data" minOccurs="0" type="oml:data"/> <!-- all data that served as input for the run. Determined server side, will be ignored on uploading -->
<xs:element name="output_data" minOccurs="0" type="oml:data"/> <!-- all data that was the output of this run, i.e., predictions, evaluation scores. Most of this will be determined server side, but users can also provide evaluation scores for their own evaluation measures. -->
</xs:sequence>
</xs:complexType>
<xs:complexType name="parameter_setting">
<xs:sequence>
<xs:element name="name" type="oml:casual_string1024"/> <!-- The name of the parameter that is set -->
<xs:element name="value" type="oml:basic_latin2048"/> <!-- The value used for this parameter -->
<xs:element name="component" minOccurs="0" maxOccurs="1" type="xs:integer"/> <!-- If the parameter belongs to a subcomponent of an implementation, the flow id of that component. This name must match the id of a component of the implementation that is stated above (in 'implementation_id'). -->
</xs:sequence>
</xs:complexType>
<xs:complexType name="data">
<xs:sequence>
<xs:element name="dataset" minOccurs="0" maxOccurs="unbounded" type="oml:dataset" />
<xs:element name="file" minOccurs="0" maxOccurs="unbounded" type="oml:file" />
<xs:element name="evaluation" minOccurs="0" maxOccurs="unbounded" type="oml:evaluation" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="dataset">
<xs:sequence>
<xs:element name="did" type="xs:integer"/> <!-- A reference to the dataset table, by did.-->
<xs:element name="name" type="oml:casual_string128"/> <!-- The name of the dataset -->
<xs:element name="url" type="xs:anyURI"/> <!-- A url to the datset -->
</xs:sequence>
</xs:complexType>
<xs:complexType name="file">
<xs:sequence>
<xs:element name="did" type="xs:integer"/> <!-- A reference to the runfiles table, by did. Added by server. Ignored when uploading a run-->
<xs:element name="file_id" type="xs:integer"/> <!-- Added by server. Ignored when uploading a run.-->
<xs:element name="name" type="oml:casual_string128"/> <!-- The name of the dataset. Added by server. Ignored when uploading a run -->
<xs:element name="url" type="xs:anyURI"/> <!-- A url to the datset. Added by server. Ignored when uploading a run -->
</xs:sequence>
</xs:complexType>
<xs:complexType name="evaluation">
<xs:sequence>
<xs:element name="did" minOccurs="0" type="xs:integer"/> <!-- A reference to the dataset table, by did. Ignored when uploading -->
<xs:element name="name" type="oml:system_string128"/> <!-- A reference to the math_function that was used -->
<xs:element name="flow_id" minOccurs="0" type="xs:integer"/> <!-- A reference to the implementation table entry (implementing this specific math function) -->
<xs:element name="flow" minOccurs="0" type="oml:casual_string1024"/> <!-- A reference to the implementation table entry (implementing this specific math function) -->
<xs:element name="label" minOccurs="0" type="oml:casual_string1024"/> <!-- A reference to the implementation table entry (implementing this specific math function) -->
<xs:element name="value" minOccurs="0" type="xs:double"/> <!-- The result of the math_function. (Sidenote: If you sumbit values of math_functions that are also run on live, it will be used to test whether the outcome is similar.) -->
<xs:element name="stdev" minOccurs="0" type="xs:double"/> <!-- In case the global performance is based upon multiple folds, a stdev can be given -->
<xs:element name="array_data" minOccurs="0" type="oml:basic_latin128"/> <!-- In some cases, a function returns array data (i.e., precision, recall). -->
<xs:element name="sample_size" minOccurs="0" type="xs:integer"/> <!-- In the case of a sample, the size of the sample. -->
</xs:sequence>
<xs:attribute name="repeat" type="xs:integer" />
<xs:attribute name="fold" type="xs:integer" />
<xs:attribute name="sample" type="xs:integer" />
<xs:attribute name="interval_start" type="xs:integer" />
<xs:attribute name="interval_end" type="xs:integer" />
</xs:complexType>
<xs:simpleType name="system_string128"> <!-- Subset on xs:string. Highly restricted form of string. URL-friendly -->
<xs:restriction base="xs:string">
<xs:pattern value="([a-zA-Z0-9_\-\.])+"/>
<xs:maxLength value="128" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="casual_string128"> <!-- Subset on xs:string. Slightly restricted form of string, but not neccessarilly URL-friendly -->
<xs:restriction base="xs:string">
<xs:pattern value="([a-zA-Z0-9_\-\.,\(\):])+"/>
<xs:maxLength value="128" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="casual_string1024"> <!-- Subset on xs:string. Slightly restricted form of string, but not neccessarilly URL-friendly -->
<xs:restriction base="xs:string">
<xs:pattern value="([a-zA-Z0-9_\-\.,\(\):])+"/>
<xs:maxLength value="1024" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="basic_latin2048"> <!-- TODO: NOTE THAT MIN LENGTH IS 0. CHANGE WHEN OK? -->
<xs:restriction base="xs:string">
<xs:pattern value="\p{IsBasicLatin}*"/>
<xs:maxLength value="2048" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="basic_latin1024">
<xs:restriction base="xs:string">
<xs:pattern value="\p{IsBasicLatin}*"/>
<xs:maxLength value="1024" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="basic_latin128">
<xs:restriction base="xs:string">
<xs:pattern value="\p{IsBasicLatin}*"/>
<xs:maxLength value="128" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:schema>