mex-model 4.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. mex/__init__.py +3 -0
  2. mex/model/__init__.py +22 -0
  3. mex/model/entities/access-platform.json +185 -0
  4. mex/model/entities/activity.json +343 -0
  5. mex/model/entities/bibliographic-resource.json +511 -0
  6. mex/model/entities/concept-scheme.json +47 -0
  7. mex/model/entities/concept.json +104 -0
  8. mex/model/entities/consent.json +104 -0
  9. mex/model/entities/contact-point.json +66 -0
  10. mex/model/entities/distribution.json +242 -0
  11. mex/model/entities/organization.json +190 -0
  12. mex/model/entities/organizational-unit.json +135 -0
  13. mex/model/entities/person.json +176 -0
  14. mex/model/entities/primary-source.json +150 -0
  15. mex/model/entities/resource.json +777 -0
  16. mex/model/entities/variable-group.json +69 -0
  17. mex/model/entities/variable.json +152 -0
  18. mex/model/extension/definition.json +29 -0
  19. mex/model/fields/identifier.json +13 -0
  20. mex/model/fields/link.json +35 -0
  21. mex/model/fields/text.json +26 -0
  22. mex/model/i18n/de-DE.po +774 -0
  23. mex/model/i18n/en-US.po +794 -0
  24. mex/model/vocabularies/access-restriction.json +26 -0
  25. mex/model/vocabularies/activity-type.json +40 -0
  26. mex/model/vocabularies/anonymization-pseudonymization.json +26 -0
  27. mex/model/vocabularies/api-type.json +92 -0
  28. mex/model/vocabularies/bibliographic-resource-type.json +269 -0
  29. mex/model/vocabularies/concept-schemes.json +94 -0
  30. mex/model/vocabularies/consent-status.json +40 -0
  31. mex/model/vocabularies/consent-type.json +21 -0
  32. mex/model/vocabularies/data-processing-state.json +64 -0
  33. mex/model/vocabularies/frequency.json +257 -0
  34. mex/model/vocabularies/language.json +47 -0
  35. mex/model/vocabularies/license.json +19 -0
  36. mex/model/vocabularies/mime-type.json +307 -0
  37. mex/model/vocabularies/personal-data.json +26 -0
  38. mex/model/vocabularies/resource-creation-method.json +58 -0
  39. mex/model/vocabularies/resource-type-general.json +71 -0
  40. mex/model/vocabularies/technical-accessibility.json +26 -0
  41. mex/model/vocabularies/theme.json +82 -0
  42. mex/py.typed +0 -0
  43. mex_model-4.1.0.dist-info/METADATA +130 -0
  44. mex_model-4.1.0.dist-info/RECORD +47 -0
  45. mex_model-4.1.0.dist-info/WHEEL +4 -0
  46. mex_model-4.1.0.dist-info/entry_points.txt +4 -0
  47. mex_model-4.1.0.dist-info/licenses/LICENSE +21 -0
mex/__init__.py ADDED
@@ -0,0 +1,3 @@
1
+ from pkgutil import extend_path
2
+
3
+ __path__ = extend_path(__path__, __name__)
mex/model/__init__.py ADDED
@@ -0,0 +1,22 @@
1
+ import json
2
+ from importlib.resources import files
3
+
4
+ __all__ = (
5
+ "ENTITY_JSON_BY_NAME",
6
+ "FIELD_JSON_BY_NAME",
7
+ "VOCABULARY_JSON_BY_NAME",
8
+ )
9
+
10
+ ENTITY_JSON_BY_NAME = {
11
+ f.name.replace("-", "_").replace(".json", ""): json.loads(f.read_text("utf-8"))
12
+ for f in list(files("mex.model.entities").iterdir())
13
+ if not f.name.startswith("concept")
14
+ }
15
+ FIELD_JSON_BY_NAME = {
16
+ f.name.replace("-", "_").replace(".json", ""): json.loads(f.read_text("utf-8"))
17
+ for f in list(files("mex.model.fields").iterdir())
18
+ }
19
+ VOCABULARY_JSON_BY_NAME = {
20
+ f.name.replace("-", "_").replace(".json", ""): json.loads(f.read_text("utf-8"))
21
+ for f in list(files("mex.model.vocabularies").iterdir())
22
+ }
@@ -0,0 +1,185 @@
1
+ {
2
+ "$$target": "/schema/entities/access-platform#/identifier",
3
+ "$id": "https://mex.rki.de/schema/entities/access-platform",
4
+ "$schema": "http://json-schema.org/draft/2020-12/schema",
5
+ "description": "A technical system or service that provides access to distributions or resources.",
6
+ "properties": {
7
+ "alternativeTitle": {
8
+ "default": [],
9
+ "description": "An alternative name for the access platform.",
10
+ "items": {
11
+ "$ref": "/schema/fields/text"
12
+ },
13
+ "sameAs": [
14
+ "http://purl.org/dc/terms/alternative"
15
+ ],
16
+ "type": "array"
17
+ },
18
+ "contact": {
19
+ "default": [],
20
+ "description": "An agent that serves as a contact for the access platform.",
21
+ "items": {
22
+ "anyOf": [
23
+ {
24
+ "$ref": "/schema/entities/organizational-unit#/identifier"
25
+ },
26
+ {
27
+ "$ref": "/schema/entities/person#/identifier"
28
+ },
29
+ {
30
+ "$ref": "/schema/entities/contact-point#/identifier"
31
+ }
32
+ ]
33
+ },
34
+ "sameAs": [
35
+ "http://www.w3.org/ns/dcat#contactPoint"
36
+ ],
37
+ "type": "array"
38
+ },
39
+ "description": {
40
+ "default": [],
41
+ "description": "A short description of the access platform.",
42
+ "items": {
43
+ "$ref": "/schema/fields/text"
44
+ },
45
+ "sameAs": [
46
+ "http://purl.org/dc/terms/description"
47
+ ],
48
+ "type": "array"
49
+ },
50
+ "endpointDescription": {
51
+ "anyOf": [
52
+ {
53
+ "$ref": "/schema/fields/link"
54
+ },
55
+ {
56
+ "type": "null"
57
+ }
58
+ ],
59
+ "default": null,
60
+ "description": "A description of the services available via the end-points, including their operations, parameters etc.",
61
+ "sameAs": [
62
+ "http://www.w3.org/ns/dcat#endpointDescription"
63
+ ]
64
+ },
65
+ "endpointType": {
66
+ "anyOf": [
67
+ {
68
+ "$ref": "/schema/entities/concept#/identifier",
69
+ "examples": [
70
+ "https://mex.rki.de/item/api-type-1"
71
+ ],
72
+ "useScheme": "https://mex.rki.de/item/api-type"
73
+ },
74
+ {
75
+ "type": "null"
76
+ }
77
+ ],
78
+ "default": null,
79
+ "description": "The type of endpoint, e.g. REST.",
80
+ "subPropertyOf": [
81
+ "http://purl.org/dc/terms/type"
82
+ ]
83
+ },
84
+ "endpointURL": {
85
+ "anyOf": [
86
+ {
87
+ "$ref": "/schema/fields/link"
88
+ },
89
+ {
90
+ "type": "null"
91
+ }
92
+ ],
93
+ "default": null,
94
+ "description": "The root location or primary endpoint of the service (a Web-resolvable IRI)",
95
+ "sameAs": [
96
+ "http://www.w3.org/ns/dcat#endpointURL"
97
+ ]
98
+ },
99
+ "hadPrimarySource": {
100
+ "$ref": "/schema/entities/primary-source#/identifier",
101
+ "description": "A primary source for a topic refers to something produced by some agent with direct experience and knowledge about the topic, at the time of the topic's study, without benefit from hindsight. Because of the directness of primary sources, they 'speak for themselves' in ways that cannot be captured through the filter of secondary sources. As such, it is important for secondary sources to reference those primary sources from which they were derived, so that their reliability can be investigated. A primary source relation is a particular case of derivation of secondary materials from their primary sources. It is recognized that the determination of primary sources can be up to interpretation, and should be done according to conventions accepted within the application's domain ([PROV-O, 2013-04-30 ](http://www.w3.org/TR/2013/REC-prov-o-20130430/)).",
102
+ "sameAs": [
103
+ "http://www.w3.org/ns/prov#hadPrimarySource"
104
+ ]
105
+ },
106
+ "identifier": {
107
+ "$ref": "/schema/fields/identifier",
108
+ "description": "An unambiguous reference to the resource within a given context. Persistent identifiers should be provided as HTTP URIs ([DCT, 2020-01-20](http://dublincore.org/specifications/dublin-core/dcmi-terms/2020-01-20/)).",
109
+ "sameAs": [
110
+ "http://purl.org/dc/elements/1.1/identifier"
111
+ ]
112
+ },
113
+ "identifierInPrimarySource": {
114
+ "description": "The identifier of the item used in the primary source.",
115
+ "examples": [
116
+ "123456",
117
+ "item-501",
118
+ "D7/x4/zz.final3"
119
+ ],
120
+ "maxLength": 1000,
121
+ "minLength": 1,
122
+ "pattern": "^[^\\n\\r]+$",
123
+ "type": "string"
124
+ },
125
+ "landingPage": {
126
+ "default": [],
127
+ "description": "A Web page that can be navigated to in a Web browser to gain access to the catalog, a dataset, its distributions and/or additional information.",
128
+ "items": {
129
+ "$ref": "/schema/fields/link"
130
+ },
131
+ "sameAs": [
132
+ "http://www.w3.org/ns/dcat#landingPage"
133
+ ],
134
+ "type": "array"
135
+ },
136
+ "stableTargetId": {
137
+ "$ref": "/schema/fields/identifier"
138
+ },
139
+ "technicalAccessibility": {
140
+ "$ref": "/schema/entities/concept#/identifier",
141
+ "description": "Indicates form if the platform can be accessed only within RKI network (internally) or if the platform is accessible publicly (externally).",
142
+ "examples": [
143
+ "https://mex.rki.de/item/technical-accessibility-1"
144
+ ],
145
+ "subPropertyOf": [
146
+ "http://purl.org/dc/terms/type"
147
+ ],
148
+ "useScheme": "https://mex.rki.de/item/technical-accessibility"
149
+ },
150
+ "title": {
151
+ "default": [],
152
+ "description": "The name of the access platform.",
153
+ "items": {
154
+ "$ref": "/schema/fields/text"
155
+ },
156
+ "sameAs": [
157
+ "http://purl.org/dc/terms/title"
158
+ ],
159
+ "type": "array"
160
+ },
161
+ "unitInCharge": {
162
+ "default": [],
163
+ "description": "This property refers to agents who assume responsibility and accountability for the resource and its appropriate maintenance.",
164
+ "items": {
165
+ "$ref": "/schema/entities/organizational-unit#/identifier"
166
+ },
167
+ "sameAs": [
168
+ "http://dcat-ap.de/def/dcatde/maintainer"
169
+ ],
170
+ "type": "array"
171
+ }
172
+ },
173
+ "required": [
174
+ "hadPrimarySource",
175
+ "identifier",
176
+ "identifierInPrimarySource",
177
+ "stableTargetId",
178
+ "technicalAccessibility"
179
+ ],
180
+ "sameAs": [
181
+ "http://www.w3.org/ns/dcat#DataService"
182
+ ],
183
+ "title": "Access Platform",
184
+ "type": "object"
185
+ }
@@ -0,0 +1,343 @@
1
+ {
2
+ "$$target": "/schema/entities/activity#/identifier",
3
+ "$id": "https://mex.rki.de/schema/entities/activity",
4
+ "$schema": "http://json-schema.org/draft/2020-12/schema",
5
+ "description": "An activity carried out by RKI. This may be a research activity, such as a funded project, or a task that RKI performs under federal law. Activities provide useful context information for resources.",
6
+ "properties": {
7
+ "abstract": {
8
+ "default": [],
9
+ "description": "A short text describing the activity.",
10
+ "items": {
11
+ "$ref": "/schema/fields/text"
12
+ },
13
+ "sameAs": [
14
+ "http://purl.org/dc/terms/abstract"
15
+ ],
16
+ "type": "array"
17
+ },
18
+ "activityType": {
19
+ "default": [],
20
+ "description": "The type of the activity.",
21
+ "items": {
22
+ "$ref": "/schema/entities/concept#/identifier",
23
+ "examples": [
24
+ "https://mex.rki.de/item/activity-type-1"
25
+ ],
26
+ "useScheme": "https://mex.rki.de/item/activity-type"
27
+ },
28
+ "subPropertyOf": [
29
+ "http://purl.org/dc/terms/type"
30
+ ],
31
+ "type": "array"
32
+ },
33
+ "alternativeTitle": {
34
+ "default": [],
35
+ "description": "Another name for the activity.",
36
+ "items": {
37
+ "$ref": "/schema/fields/text"
38
+ },
39
+ "sameAs": [
40
+ "http://purl.org/dc/terms/alternative"
41
+ ],
42
+ "type": "array"
43
+ },
44
+ "contact": {
45
+ "description": " An agent serving as a contact for the activity.",
46
+ "items": {
47
+ "anyOf": [
48
+ {
49
+ "$ref": "/schema/entities/organizational-unit#/identifier"
50
+ },
51
+ {
52
+ "$ref": "/schema/entities/person#/identifier"
53
+ },
54
+ {
55
+ "$ref": "/schema/entities/contact-point#/identifier"
56
+ }
57
+ ]
58
+ },
59
+ "minItems": 1,
60
+ "sameAs": [
61
+ "http://www.w3.org/ns/dcat#contactPoint"
62
+ ],
63
+ "type": "array"
64
+ },
65
+ "documentation": {
66
+ "default": [],
67
+ "description": "A link to a document, that contains the documentation of the activity.",
68
+ "items": {
69
+ "$ref": "/schema/fields/link"
70
+ },
71
+ "subPropertyOf": [
72
+ "http://purl.org/dc/terms/isReferencedBy"
73
+ ],
74
+ "type": "array"
75
+ },
76
+ "end": {
77
+ "default": [],
78
+ "description": "(Planned) end of the activity.",
79
+ "items": {
80
+ "anyOf": [
81
+ {
82
+ "$comment": "year_month_day",
83
+ "examples": [
84
+ "2014-08-24"
85
+ ],
86
+ "pattern": "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$",
87
+ "type": "string"
88
+ },
89
+ {
90
+ "$comment": "year_month",
91
+ "examples": [
92
+ "2019-03"
93
+ ],
94
+ "pattern": "^[0-9]{4}-(?:0[1-9]|1[0-2])$",
95
+ "type": "string"
96
+ },
97
+ {
98
+ "$comment": "year",
99
+ "examples": [
100
+ "2024"
101
+ ],
102
+ "pattern": "^[0-9]{4}$",
103
+ "type": "string"
104
+ }
105
+ ]
106
+ },
107
+ "sameAs": [
108
+ "http://www.wikidata.org/entity/P582"
109
+ ],
110
+ "type": "array"
111
+ },
112
+ "externalAssociate": {
113
+ "default": [],
114
+ "description": "An external institution or person, that is associated with the activity.",
115
+ "items": {
116
+ "anyOf": [
117
+ {
118
+ "$ref": "/schema/entities/organization#/identifier"
119
+ },
120
+ {
121
+ "$ref": "/schema/entities/person#/identifier"
122
+ }
123
+ ]
124
+ },
125
+ "sameAs": [
126
+ "http://purl.org/dc/terms/contributor"
127
+ ],
128
+ "type": "array"
129
+ },
130
+ "funderOrCommissioner": {
131
+ "default": [],
132
+ "description": "An agent, that has either funded or commissioned the activity.",
133
+ "items": {
134
+ "$ref": "/schema/entities/organization#/identifier"
135
+ },
136
+ "sameAs": "http://www.wikidata.org/entity/P8324",
137
+ "type": "array"
138
+ },
139
+ "fundingProgram": {
140
+ "default": [],
141
+ "description": "The program in which the activity is funded, e.g. Horizon2020.",
142
+ "items": {
143
+ "type": "string"
144
+ },
145
+ "type": "array"
146
+ },
147
+ "hadPrimarySource": {
148
+ "$ref": "/schema/entities/primary-source#/identifier",
149
+ "description": "A primary source for a topic refers to something produced by some agent with direct experience and knowledge about the topic, at the time of the topic's study, without benefit from hindsight. Because of the directness of primary sources, they 'speak for themselves' in ways that cannot be captured through the filter of secondary sources. As such, it is important for secondary sources to reference those primary sources from which they were derived, so that their reliability can be investigated. A primary source relation is a particular case of derivation of secondary materials from their primary sources. It is recognized that the determination of primary sources can be up to interpretation, and should be done according to conventions accepted within the application's domain ([PROV-O, 2013-04-30 ](http://www.w3.org/TR/2013/REC-prov-o-20130430/)).",
150
+ "sameAs": [
151
+ "http://www.w3.org/ns/prov#hadPrimarySource"
152
+ ]
153
+ },
154
+ "identifier": {
155
+ "$ref": "/schema/fields/identifier",
156
+ "description": "An unambiguous reference to the resource within a given context. Persistent identifiers should be provided as HTTP URIs ([DCT, 2020-01-20](http://dublincore.org/specifications/dublin-core/dcmi-terms/2020-01-20/)).",
157
+ "sameAs": [
158
+ "http://purl.org/dc/elements/1.1/identifier"
159
+ ]
160
+ },
161
+ "identifierInPrimarySource": {
162
+ "description": "The identifier of the item used in the primary source.",
163
+ "examples": [
164
+ "123456",
165
+ "item-501",
166
+ "D7/x4/zz.final3"
167
+ ],
168
+ "maxLength": 1000,
169
+ "minLength": 1,
170
+ "pattern": "^[^\\n\\r]+$",
171
+ "type": "string"
172
+ },
173
+ "involvedPerson": {
174
+ "default": [],
175
+ "description": "A person involved in the activity.",
176
+ "items": {
177
+ "$ref": "/schema/entities/person#/identifier"
178
+ },
179
+ "sameAs": [
180
+ "http://purl.org/dc/terms/contributor"
181
+ ],
182
+ "type": "array"
183
+ },
184
+ "involvedUnit": {
185
+ "default": [],
186
+ "description": "An organizational unit that is involved in the activity.",
187
+ "items": {
188
+ "$ref": "/schema/entities/organizational-unit#/identifier"
189
+ },
190
+ "sameAs": [
191
+ "http://purl.org/dc/terms/contributor"
192
+ ],
193
+ "type": "array"
194
+ },
195
+ "isPartOfActivity": {
196
+ "default": [],
197
+ "description": "Another activity, this activity is part of.",
198
+ "items": {
199
+ "$ref": "/schema/entities/activity#/identifier"
200
+ },
201
+ "sameAs": [
202
+ "http://purl.org/dc/terms/isPartOf",
203
+ "http://www.cidoc-crm.org/cidoc-crm/P9i_forms_part_of"
204
+ ],
205
+ "type": "array"
206
+ },
207
+ "publication": {
208
+ "default": [],
209
+ "description": "A publication related to the activity.",
210
+ "items": {
211
+ "$ref": "/schema/entities/bibliographic-resource#/identifier"
212
+ },
213
+ "subPropertyOf": [
214
+ "http://purl.org/dc/terms/isReferencedBy"
215
+ ],
216
+ "type": "array"
217
+ },
218
+ "responsibleUnit": {
219
+ "description": "A unit, that is responsible for the activity.",
220
+ "items": {
221
+ "$ref": "/schema/entities/organizational-unit#/identifier"
222
+ },
223
+ "minItems": 1,
224
+ "sameAs": "http.//dcat-ap.de/def/dcatde/maintainer",
225
+ "type": "array"
226
+ },
227
+ "shortName": {
228
+ "default": [],
229
+ "description": "A short name for, or an abbreviated title of, the activity.",
230
+ "items": {
231
+ "$ref": "/schema/fields/text"
232
+ },
233
+ "sameAs": [
234
+ "http://www.wikidata.org/entity/P1813"
235
+ ],
236
+ "type": "array"
237
+ },
238
+ "stableTargetId": {
239
+ "$ref": "/schema/fields/identifier"
240
+ },
241
+ "start": {
242
+ "default": [],
243
+ "description": "The start of the activity.",
244
+ "items": {
245
+ "anyOf": [
246
+ {
247
+ "$comment": "year_month_day",
248
+ "examples": [
249
+ "2014-08-24"
250
+ ],
251
+ "pattern": "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$",
252
+ "type": "string"
253
+ },
254
+ {
255
+ "$comment": "year_month",
256
+ "examples": [
257
+ "2019-03"
258
+ ],
259
+ "pattern": "^[0-9]{4}-(?:0[1-9]|1[0-2])$",
260
+ "type": "string"
261
+ },
262
+ {
263
+ "$comment": "year",
264
+ "examples": [
265
+ "2024"
266
+ ],
267
+ "pattern": "^[0-9]{4}$",
268
+ "type": "string"
269
+ }
270
+ ]
271
+ },
272
+ "sameAs": [
273
+ "http://www.wikidata.org/entity/P580"
274
+ ],
275
+ "type": "array"
276
+ },
277
+ "succeeds": {
278
+ "default": [],
279
+ "description": "Another activity, that ended with the start of the described activity. A follow-up activity.",
280
+ "items": {
281
+ "$ref": "/schema/entities/activity#/identifier"
282
+ },
283
+ "sameAs": [
284
+ "http://www.cidoc-crm.org/cidoc-crm/P173_start_before_or_with_the_end_of"
285
+ ],
286
+ "type": "array"
287
+ },
288
+ "theme": {
289
+ "default": [],
290
+ "description": "The main theme or subject of the activity.",
291
+ "items": {
292
+ "$ref": "/schema/entities/concept#/identifier",
293
+ "examples": [
294
+ "https://mex.rki.de/item/theme-1"
295
+ ],
296
+ "useScheme": "https://mex.rki.de/item/theme"
297
+ },
298
+ "sameAs": [
299
+ "http://www.w3.org/ns/dcat#theme"
300
+ ],
301
+ "type": "array"
302
+ },
303
+ "title": {
304
+ "description": "The official title of the activity.",
305
+ "items": {
306
+ "$ref": "/schema/fields/text"
307
+ },
308
+ "minItems": 1,
309
+ "sameAs": [
310
+ "http://purl.org/dc/terms/title"
311
+ ],
312
+ "type": "array"
313
+ },
314
+ "website": {
315
+ "default": [],
316
+ "description": "A web presentation of the activity, e.g. on the RKI homepage.",
317
+ "items": {
318
+ "$ref": "/schema/fields/link"
319
+ },
320
+ "sameAs": [
321
+ "http://www.wikidata.org/entity/P856",
322
+ "http://xmlns.com/foaf/0.1/homepage"
323
+ ],
324
+ "type": "array"
325
+ }
326
+ },
327
+ "required": [
328
+ "contact",
329
+ "hadPrimarySource",
330
+ "identifier",
331
+ "identifierInPrimarySource",
332
+ "responsibleUnit",
333
+ "stableTargetId",
334
+ "title"
335
+ ],
336
+ "sameAs": [
337
+ "http://www.cidoc-crm.org/cidoc-crm/E7_Activity",
338
+ "http://purl.org/dc/terms/Activity",
339
+ "http://www.w3.org/ns/prov#Activity"
340
+ ],
341
+ "title": "Activity",
342
+ "type": "object"
343
+ }