@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,212 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schema.twindev.org/w3c-dcat/CatalogRecord",
4
+ "description": "Interface for DCAT Catalog Record. A record in a catalog, describing the registration of a single dataset or data service.",
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": "CatalogRecord",
138
+ "description": "The type identifier, typically \"CatalogRecord\"."
139
+ },
140
+ "@reverse": {
141
+ "type": "object",
142
+ "additionalProperties": {
143
+ "type": "string"
144
+ }
145
+ },
146
+ "@index": {
147
+ "type": "string"
148
+ },
149
+ "dcterms:title": {
150
+ "$ref": "https://schema.twindev.org/w3c-dcat/LiteralType",
151
+ "description": "A name given to the catalog record."
152
+ },
153
+ "dcterms:description": {
154
+ "$ref": "https://schema.twindev.org/w3c-dcat/LiteralType",
155
+ "description": "A free-text account of the catalog record."
156
+ },
157
+ "dcterms:issued": {
158
+ "$ref": "https://schema.twindev.org/w3c-dcat/DateTimeType",
159
+ "description": "The date of listing of the catalog record in the catalog."
160
+ },
161
+ "dcterms:modified": {
162
+ "$ref": "https://schema.twindev.org/w3c-dcat/DateTimeType",
163
+ "description": "Most recent date on which the catalog record entry was changed or modified."
164
+ },
165
+ "dcterms:conformsTo": {
166
+ "description": "Object or array data type",
167
+ "anyOf": [
168
+ {
169
+ "type": "string"
170
+ },
171
+ {
172
+ "type": "array",
173
+ "items": {
174
+ "type": "string"
175
+ }
176
+ }
177
+ ]
178
+ },
179
+ "foaf:primaryTopic": {
180
+ "$ref": "https://schema.twindev.org/w3c-dcat/Resource",
181
+ "description": "The dataset or data service described in the catalog record."
182
+ }
183
+ },
184
+ "required": [
185
+ "@type"
186
+ ],
187
+ "additionalProperties": {
188
+ "anyOf": [
189
+ {
190
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
191
+ },
192
+ {
193
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
194
+ },
195
+ {
196
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIndexMap"
197
+ },
198
+ {
199
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
200
+ },
201
+ {
202
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIdMap"
203
+ },
204
+ {
205
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdTypeMap"
206
+ },
207
+ {
208
+ "type": "array"
209
+ }
210
+ ]
211
+ }
212
+ }
@@ -0,0 +1,358 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schema.twindev.org/w3c-dcat/DataService",
4
+ "description": "Interface for DCAT Data Service. A collection of operations that provides access to one or more datasets or data processing functions.",
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": "DataService",
138
+ "description": "The type identifier, typically \"DataService\"."
139
+ },
140
+ "@reverse": {
141
+ "type": "object",
142
+ "additionalProperties": {
143
+ "type": "string"
144
+ }
145
+ },
146
+ "@index": {
147
+ "type": "string"
148
+ },
149
+ "dcterms:title": {
150
+ "$ref": "https://schema.twindev.org/w3c-dcat/LiteralType",
151
+ "description": "A name given to the resource."
152
+ },
153
+ "dcterms:description": {
154
+ "$ref": "https://schema.twindev.org/w3c-dcat/LiteralType",
155
+ "description": "A free-text account of the resource."
156
+ },
157
+ "dcterms:identifier": {
158
+ "$ref": "https://schema.twindev.org/w3c-dcat/LiteralType",
159
+ "description": "A unique identifier of the resource."
160
+ },
161
+ "dcterms:issued": {
162
+ "$ref": "https://schema.twindev.org/w3c-dcat/DateTimeType",
163
+ "description": "Date of formal issuance (publication) of the resource."
164
+ },
165
+ "dcterms:modified": {
166
+ "$ref": "https://schema.twindev.org/w3c-dcat/DateTimeType",
167
+ "description": "Most recent date on which the resource was changed, updated or modified."
168
+ },
169
+ "dcterms:language": {
170
+ "description": "Object or array data type",
171
+ "anyOf": [
172
+ {
173
+ "type": "string"
174
+ },
175
+ {
176
+ "type": "array",
177
+ "items": {
178
+ "type": "string"
179
+ }
180
+ }
181
+ ]
182
+ },
183
+ "dcterms:publisher": {
184
+ "anyOf": [
185
+ {
186
+ "$ref": "https://schema.twindev.org/w3c-dcat/Agent"
187
+ },
188
+ {
189
+ "type": "string"
190
+ }
191
+ ],
192
+ "description": "An entity responsible for making the resource available."
193
+ },
194
+ "dcterms:creator": {
195
+ "$ref": "https://schema.twindev.org/w3c-dcat/Agent",
196
+ "description": "An entity responsible for producing the resource."
197
+ },
198
+ "dcterms:accessRights": {
199
+ "anyOf": [
200
+ {
201
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
202
+ },
203
+ {
204
+ "type": "string"
205
+ }
206
+ ],
207
+ "description": "Information about who can access the resource or an indication of its security status."
208
+ },
209
+ "dcterms:license": {
210
+ "anyOf": [
211
+ {
212
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
213
+ },
214
+ {
215
+ "type": "string"
216
+ }
217
+ ],
218
+ "description": "A legal document under which the resource is made available."
219
+ },
220
+ "dcterms:rights": {
221
+ "anyOf": [
222
+ {
223
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
224
+ },
225
+ {
226
+ "type": "string"
227
+ }
228
+ ],
229
+ "description": "Information about rights held in and over the resource."
230
+ },
231
+ "dcterms:conformsTo": {
232
+ "description": "Object or array data type",
233
+ "anyOf": [
234
+ {
235
+ "type": "string"
236
+ },
237
+ {
238
+ "type": "array",
239
+ "items": {
240
+ "type": "string"
241
+ }
242
+ }
243
+ ]
244
+ },
245
+ "dcterms:type": {
246
+ "type": "string",
247
+ "description": "The nature or genre of the resource."
248
+ },
249
+ "dcat:contactPoint": {
250
+ "anyOf": [
251
+ {
252
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
253
+ },
254
+ {
255
+ "type": "string"
256
+ }
257
+ ],
258
+ "description": "Relevant contact information for the catalogued resource."
259
+ },
260
+ "dcat:keyword": {
261
+ "$ref": "https://schema.twindev.org/w3c-dcat/LiteralType",
262
+ "description": "A keyword or tag describing the resource."
263
+ },
264
+ "dcat:theme": {
265
+ "description": "Object or array data type",
266
+ "anyOf": [
267
+ {
268
+ "type": "string"
269
+ },
270
+ {
271
+ "type": "array",
272
+ "items": {
273
+ "type": "string"
274
+ }
275
+ }
276
+ ]
277
+ },
278
+ "dcat:landingPage": {
279
+ "description": "Object or array data type",
280
+ "anyOf": [
281
+ {
282
+ "type": "string"
283
+ },
284
+ {
285
+ "type": "array",
286
+ "items": {
287
+ "type": "string"
288
+ }
289
+ }
290
+ ]
291
+ },
292
+ "dcat:qualifiedRelation": {
293
+ "anyOf": [
294
+ {
295
+ "$ref": "https://schema.twindev.org/w3c-dcat/Relationship"
296
+ },
297
+ {
298
+ "type": "string"
299
+ }
300
+ ],
301
+ "description": "Link to a description of a relationship with another resource."
302
+ },
303
+ "odrl:hasPolicy": {
304
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPolicy",
305
+ "description": "An ODRL conformant policy expressing the rights associated with the resource."
306
+ },
307
+ "dcat:endpointURL": {
308
+ "type": "string",
309
+ "description": "The root location or primary endpoint of the service (a Web-resolvable IRI)."
310
+ },
311
+ "dcat:endpointDescription": {
312
+ "type": "string",
313
+ "description": "A description of the services available via the end-points, including their operations, parameters, etc."
314
+ },
315
+ "dcat:servesDataset": {
316
+ "description": "Object or array data type",
317
+ "anyOf": [
318
+ {
319
+ "type": "string"
320
+ },
321
+ {
322
+ "type": "array",
323
+ "items": {
324
+ "type": "string"
325
+ }
326
+ }
327
+ ]
328
+ }
329
+ },
330
+ "required": [
331
+ "@type"
332
+ ],
333
+ "additionalProperties": {
334
+ "anyOf": [
335
+ {
336
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
337
+ },
338
+ {
339
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
340
+ },
341
+ {
342
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIndexMap"
343
+ },
344
+ {
345
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
346
+ },
347
+ {
348
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIdMap"
349
+ },
350
+ {
351
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdTypeMap"
352
+ },
353
+ {
354
+ "type": "array"
355
+ }
356
+ ]
357
+ }
358
+ }