@twin.org/standards-w3c-dcat 0.0.3-next.3

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 (87) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +21 -0
  3. package/dist/es/dataTypes/dcatDataTypes.js +77 -0
  4. package/dist/es/dataTypes/dcatDataTypes.js.map +1 -0
  5. package/dist/es/index.js +18 -0
  6. package/dist/es/index.js.map +1 -0
  7. package/dist/es/models/ICatalog.js +2 -0
  8. package/dist/es/models/ICatalog.js.map +1 -0
  9. package/dist/es/models/ICatalogRecord.js +2 -0
  10. package/dist/es/models/ICatalogRecord.js.map +1 -0
  11. package/dist/es/models/IDataService.js +2 -0
  12. package/dist/es/models/IDataService.js.map +1 -0
  13. package/dist/es/models/IDataset.js +2 -0
  14. package/dist/es/models/IDataset.js.map +1 -0
  15. package/dist/es/models/IDatasetSeries.js +2 -0
  16. package/dist/es/models/IDatasetSeries.js.map +1 -0
  17. package/dist/es/models/IDistribution.js +2 -0
  18. package/dist/es/models/IDistribution.js.map +1 -0
  19. package/dist/es/models/IRelationship.js +2 -0
  20. package/dist/es/models/IRelationship.js.map +1 -0
  21. package/dist/es/models/IResource.js +2 -0
  22. package/dist/es/models/IResource.js.map +1 -0
  23. package/dist/es/models/IRole.js +2 -0
  24. package/dist/es/models/IRole.js.map +1 -0
  25. package/dist/es/models/dcatClasses.js +56 -0
  26. package/dist/es/models/dcatClasses.js.map +1 -0
  27. package/dist/es/models/dcatContextType.js +2 -0
  28. package/dist/es/models/dcatContextType.js.map +1 -0
  29. package/dist/es/models/dcatContexts.js +38 -0
  30. package/dist/es/models/dcatContexts.js.map +1 -0
  31. package/dist/es/models/dcatRelationshipTypes.js +57 -0
  32. package/dist/es/models/dcatRelationshipTypes.js.map +1 -0
  33. package/dist/es/models/types/dcatPropertyTypes.js +4 -0
  34. package/dist/es/models/types/dcatPropertyTypes.js.map +1 -0
  35. package/dist/es/schemas/Catalog.json +491 -0
  36. package/dist/es/schemas/CatalogRecord.json +212 -0
  37. package/dist/es/schemas/DataService.json +358 -0
  38. package/dist/es/schemas/Dataset.json +407 -0
  39. package/dist/es/schemas/DatasetSeries.json +425 -0
  40. package/dist/es/schemas/Distribution.json +268 -0
  41. package/dist/es/schemas/Relationship.json +187 -0
  42. package/dist/es/schemas/Resource.json +342 -0
  43. package/dist/es/schemas/Role.json +182 -0
  44. package/dist/types/dataTypes/dcatDataTypes.d.ts +14 -0
  45. package/dist/types/index.d.ts +15 -0
  46. package/dist/types/models/ICatalog.d.ts +53 -0
  47. package/dist/types/models/ICatalogRecord.d.ts +52 -0
  48. package/dist/types/models/IDataService.d.ts +31 -0
  49. package/dist/types/models/IDataset.d.ts +60 -0
  50. package/dist/types/models/IDatasetSeries.d.ts +30 -0
  51. package/dist/types/models/IDistribution.d.ts +122 -0
  52. package/dist/types/models/IRelationship.d.ts +30 -0
  53. package/dist/types/models/IResource.d.ts +119 -0
  54. package/dist/types/models/IRole.d.ts +25 -0
  55. package/dist/types/models/dcatClasses.d.ts +56 -0
  56. package/dist/types/models/dcatContextType.d.ts +11 -0
  57. package/dist/types/models/dcatContexts.d.ts +38 -0
  58. package/dist/types/models/dcatRelationshipTypes.d.ts +57 -0
  59. package/dist/types/models/types/dcatPropertyTypes.d.ts +29 -0
  60. package/docs/changelog.md +22 -0
  61. package/docs/examples.md +1 -0
  62. package/docs/reference/classes/DcatDataTypes.md +38 -0
  63. package/docs/reference/index.md +36 -0
  64. package/docs/reference/interfaces/ICatalog.md +557 -0
  65. package/docs/reference/interfaces/ICatalogRecord.md +113 -0
  66. package/docs/reference/interfaces/IDataService.md +382 -0
  67. package/docs/reference/interfaces/IDataset.md +447 -0
  68. package/docs/reference/interfaces/IDatasetSeries.md +509 -0
  69. package/docs/reference/interfaces/IDistribution.md +281 -0
  70. package/docs/reference/interfaces/IRelationship.md +65 -0
  71. package/docs/reference/interfaces/IResource.md +274 -0
  72. package/docs/reference/interfaces/IRole.md +53 -0
  73. package/docs/reference/type-aliases/DateTimeType.md +6 -0
  74. package/docs/reference/type-aliases/DcatClasses.md +5 -0
  75. package/docs/reference/type-aliases/DcatContextType.md +16 -0
  76. package/docs/reference/type-aliases/DcatContexts.md +5 -0
  77. package/docs/reference/type-aliases/DcatRelationshipType.md +5 -0
  78. package/docs/reference/type-aliases/DecimalType.md +5 -0
  79. package/docs/reference/type-aliases/DurationType.md +5 -0
  80. package/docs/reference/type-aliases/IriType.md +5 -0
  81. package/docs/reference/type-aliases/LiteralType.md +5 -0
  82. package/docs/reference/type-aliases/NonNegativeIntegerType.md +5 -0
  83. package/docs/reference/variables/DcatClasses.md +102 -0
  84. package/docs/reference/variables/DcatContexts.md +63 -0
  85. package/docs/reference/variables/DcatRelationshipType.md +103 -0
  86. package/locales/en.json +1 -0
  87. package/package.json +57 -0
@@ -0,0 +1,187 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schema.twindev.org/w3c-dcat/Relationship",
4
+ "description": "Interface for DCAT Relationship. An association class for attaching additional information to a relationship between DCAT Resources.",
5
+ "type": "object",
6
+ "properties": {
7
+ "@context": {
8
+ "description": "The DCAT JSON-LD context type. Supports the DCAT context URL or arrays with additional context definitions.",
9
+ "type": "object",
10
+ "additionalProperties": {
11
+ "anyOf": [
12
+ {
13
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdExpandedTermDefinition"
14
+ },
15
+ {
16
+ "type": [
17
+ "null",
18
+ "string"
19
+ ]
20
+ }
21
+ ]
22
+ },
23
+ "properties": {
24
+ "@base": {
25
+ "type": [
26
+ "string",
27
+ "null"
28
+ ]
29
+ },
30
+ "@direction": {
31
+ "type": [
32
+ "string",
33
+ "null"
34
+ ],
35
+ "enum": [
36
+ "ltr",
37
+ "rtl",
38
+ null
39
+ ]
40
+ },
41
+ "@import": {
42
+ "type": "string"
43
+ },
44
+ "@language": {
45
+ "type": "string"
46
+ },
47
+ "@propagate": {
48
+ "type": "boolean"
49
+ },
50
+ "@protected": {
51
+ "type": "boolean"
52
+ },
53
+ "@type": {
54
+ "type": "object",
55
+ "properties": {
56
+ "@container": {
57
+ "type": "string",
58
+ "const": "@set"
59
+ },
60
+ "@protected": {
61
+ "type": "boolean"
62
+ }
63
+ },
64
+ "required": [
65
+ "@container"
66
+ ],
67
+ "additionalProperties": false
68
+ },
69
+ "@version": {
70
+ "type": "string",
71
+ "const": "1.1"
72
+ },
73
+ "@vocab": {
74
+ "type": [
75
+ "string",
76
+ "null"
77
+ ]
78
+ },
79
+ "dcat": {
80
+ "type": "string",
81
+ "const": "http://www.w3.org/ns/dcat#"
82
+ },
83
+ "dcterms": {
84
+ "type": "string",
85
+ "const": "http://purl.org/dc/terms/"
86
+ }
87
+ },
88
+ "required": [
89
+ "dcat",
90
+ "dcterms"
91
+ ]
92
+ },
93
+ "@id": {
94
+ "anyOf": [
95
+ {
96
+ "type": "string"
97
+ },
98
+ {
99
+ "type": "array",
100
+ "items": {
101
+ "type": "string"
102
+ }
103
+ }
104
+ ]
105
+ },
106
+ "@included": {
107
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
108
+ },
109
+ "@graph": {
110
+ "anyOf": [
111
+ {
112
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
113
+ },
114
+ {
115
+ "type": "array",
116
+ "items": {
117
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
118
+ }
119
+ }
120
+ ]
121
+ },
122
+ "@nest": {
123
+ "anyOf": [
124
+ {
125
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
126
+ },
127
+ {
128
+ "type": "array",
129
+ "items": {
130
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
131
+ }
132
+ }
133
+ ]
134
+ },
135
+ "@type": {
136
+ "type": "string",
137
+ "const": "Relationship",
138
+ "description": "The type identifier, typically \"Relationship\"."
139
+ },
140
+ "@reverse": {
141
+ "type": "object",
142
+ "additionalProperties": {
143
+ "type": "string"
144
+ }
145
+ },
146
+ "@index": {
147
+ "type": "string"
148
+ },
149
+ "dcterms:relation": {
150
+ "type": "string",
151
+ "description": "The link to a related resource."
152
+ },
153
+ "dcat:hadRole": {
154
+ "$ref": "https://schema.twindev.org/w3c-dcat/Role",
155
+ "description": "The function of an entity or agent with respect to another resource."
156
+ }
157
+ },
158
+ "required": [
159
+ "@context",
160
+ "@type"
161
+ ],
162
+ "additionalProperties": {
163
+ "anyOf": [
164
+ {
165
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
166
+ },
167
+ {
168
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
169
+ },
170
+ {
171
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIndexMap"
172
+ },
173
+ {
174
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
175
+ },
176
+ {
177
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIdMap"
178
+ },
179
+ {
180
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdTypeMap"
181
+ },
182
+ {
183
+ "type": "array"
184
+ }
185
+ ]
186
+ }
187
+ }
@@ -0,0 +1,342 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schema.twindev.org/w3c-dcat/Resource",
4
+ "description": "Base interface for DCAT catalogued resources. This is the parent class of dcat:Dataset, dcat:DataService, and dcat:Catalog.",
5
+ "type": "object",
6
+ "properties": {
7
+ "@context": {
8
+ "description": "The DCAT JSON-LD context type. Supports the DCAT context URL or arrays with additional context definitions.",
9
+ "type": "object",
10
+ "additionalProperties": {
11
+ "anyOf": [
12
+ {
13
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdExpandedTermDefinition"
14
+ },
15
+ {
16
+ "type": [
17
+ "null",
18
+ "string"
19
+ ]
20
+ }
21
+ ]
22
+ },
23
+ "properties": {
24
+ "@base": {
25
+ "type": [
26
+ "string",
27
+ "null"
28
+ ]
29
+ },
30
+ "@direction": {
31
+ "type": [
32
+ "string",
33
+ "null"
34
+ ],
35
+ "enum": [
36
+ "ltr",
37
+ "rtl",
38
+ null
39
+ ]
40
+ },
41
+ "@import": {
42
+ "type": "string"
43
+ },
44
+ "@language": {
45
+ "type": "string"
46
+ },
47
+ "@propagate": {
48
+ "type": "boolean"
49
+ },
50
+ "@protected": {
51
+ "type": "boolean"
52
+ },
53
+ "@type": {
54
+ "type": "object",
55
+ "properties": {
56
+ "@container": {
57
+ "type": "string",
58
+ "const": "@set"
59
+ },
60
+ "@protected": {
61
+ "type": "boolean"
62
+ }
63
+ },
64
+ "required": [
65
+ "@container"
66
+ ],
67
+ "additionalProperties": false
68
+ },
69
+ "@version": {
70
+ "type": "string",
71
+ "const": "1.1"
72
+ },
73
+ "@vocab": {
74
+ "type": [
75
+ "string",
76
+ "null"
77
+ ]
78
+ },
79
+ "dcat": {
80
+ "type": "string",
81
+ "const": "http://www.w3.org/ns/dcat#"
82
+ },
83
+ "dcterms": {
84
+ "type": "string",
85
+ "const": "http://purl.org/dc/terms/"
86
+ }
87
+ },
88
+ "required": [
89
+ "dcat",
90
+ "dcterms"
91
+ ]
92
+ },
93
+ "@id": {
94
+ "anyOf": [
95
+ {
96
+ "type": "string"
97
+ },
98
+ {
99
+ "type": "array",
100
+ "items": {
101
+ "type": "string"
102
+ }
103
+ }
104
+ ]
105
+ },
106
+ "@included": {
107
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
108
+ },
109
+ "@graph": {
110
+ "anyOf": [
111
+ {
112
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
113
+ },
114
+ {
115
+ "type": "array",
116
+ "items": {
117
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
118
+ }
119
+ }
120
+ ]
121
+ },
122
+ "@nest": {
123
+ "anyOf": [
124
+ {
125
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
126
+ },
127
+ {
128
+ "type": "array",
129
+ "items": {
130
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
131
+ }
132
+ }
133
+ ]
134
+ },
135
+ "@type": {
136
+ "type": "string",
137
+ "enum": [
138
+ "Resource",
139
+ "Dataset",
140
+ "DataService",
141
+ "Catalog",
142
+ "DatasetSeries"
143
+ ],
144
+ "description": "The type of the resource. Typically \"Catalog\", \"Dataset\", \"DataService\", \"DatasetSeries\", or the base \"Resource\"."
145
+ },
146
+ "@reverse": {
147
+ "type": "object",
148
+ "additionalProperties": {
149
+ "type": "string"
150
+ }
151
+ },
152
+ "@index": {
153
+ "type": "string"
154
+ },
155
+ "dcterms:title": {
156
+ "$ref": "https://schema.twindev.org/w3c-dcat/LiteralType",
157
+ "description": "A name given to the resource."
158
+ },
159
+ "dcterms:description": {
160
+ "$ref": "https://schema.twindev.org/w3c-dcat/LiteralType",
161
+ "description": "A free-text account of the resource."
162
+ },
163
+ "dcterms:identifier": {
164
+ "$ref": "https://schema.twindev.org/w3c-dcat/LiteralType",
165
+ "description": "A unique identifier of the resource."
166
+ },
167
+ "dcterms:issued": {
168
+ "$ref": "https://schema.twindev.org/w3c-dcat/DateTimeType",
169
+ "description": "Date of formal issuance (publication) of the resource."
170
+ },
171
+ "dcterms:modified": {
172
+ "$ref": "https://schema.twindev.org/w3c-dcat/DateTimeType",
173
+ "description": "Most recent date on which the resource was changed, updated or modified."
174
+ },
175
+ "dcterms:language": {
176
+ "description": "Object or array data type",
177
+ "anyOf": [
178
+ {
179
+ "type": "string"
180
+ },
181
+ {
182
+ "type": "array",
183
+ "items": {
184
+ "type": "string"
185
+ }
186
+ }
187
+ ]
188
+ },
189
+ "dcterms:publisher": {
190
+ "anyOf": [
191
+ {
192
+ "$ref": "https://schema.twindev.org/w3c-dcat/Agent"
193
+ },
194
+ {
195
+ "type": "string"
196
+ }
197
+ ],
198
+ "description": "An entity responsible for making the resource available."
199
+ },
200
+ "dcterms:creator": {
201
+ "$ref": "https://schema.twindev.org/w3c-dcat/Agent",
202
+ "description": "An entity responsible for producing the resource."
203
+ },
204
+ "dcterms:accessRights": {
205
+ "anyOf": [
206
+ {
207
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
208
+ },
209
+ {
210
+ "type": "string"
211
+ }
212
+ ],
213
+ "description": "Information about who can access the resource or an indication of its security status."
214
+ },
215
+ "dcterms:license": {
216
+ "anyOf": [
217
+ {
218
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
219
+ },
220
+ {
221
+ "type": "string"
222
+ }
223
+ ],
224
+ "description": "A legal document under which the resource is made available."
225
+ },
226
+ "dcterms:rights": {
227
+ "anyOf": [
228
+ {
229
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
230
+ },
231
+ {
232
+ "type": "string"
233
+ }
234
+ ],
235
+ "description": "Information about rights held in and over the resource."
236
+ },
237
+ "dcterms:conformsTo": {
238
+ "description": "Object or array data type",
239
+ "anyOf": [
240
+ {
241
+ "type": "string"
242
+ },
243
+ {
244
+ "type": "array",
245
+ "items": {
246
+ "type": "string"
247
+ }
248
+ }
249
+ ]
250
+ },
251
+ "dcterms:type": {
252
+ "type": "string",
253
+ "description": "The nature or genre of the resource."
254
+ },
255
+ "dcat:contactPoint": {
256
+ "anyOf": [
257
+ {
258
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
259
+ },
260
+ {
261
+ "type": "string"
262
+ }
263
+ ],
264
+ "description": "Relevant contact information for the catalogued resource."
265
+ },
266
+ "dcat:keyword": {
267
+ "$ref": "https://schema.twindev.org/w3c-dcat/LiteralType",
268
+ "description": "A keyword or tag describing the resource."
269
+ },
270
+ "dcat:theme": {
271
+ "description": "Object or array data type",
272
+ "anyOf": [
273
+ {
274
+ "type": "string"
275
+ },
276
+ {
277
+ "type": "array",
278
+ "items": {
279
+ "type": "string"
280
+ }
281
+ }
282
+ ]
283
+ },
284
+ "dcat:landingPage": {
285
+ "description": "Object or array data type",
286
+ "anyOf": [
287
+ {
288
+ "type": "string"
289
+ },
290
+ {
291
+ "type": "array",
292
+ "items": {
293
+ "type": "string"
294
+ }
295
+ }
296
+ ]
297
+ },
298
+ "dcat:qualifiedRelation": {
299
+ "anyOf": [
300
+ {
301
+ "$ref": "https://schema.twindev.org/w3c-dcat/Relationship"
302
+ },
303
+ {
304
+ "type": "string"
305
+ }
306
+ ],
307
+ "description": "Link to a description of a relationship with another resource."
308
+ },
309
+ "odrl:hasPolicy": {
310
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPolicy",
311
+ "description": "An ODRL conformant policy expressing the rights associated with the resource."
312
+ }
313
+ },
314
+ "required": [
315
+ "@type"
316
+ ],
317
+ "additionalProperties": {
318
+ "anyOf": [
319
+ {
320
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
321
+ },
322
+ {
323
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
324
+ },
325
+ {
326
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIndexMap"
327
+ },
328
+ {
329
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
330
+ },
331
+ {
332
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIdMap"
333
+ },
334
+ {
335
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdTypeMap"
336
+ },
337
+ {
338
+ "type": "array"
339
+ }
340
+ ]
341
+ }
342
+ }