mex-model 4.1.0__tar.gz

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 (46) hide show
  1. mex_model-4.1.0/LICENSE +21 -0
  2. mex_model-4.1.0/PKG-INFO +130 -0
  3. mex_model-4.1.0/README.md +93 -0
  4. mex_model-4.1.0/mex/__init__.py +3 -0
  5. mex_model-4.1.0/mex/model/__init__.py +22 -0
  6. mex_model-4.1.0/mex/model/entities/access-platform.json +185 -0
  7. mex_model-4.1.0/mex/model/entities/activity.json +343 -0
  8. mex_model-4.1.0/mex/model/entities/bibliographic-resource.json +511 -0
  9. mex_model-4.1.0/mex/model/entities/concept-scheme.json +47 -0
  10. mex_model-4.1.0/mex/model/entities/concept.json +104 -0
  11. mex_model-4.1.0/mex/model/entities/consent.json +104 -0
  12. mex_model-4.1.0/mex/model/entities/contact-point.json +66 -0
  13. mex_model-4.1.0/mex/model/entities/distribution.json +242 -0
  14. mex_model-4.1.0/mex/model/entities/organization.json +190 -0
  15. mex_model-4.1.0/mex/model/entities/organizational-unit.json +135 -0
  16. mex_model-4.1.0/mex/model/entities/person.json +176 -0
  17. mex_model-4.1.0/mex/model/entities/primary-source.json +150 -0
  18. mex_model-4.1.0/mex/model/entities/resource.json +777 -0
  19. mex_model-4.1.0/mex/model/entities/variable-group.json +69 -0
  20. mex_model-4.1.0/mex/model/entities/variable.json +152 -0
  21. mex_model-4.1.0/mex/model/extension/definition.json +29 -0
  22. mex_model-4.1.0/mex/model/fields/identifier.json +13 -0
  23. mex_model-4.1.0/mex/model/fields/link.json +35 -0
  24. mex_model-4.1.0/mex/model/fields/text.json +26 -0
  25. mex_model-4.1.0/mex/model/i18n/de-DE.po +774 -0
  26. mex_model-4.1.0/mex/model/i18n/en-US.po +794 -0
  27. mex_model-4.1.0/mex/model/vocabularies/access-restriction.json +26 -0
  28. mex_model-4.1.0/mex/model/vocabularies/activity-type.json +40 -0
  29. mex_model-4.1.0/mex/model/vocabularies/anonymization-pseudonymization.json +26 -0
  30. mex_model-4.1.0/mex/model/vocabularies/api-type.json +92 -0
  31. mex_model-4.1.0/mex/model/vocabularies/bibliographic-resource-type.json +269 -0
  32. mex_model-4.1.0/mex/model/vocabularies/concept-schemes.json +94 -0
  33. mex_model-4.1.0/mex/model/vocabularies/consent-status.json +40 -0
  34. mex_model-4.1.0/mex/model/vocabularies/consent-type.json +21 -0
  35. mex_model-4.1.0/mex/model/vocabularies/data-processing-state.json +64 -0
  36. mex_model-4.1.0/mex/model/vocabularies/frequency.json +257 -0
  37. mex_model-4.1.0/mex/model/vocabularies/language.json +47 -0
  38. mex_model-4.1.0/mex/model/vocabularies/license.json +19 -0
  39. mex_model-4.1.0/mex/model/vocabularies/mime-type.json +307 -0
  40. mex_model-4.1.0/mex/model/vocabularies/personal-data.json +26 -0
  41. mex_model-4.1.0/mex/model/vocabularies/resource-creation-method.json +58 -0
  42. mex_model-4.1.0/mex/model/vocabularies/resource-type-general.json +71 -0
  43. mex_model-4.1.0/mex/model/vocabularies/technical-accessibility.json +26 -0
  44. mex_model-4.1.0/mex/model/vocabularies/theme.json +82 -0
  45. mex_model-4.1.0/mex/py.typed +0 -0
  46. mex_model-4.1.0/pyproject.toml +152 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Robert Koch-Institut
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,130 @@
1
+ Metadata-Version: 2.1
2
+ Name: mex-model
3
+ Version: 4.1.0
4
+ Summary: JSON schema files defining the MEx metadata model.
5
+ Author-Email: MEx Team <mex@rki.de>
6
+ License: MIT License
7
+
8
+ Copyright (c) 2025 Robert Koch-Institut
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Project-URL: Repository, https://github.com/robert-koch-institut/mex-model
29
+ Requires-Python: >=3.9
30
+ Provides-Extra: dev
31
+ Requires-Dist: ipdb; extra == "dev"
32
+ Requires-Dist: mypy<2; extra == "dev"
33
+ Requires-Dist: ruff; extra == "dev"
34
+ Requires-Dist: sphinx-jsonschema; extra == "dev"
35
+ Requires-Dist: sphinx<9; extra == "dev"
36
+ Description-Content-Type: text/markdown
37
+
38
+ # MEx model
39
+
40
+ JSON schema files defining the MEx metadata model.
41
+
42
+ [![cookiecutter](https://github.com/robert-koch-institut/mex-model/actions/workflows/cookiecutter.yml/badge.svg)](https://github.com/robert-koch-institut/mex-template)
43
+ [![cve-scan](https://github.com/robert-koch-institut/mex-model/actions/workflows/cve-scan.yml/badge.svg)](https://github.com/robert-koch-institut/mex-model/actions/workflows/cve-scan.yml)
44
+ [![documentation](https://github.com/robert-koch-institut/mex-model/actions/workflows/documentation.yml/badge.svg)](https://robert-koch-institut.github.io/mex-model)
45
+ [![linting](https://github.com/robert-koch-institut/mex-model/actions/workflows/linting.yml/badge.svg)](https://github.com/robert-koch-institut/mex-model/actions/workflows/linting.yml)
46
+ [![open-code](https://github.com/robert-koch-institut/mex-model/actions/workflows/open-code.yml/badge.svg)](https://gitlab.opencode.de/robert-koch-institut/mex/mex-model)
47
+
48
+ ## Project
49
+
50
+ The Metadata Exchange (MEx) project is committed to improve the retrieval of RKI
51
+ research data and projects. How? By focusing on metadata: instead of providing the
52
+ actual research data directly, the MEx metadata catalog captures descriptive information
53
+ about research data and activities. On this basis, we want to make the data FAIR[^1] so
54
+ that it can be shared with others.
55
+
56
+ Via MEx, metadata will be made findable, accessible and shareable, as well as available
57
+ for further research. The goal is to get an overview of what research data is available,
58
+ understand its context, and know what needs to be considered for subsequent use.
59
+
60
+ RKI cooperated with D4L data4life gGmbH for a pilot phase where the vision of a
61
+ FAIR metadata catalog was explored and concepts and prototypes were developed.
62
+ The partnership has ended with the successful conclusion of the pilot phase.
63
+
64
+ After an internal launch, the metadata will also be made publicly available and thus be
65
+ available to external researchers as well as the interested (professional) public to
66
+ find research data from the RKI.
67
+
68
+ For further details, please consult our
69
+ [project page](https://www.rki.de/DE/Aktuelles/Publikationen/Forschungsdaten/MEx/metadata-exchange-plattform-mex-node.html).
70
+
71
+ [^1]: FAIR is referencing the so-called
72
+ [FAIR data principles](https://www.go-fair.org/fair-principles/) – guidelines to make
73
+ data Findable, Accessible, Interoperable and Reusable.
74
+
75
+ **Contact** \
76
+ For more information, please feel free to email us at [mex@rki.de](mailto:mex@rki.de).
77
+
78
+ ### Publisher
79
+
80
+ **Robert Koch-Institut** \
81
+ Nordufer 20 \
82
+ 13353 Berlin \
83
+ Germany
84
+
85
+ ## Package
86
+
87
+ Our metadata model is represented as JSON schema in `mex/model`. There, we defined 1.
88
+ `entities`, described by their properties, 2. `fields`, small objects, that are used as
89
+ `$ref` for certain properties, 3. an `extension`, which contains additional properties,
90
+ that are not in scope of the JSON schema definition, 4. `i18n` files, that hold
91
+ translations of the properties and are to be used in the context of user interfaces and
92
+ 5. `vocabularies`, which are used in context of the `entities`. A more detailed
93
+ description of the model's context can be found in `/docs/index.rst`.
94
+
95
+ ## License
96
+
97
+ This package is licensed under the [MIT license](/LICENSE). All other software
98
+ components of the MEx project are open-sourced under the same license as well.
99
+
100
+ ## Development
101
+
102
+ ### Installation
103
+
104
+ - on unix, consider using pyenv https://github.com/pyenv/pyenv
105
+ - get pyenv `curl https://pyenv.run | bash`
106
+ - install 3.11 `pyenv install 3.11`
107
+ - switch version `pyenv global 3.11`
108
+ - run `make install`
109
+ - on windows, consider using pyenv-win https://pyenv-win.github.io/pyenv-win/
110
+ - follow https://pyenv-win.github.io/pyenv-win/#quick-start
111
+ - install 3.11 `pyenv install 3.11`
112
+ - switch version `pyenv global 3.11`
113
+ - run `.\mex.bat install`
114
+
115
+ ### Linting and testing
116
+
117
+ - run all linters with `pdm lint`
118
+
119
+ ### Updating dependencies
120
+
121
+ - update boilerplate files with `cruft update`
122
+ - update global requirements in `requirements.txt` manually
123
+ - update git hooks with `pre-commit autoupdate`
124
+ - update package dependencies using `pdm update-all`
125
+ - update github actions in `.github/workflows/*.yml` manually
126
+
127
+ ### Creating release
128
+
129
+ - run `pdm release RULE` to release a new version where RULE determines which part of
130
+ the version to update and is one of `major`, `minor`, `patch`.
@@ -0,0 +1,93 @@
1
+ # MEx model
2
+
3
+ JSON schema files defining the MEx metadata model.
4
+
5
+ [![cookiecutter](https://github.com/robert-koch-institut/mex-model/actions/workflows/cookiecutter.yml/badge.svg)](https://github.com/robert-koch-institut/mex-template)
6
+ [![cve-scan](https://github.com/robert-koch-institut/mex-model/actions/workflows/cve-scan.yml/badge.svg)](https://github.com/robert-koch-institut/mex-model/actions/workflows/cve-scan.yml)
7
+ [![documentation](https://github.com/robert-koch-institut/mex-model/actions/workflows/documentation.yml/badge.svg)](https://robert-koch-institut.github.io/mex-model)
8
+ [![linting](https://github.com/robert-koch-institut/mex-model/actions/workflows/linting.yml/badge.svg)](https://github.com/robert-koch-institut/mex-model/actions/workflows/linting.yml)
9
+ [![open-code](https://github.com/robert-koch-institut/mex-model/actions/workflows/open-code.yml/badge.svg)](https://gitlab.opencode.de/robert-koch-institut/mex/mex-model)
10
+
11
+ ## Project
12
+
13
+ The Metadata Exchange (MEx) project is committed to improve the retrieval of RKI
14
+ research data and projects. How? By focusing on metadata: instead of providing the
15
+ actual research data directly, the MEx metadata catalog captures descriptive information
16
+ about research data and activities. On this basis, we want to make the data FAIR[^1] so
17
+ that it can be shared with others.
18
+
19
+ Via MEx, metadata will be made findable, accessible and shareable, as well as available
20
+ for further research. The goal is to get an overview of what research data is available,
21
+ understand its context, and know what needs to be considered for subsequent use.
22
+
23
+ RKI cooperated with D4L data4life gGmbH for a pilot phase where the vision of a
24
+ FAIR metadata catalog was explored and concepts and prototypes were developed.
25
+ The partnership has ended with the successful conclusion of the pilot phase.
26
+
27
+ After an internal launch, the metadata will also be made publicly available and thus be
28
+ available to external researchers as well as the interested (professional) public to
29
+ find research data from the RKI.
30
+
31
+ For further details, please consult our
32
+ [project page](https://www.rki.de/DE/Aktuelles/Publikationen/Forschungsdaten/MEx/metadata-exchange-plattform-mex-node.html).
33
+
34
+ [^1]: FAIR is referencing the so-called
35
+ [FAIR data principles](https://www.go-fair.org/fair-principles/) – guidelines to make
36
+ data Findable, Accessible, Interoperable and Reusable.
37
+
38
+ **Contact** \
39
+ For more information, please feel free to email us at [mex@rki.de](mailto:mex@rki.de).
40
+
41
+ ### Publisher
42
+
43
+ **Robert Koch-Institut** \
44
+ Nordufer 20 \
45
+ 13353 Berlin \
46
+ Germany
47
+
48
+ ## Package
49
+
50
+ Our metadata model is represented as JSON schema in `mex/model`. There, we defined 1.
51
+ `entities`, described by their properties, 2. `fields`, small objects, that are used as
52
+ `$ref` for certain properties, 3. an `extension`, which contains additional properties,
53
+ that are not in scope of the JSON schema definition, 4. `i18n` files, that hold
54
+ translations of the properties and are to be used in the context of user interfaces and
55
+ 5. `vocabularies`, which are used in context of the `entities`. A more detailed
56
+ description of the model's context can be found in `/docs/index.rst`.
57
+
58
+ ## License
59
+
60
+ This package is licensed under the [MIT license](/LICENSE). All other software
61
+ components of the MEx project are open-sourced under the same license as well.
62
+
63
+ ## Development
64
+
65
+ ### Installation
66
+
67
+ - on unix, consider using pyenv https://github.com/pyenv/pyenv
68
+ - get pyenv `curl https://pyenv.run | bash`
69
+ - install 3.11 `pyenv install 3.11`
70
+ - switch version `pyenv global 3.11`
71
+ - run `make install`
72
+ - on windows, consider using pyenv-win https://pyenv-win.github.io/pyenv-win/
73
+ - follow https://pyenv-win.github.io/pyenv-win/#quick-start
74
+ - install 3.11 `pyenv install 3.11`
75
+ - switch version `pyenv global 3.11`
76
+ - run `.\mex.bat install`
77
+
78
+ ### Linting and testing
79
+
80
+ - run all linters with `pdm lint`
81
+
82
+ ### Updating dependencies
83
+
84
+ - update boilerplate files with `cruft update`
85
+ - update global requirements in `requirements.txt` manually
86
+ - update git hooks with `pre-commit autoupdate`
87
+ - update package dependencies using `pdm update-all`
88
+ - update github actions in `.github/workflows/*.yml` manually
89
+
90
+ ### Creating release
91
+
92
+ - run `pdm release RULE` to release a new version where RULE determines which part of
93
+ the version to update and is one of `major`, `minor`, `patch`.
@@ -0,0 +1,3 @@
1
+ from pkgutil import extend_path
2
+
3
+ __path__ = extend_path(__path__, __name__)
@@ -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
+ }