-
Notifications
You must be signed in to change notification settings - Fork 3
/
ak-data-dict-schema.json
150 lines (150 loc) · 5.94 KB
/
ak-data-dict-schema.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
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "AK Region Dictionary Dictionary Schema",
"description": "Minimum required fields and terms for metadata written for USFWS Alaska Region data dictionaries.",
"$id": "ak-data-dict-schema.json",
"version": "1.0.0",
"properties": {
"dataDictionary": {
"properties": {
"subject": {},
"responsibleParty": {
"properties": {
"role": {},
"party": {}
},
"required": [
"role",
"party"
],
"errorMessage": {
"required": {
"role": "A role for a contact must be provided for the data dictionary in the 'Responsible Party' section under the 'Main' tab.",
"party": "A contact must be provided for the data dictionary in the 'Responsible Party' section under the 'Main' tab."
}
}
},
"citation": {
"properties": {
"title": {}
},
"required": [
"title"
],
"errorMessage": {
"required": {
"title": "A title must be provided for the data dictionary in the 'Basic Information' section under the 'Main' tab."
}
}
},
"domain": {
"items": {
"properties": {
"codeName": {},
"description": {},
"domainItem": {
"items": {
"properties": {
"name": {},
"value": {},
"definition": {}
},
"required": [
"name",
"value",
"definition"
],
"errorMessage": {
"required": {
"name": "A descriptive name associated with a domain value (Domain Item Name) must be provided in the 'Domain Items' section under the 'Domain' tab.",
"value": "A domain value must be provided in the 'Domain Items' section under the 'Domain' tab.",
"definition": "A definition for a domain value must be provided in the 'Domain Items' section under the 'Domain' tab."
}
}
}
}
},
"required": [
"codeName",
"description",
"domainItem"
],
"errorMessage": {
"required": {
"codeName": "A code name for the domain (defined value list) must be provided in the 'Domain Informaion' section under the 'Domains' tab.",
"description": "A description for the domain (defined value list) must be provided in the 'Domain Information' section under the 'Domain' tab.",
"domainItem": "At least one domain item must be provided for the domain (defined value list)."
}
}
}
},
"entity": {
"items": {
"properties": {
"codeName": {},
"definition": {},
"attribute": {
"items": {
"properties": {
"codeName": {},
"definition": {},
"dataType": {},
"allowNull": {}
},
"required": [
"codeName",
"definition",
"dataType",
"allowNull"
],
"errorMessage": {
"required": {
"codeName": "Provide an attribute name (code name) used to identify an attribute in the 'Attributes' section under the 'Entities' tab. Most often this will be the table or speadsheet column name.",
"definition": "Provide a succinct but comprehensive definition for the attribute in the 'Attributes' section under the 'Entities' tab.",
"dataType": "Provide a data type for the attribute in the 'Attributes' section under the 'Entities' tab.",
"allowNull": "Indicate whether null values are allowed for an attribute in the 'Attributes' section under the 'Entities' tab."
}
}
}
}
},
"required": [
"codeName",
"definition",
"attribute"
],
"errorMessage": {
"required": {
"codeName": "Provide a code name used to identify the entity in a database schema or application software in the 'Entity Information' section under the 'Entities' tab. For spreadsheets, this would likely be the sheet name.",
"definition": "Provide a brief definition for the entity in the 'Entity Information' section under the 'Entities' tab.",
"attribute": "Provide at least one attribute (column or field) for an entity under the 'Entities' tab."
}
}
}
}
},
"required": [
"subject",
"responsibleParty",
"citation",
"entity"
],
"errorMessage": {
"required": {
"subject": "A resource type must be provided for the subject of the data dictionary in the 'Basic Information' section under the 'Main' tab.",
"responsibleParty": "A point of contact must be provided for the data dictionary in the 'Responsible Party' section under the 'Main' tab.",
"citation": "A title must be provided for the data dictionary under the 'Basic Information' section of the 'Main' tab.",
"entity": "Information about entities (tables) and attributes (columns or fields) must be provided under the 'Entities' tab."
}
}
}
},
"required": [
"dataDictionary"
],
"errorMessage": {
"required": {
"dataDictionary": "Please provide a data dictionary"
}
}
}