@twin.org/standards-w3c-dcat 0.0.3-next.10
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.
- package/LICENSE +201 -0
- package/README.md +21 -0
- package/dist/es/dataTypes/dcatDataTypes.js +77 -0
- package/dist/es/dataTypes/dcatDataTypes.js.map +1 -0
- package/dist/es/index.js +19 -0
- package/dist/es/index.js.map +1 -0
- package/dist/es/models/IDcatCatalog.js +2 -0
- package/dist/es/models/IDcatCatalog.js.map +1 -0
- package/dist/es/models/IDcatCatalogRecord.js +2 -0
- package/dist/es/models/IDcatCatalogRecord.js.map +1 -0
- package/dist/es/models/IDcatDataService.js +2 -0
- package/dist/es/models/IDcatDataService.js.map +1 -0
- package/dist/es/models/IDcatDataset.js +2 -0
- package/dist/es/models/IDcatDataset.js.map +1 -0
- package/dist/es/models/IDcatDatasetSeries.js +2 -0
- package/dist/es/models/IDcatDatasetSeries.js.map +1 -0
- package/dist/es/models/IDcatDistribution.js +2 -0
- package/dist/es/models/IDcatDistribution.js.map +1 -0
- package/dist/es/models/IDcatRelationship.js +2 -0
- package/dist/es/models/IDcatRelationship.js.map +1 -0
- package/dist/es/models/IDcatResource.js +2 -0
- package/dist/es/models/IDcatResource.js.map +1 -0
- package/dist/es/models/IDcatRole.js +2 -0
- package/dist/es/models/IDcatRole.js.map +1 -0
- package/dist/es/models/dcatClasses.js +56 -0
- package/dist/es/models/dcatClasses.js.map +1 -0
- package/dist/es/models/dcatContextType.js +2 -0
- package/dist/es/models/dcatContextType.js.map +1 -0
- package/dist/es/models/dcatContexts.js +42 -0
- package/dist/es/models/dcatContexts.js.map +1 -0
- package/dist/es/models/dcatRelationshipTypes.js +57 -0
- package/dist/es/models/dcatRelationshipTypes.js.map +1 -0
- package/dist/es/models/types/dcatContextFreeTypes.js +4 -0
- package/dist/es/models/types/dcatContextFreeTypes.js.map +1 -0
- package/dist/es/models/types/dcatPropertyTypes.js +4 -0
- package/dist/es/models/types/dcatPropertyTypes.js.map +1 -0
- package/dist/es/schemas/DcatCatalog.json +500 -0
- package/dist/es/schemas/DcatCatalogRecord.json +221 -0
- package/dist/es/schemas/DcatDataService.json +367 -0
- package/dist/es/schemas/DcatDataset.json +416 -0
- package/dist/es/schemas/DcatDatasetSeries.json +434 -0
- package/dist/es/schemas/DcatDistribution.json +277 -0
- package/dist/es/schemas/DcatRelationship.json +195 -0
- package/dist/es/schemas/DcatResource.json +351 -0
- package/dist/es/schemas/DcatRole.json +191 -0
- package/dist/types/dataTypes/dcatDataTypes.d.ts +14 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/types/models/IDcatCatalog.d.ts +52 -0
- package/dist/types/models/IDcatCatalogRecord.d.ts +52 -0
- package/dist/types/models/IDcatDataService.d.ts +31 -0
- package/dist/types/models/IDcatDataset.d.ts +60 -0
- package/dist/types/models/IDcatDatasetSeries.d.ts +30 -0
- package/dist/types/models/IDcatDistribution.d.ts +122 -0
- package/dist/types/models/IDcatRelationship.d.ts +30 -0
- package/dist/types/models/IDcatResource.d.ts +119 -0
- package/dist/types/models/IDcatRole.d.ts +25 -0
- package/dist/types/models/dcatClasses.d.ts +56 -0
- package/dist/types/models/dcatContextType.d.ts +15 -0
- package/dist/types/models/dcatContexts.d.ts +42 -0
- package/dist/types/models/dcatRelationshipTypes.d.ts +57 -0
- package/dist/types/models/types/dcatContextFreeTypes.d.ts +40 -0
- package/dist/types/models/types/dcatPropertyTypes.d.ts +29 -0
- package/docs/changelog.md +146 -0
- package/docs/examples.md +1 -0
- package/docs/reference/classes/DcatDataTypes.md +38 -0
- package/docs/reference/index.md +41 -0
- package/docs/reference/interfaces/IDcatCatalog.md +557 -0
- package/docs/reference/interfaces/IDcatCatalogRecord.md +113 -0
- package/docs/reference/interfaces/IDcatDataService.md +382 -0
- package/docs/reference/interfaces/IDcatDataset.md +447 -0
- package/docs/reference/interfaces/IDcatDatasetSeries.md +509 -0
- package/docs/reference/interfaces/IDcatDistribution.md +281 -0
- package/docs/reference/interfaces/IDcatRelationship.md +65 -0
- package/docs/reference/interfaces/IDcatResource.md +274 -0
- package/docs/reference/interfaces/IDcatRole.md +53 -0
- package/docs/reference/type-aliases/CatalogOptionalContext.md +11 -0
- package/docs/reference/type-aliases/CatalogRecordOptionalContext.md +11 -0
- package/docs/reference/type-aliases/DataServiceOptionalContext.md +11 -0
- package/docs/reference/type-aliases/DatasetOptionalContext.md +11 -0
- package/docs/reference/type-aliases/DcatClasses.md +5 -0
- package/docs/reference/type-aliases/DcatContextType.md +24 -0
- package/docs/reference/type-aliases/DcatContexts.md +5 -0
- package/docs/reference/type-aliases/DcatDateTimeType.md +6 -0
- package/docs/reference/type-aliases/DcatDecimalType.md +5 -0
- package/docs/reference/type-aliases/DcatDurationType.md +5 -0
- package/docs/reference/type-aliases/DcatIriType.md +5 -0
- package/docs/reference/type-aliases/DcatLiteralType.md +5 -0
- package/docs/reference/type-aliases/DcatNonNegativeIntegerType.md +5 -0
- package/docs/reference/type-aliases/DcatRelationshipType.md +5 -0
- package/docs/reference/type-aliases/DistributionOptionalContext.md +11 -0
- package/docs/reference/variables/DcatClasses.md +102 -0
- package/docs/reference/variables/DcatContexts.md +69 -0
- package/docs/reference/variables/DcatRelationshipType.md +103 -0
- package/locales/en.json +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.twindev.org/w3c-dcat/DcatResource",
|
|
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
|
+
"odrl": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"const": "http://www.w3.org/ns/odrl/2/"
|
|
90
|
+
},
|
|
91
|
+
"foaf": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"const": "https://xmlns.com/foaf/0.1/"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"required": [
|
|
97
|
+
"dcat",
|
|
98
|
+
"dcterms"
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
"@id": {
|
|
102
|
+
"anyOf": [
|
|
103
|
+
{
|
|
104
|
+
"type": "string"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"type": "array",
|
|
108
|
+
"items": {
|
|
109
|
+
"type": "string"
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
"@included": {
|
|
115
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
|
|
116
|
+
},
|
|
117
|
+
"@graph": {
|
|
118
|
+
"anyOf": [
|
|
119
|
+
{
|
|
120
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"type": "array",
|
|
124
|
+
"items": {
|
|
125
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
"@nest": {
|
|
131
|
+
"anyOf": [
|
|
132
|
+
{
|
|
133
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"type": "array",
|
|
137
|
+
"items": {
|
|
138
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"@type": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"enum": [
|
|
146
|
+
"dcat:Resource",
|
|
147
|
+
"dcat:Dataset",
|
|
148
|
+
"dcat:DataService",
|
|
149
|
+
"dcat:Catalog",
|
|
150
|
+
"dcat:DatasetSeries"
|
|
151
|
+
],
|
|
152
|
+
"description": "The type of the resource. Typically \"Catalog\", \"Dataset\", \"DataService\", \"DatasetSeries\", or the base \"Resource\"."
|
|
153
|
+
},
|
|
154
|
+
"@reverse": {
|
|
155
|
+
"type": "object",
|
|
156
|
+
"additionalProperties": {
|
|
157
|
+
"type": "string"
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"@index": {
|
|
161
|
+
"type": "string"
|
|
162
|
+
},
|
|
163
|
+
"dcterms:title": {
|
|
164
|
+
"$ref": "https://schema.twindev.org/w3c-dcat/DcatLiteralType",
|
|
165
|
+
"description": "A name given to the resource."
|
|
166
|
+
},
|
|
167
|
+
"dcterms:description": {
|
|
168
|
+
"$ref": "https://schema.twindev.org/w3c-dcat/DcatLiteralType",
|
|
169
|
+
"description": "A free-text account of the resource."
|
|
170
|
+
},
|
|
171
|
+
"dcterms:identifier": {
|
|
172
|
+
"$ref": "https://schema.twindev.org/w3c-dcat/DcatLiteralType",
|
|
173
|
+
"description": "A unique identifier of the resource."
|
|
174
|
+
},
|
|
175
|
+
"dcterms:issued": {
|
|
176
|
+
"$ref": "https://schema.twindev.org/w3c-dcat/DcatDateTimeType",
|
|
177
|
+
"description": "Date of formal issuance (publication) of the resource."
|
|
178
|
+
},
|
|
179
|
+
"dcterms:modified": {
|
|
180
|
+
"$ref": "https://schema.twindev.org/w3c-dcat/DcatDateTimeType",
|
|
181
|
+
"description": "Most recent date on which the resource was changed, updated or modified."
|
|
182
|
+
},
|
|
183
|
+
"dcterms:language": {
|
|
184
|
+
"description": "Object or array data type",
|
|
185
|
+
"anyOf": [
|
|
186
|
+
{
|
|
187
|
+
"type": "string"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"type": "array",
|
|
191
|
+
"items": {
|
|
192
|
+
"type": "string"
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
]
|
|
196
|
+
},
|
|
197
|
+
"dcterms:publisher": {
|
|
198
|
+
"anyOf": [
|
|
199
|
+
{
|
|
200
|
+
"$ref": "https://schema.twindev.org/w3c-dcat/FoafAgent"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"type": "string"
|
|
204
|
+
}
|
|
205
|
+
],
|
|
206
|
+
"description": "An entity responsible for making the resource available."
|
|
207
|
+
},
|
|
208
|
+
"dcterms:creator": {
|
|
209
|
+
"$ref": "https://schema.twindev.org/w3c-dcat/FoafAgent",
|
|
210
|
+
"description": "An entity responsible for producing the resource."
|
|
211
|
+
},
|
|
212
|
+
"dcterms:accessRights": {
|
|
213
|
+
"anyOf": [
|
|
214
|
+
{
|
|
215
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"type": "string"
|
|
219
|
+
}
|
|
220
|
+
],
|
|
221
|
+
"description": "Information about who can access the resource or an indication of its security status."
|
|
222
|
+
},
|
|
223
|
+
"dcterms:license": {
|
|
224
|
+
"anyOf": [
|
|
225
|
+
{
|
|
226
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"type": "string"
|
|
230
|
+
}
|
|
231
|
+
],
|
|
232
|
+
"description": "A legal document under which the resource is made available."
|
|
233
|
+
},
|
|
234
|
+
"dcterms:rights": {
|
|
235
|
+
"anyOf": [
|
|
236
|
+
{
|
|
237
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"type": "string"
|
|
241
|
+
}
|
|
242
|
+
],
|
|
243
|
+
"description": "Information about rights held in and over the resource."
|
|
244
|
+
},
|
|
245
|
+
"dcterms:conformsTo": {
|
|
246
|
+
"description": "Object or array data type",
|
|
247
|
+
"anyOf": [
|
|
248
|
+
{
|
|
249
|
+
"type": "string"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"type": "array",
|
|
253
|
+
"items": {
|
|
254
|
+
"type": "string"
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
]
|
|
258
|
+
},
|
|
259
|
+
"dcterms:type": {
|
|
260
|
+
"type": "string",
|
|
261
|
+
"description": "The nature or genre of the resource."
|
|
262
|
+
},
|
|
263
|
+
"dcat:contactPoint": {
|
|
264
|
+
"anyOf": [
|
|
265
|
+
{
|
|
266
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"type": "string"
|
|
270
|
+
}
|
|
271
|
+
],
|
|
272
|
+
"description": "Relevant contact information for the catalogued resource."
|
|
273
|
+
},
|
|
274
|
+
"dcat:keyword": {
|
|
275
|
+
"$ref": "https://schema.twindev.org/w3c-dcat/DcatLiteralType",
|
|
276
|
+
"description": "A keyword or tag describing the resource."
|
|
277
|
+
},
|
|
278
|
+
"dcat:theme": {
|
|
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:landingPage": {
|
|
293
|
+
"description": "Object or array data type",
|
|
294
|
+
"anyOf": [
|
|
295
|
+
{
|
|
296
|
+
"type": "string"
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"type": "array",
|
|
300
|
+
"items": {
|
|
301
|
+
"type": "string"
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
]
|
|
305
|
+
},
|
|
306
|
+
"dcat:qualifiedRelation": {
|
|
307
|
+
"anyOf": [
|
|
308
|
+
{
|
|
309
|
+
"$ref": "https://schema.twindev.org/w3c-dcat/DcatRelationship"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"type": "string"
|
|
313
|
+
}
|
|
314
|
+
],
|
|
315
|
+
"description": "Link to a description of a relationship with another resource."
|
|
316
|
+
},
|
|
317
|
+
"odrl:hasPolicy": {
|
|
318
|
+
"$ref": "https://schema.twindev.org/w3c-odrl/OdrlPolicy",
|
|
319
|
+
"description": "An ODRL conformant policy expressing the rights associated with the resource."
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
"required": [
|
|
323
|
+
"@context",
|
|
324
|
+
"@type"
|
|
325
|
+
],
|
|
326
|
+
"additionalProperties": {
|
|
327
|
+
"anyOf": [
|
|
328
|
+
{
|
|
329
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIndexMap"
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIdMap"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdTypeMap"
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"type": "array"
|
|
348
|
+
}
|
|
349
|
+
]
|
|
350
|
+
}
|
|
351
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.twindev.org/w3c-dcat/DcatRole",
|
|
4
|
+
"description": "Interface for DCAT Role. A role is the function of a resource or agent with respect to another resource, in the context of resource attribution or resource relationships.",
|
|
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
|
+
"odrl": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"const": "http://www.w3.org/ns/odrl/2/"
|
|
90
|
+
},
|
|
91
|
+
"foaf": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"const": "https://xmlns.com/foaf/0.1/"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"required": [
|
|
97
|
+
"dcat",
|
|
98
|
+
"dcterms"
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
"@id": {
|
|
102
|
+
"anyOf": [
|
|
103
|
+
{
|
|
104
|
+
"type": "string"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"type": "array",
|
|
108
|
+
"items": {
|
|
109
|
+
"type": "string"
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
"@included": {
|
|
115
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
|
|
116
|
+
},
|
|
117
|
+
"@graph": {
|
|
118
|
+
"anyOf": [
|
|
119
|
+
{
|
|
120
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"type": "array",
|
|
124
|
+
"items": {
|
|
125
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
"@nest": {
|
|
131
|
+
"anyOf": [
|
|
132
|
+
{
|
|
133
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"type": "array",
|
|
137
|
+
"items": {
|
|
138
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"@type": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"const": "dcat:Role",
|
|
146
|
+
"description": "The type identifier, typically \"Role\"."
|
|
147
|
+
},
|
|
148
|
+
"@reverse": {
|
|
149
|
+
"type": "object",
|
|
150
|
+
"additionalProperties": {
|
|
151
|
+
"type": "string"
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"@index": {
|
|
155
|
+
"type": "string"
|
|
156
|
+
},
|
|
157
|
+
"dcterms:title": {
|
|
158
|
+
"$ref": "https://schema.twindev.org/w3c-dcat/DcatLiteralType",
|
|
159
|
+
"description": "A name given to the distribution."
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"required": [
|
|
163
|
+
"@context",
|
|
164
|
+
"@type"
|
|
165
|
+
],
|
|
166
|
+
"additionalProperties": {
|
|
167
|
+
"anyOf": [
|
|
168
|
+
{
|
|
169
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIndexMap"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIdMap"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdTypeMap"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"type": "array"
|
|
188
|
+
}
|
|
189
|
+
]
|
|
190
|
+
}
|
|
191
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Class providing DCAT data type utilities and JSON-LD redirect registration.
|
|
3
|
+
*/
|
|
4
|
+
export declare class DcatDataTypes {
|
|
5
|
+
/**
|
|
6
|
+
* Register redirects for DCAT namespace to enable offline JSON-LD processing.
|
|
7
|
+
* This maps the W3C DCAT namespace to a local redirect URL for faster resolution.
|
|
8
|
+
*/
|
|
9
|
+
static registerRedirects(): void;
|
|
10
|
+
/**
|
|
11
|
+
* Register all the DCAT data types with their JSON schemas.
|
|
12
|
+
*/
|
|
13
|
+
static registerTypes(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from "./dataTypes/dcatDataTypes.js";
|
|
2
|
+
export * from "./models/dcatClasses.js";
|
|
3
|
+
export * from "./models/dcatContexts.js";
|
|
4
|
+
export * from "./models/dcatContextType.js";
|
|
5
|
+
export * from "./models/dcatRelationshipTypes.js";
|
|
6
|
+
export * from "./models/IDcatCatalog.js";
|
|
7
|
+
export * from "./models/IDcatCatalogRecord.js";
|
|
8
|
+
export * from "./models/IDcatDataService.js";
|
|
9
|
+
export * from "./models/IDcatDataset.js";
|
|
10
|
+
export * from "./models/IDcatDatasetSeries.js";
|
|
11
|
+
export * from "./models/IDcatDistribution.js";
|
|
12
|
+
export * from "./models/IDcatRelationship.js";
|
|
13
|
+
export * from "./models/IDcatResource.js";
|
|
14
|
+
export * from "./models/IDcatRole.js";
|
|
15
|
+
export * from "./models/types/dcatPropertyTypes.js";
|
|
16
|
+
export * from "./models/types/dcatContextFreeTypes.js";
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { ObjectOrArray } from "@twin.org/core";
|
|
2
|
+
import type { DcatClasses } from "./dcatClasses.js";
|
|
3
|
+
import type { IDcatDataset } from "./IDcatDataset.js";
|
|
4
|
+
import type { IDcatResource } from "./IDcatResource.js";
|
|
5
|
+
import type { CatalogOptionalContext, CatalogRecordOptionalContext, DataServiceOptionalContext, DatasetOptionalContext } from "./types/dcatContextFreeTypes.js";
|
|
6
|
+
/**
|
|
7
|
+
* Interface for DCAT Catalog.
|
|
8
|
+
* A curated collection of metadata about resources (datasets and data services).
|
|
9
|
+
* Note: dcat:Catalog is a sub-class of dcat:Dataset per the W3C spec.
|
|
10
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Class:Catalog
|
|
11
|
+
*/
|
|
12
|
+
export interface IDcatCatalog extends IDcatDataset {
|
|
13
|
+
/**
|
|
14
|
+
* The type identifier, typically "Catalog".
|
|
15
|
+
*/
|
|
16
|
+
"@type": typeof DcatClasses.Catalog;
|
|
17
|
+
/**
|
|
18
|
+
* A homepage of the catalog (a public Web document usually available in HTML).
|
|
19
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:catalog_homepage
|
|
20
|
+
*/
|
|
21
|
+
"foaf:homepage"?: string;
|
|
22
|
+
/**
|
|
23
|
+
* A knowledge organization system (KOS) used to classify the resources in the catalog.
|
|
24
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:catalog_themes
|
|
25
|
+
*/
|
|
26
|
+
"dcat:themeTaxonomy"?: ObjectOrArray<IDcatResource>;
|
|
27
|
+
/**
|
|
28
|
+
* A resource that is listed in the catalog.
|
|
29
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:catalog_resource
|
|
30
|
+
*/
|
|
31
|
+
"dcat:resource"?: ObjectOrArray<IDcatResource>;
|
|
32
|
+
/**
|
|
33
|
+
* A dataset that is listed in the catalog.
|
|
34
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:catalog_dataset
|
|
35
|
+
*/
|
|
36
|
+
"dcat:dataset"?: ObjectOrArray<DatasetOptionalContext>;
|
|
37
|
+
/**
|
|
38
|
+
* A data service that is listed in the catalog.
|
|
39
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:catalog_service
|
|
40
|
+
*/
|
|
41
|
+
"dcat:service"?: ObjectOrArray<DataServiceOptionalContext>;
|
|
42
|
+
/**
|
|
43
|
+
* A catalog that is listed in the catalog.
|
|
44
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:catalog_catalog
|
|
45
|
+
*/
|
|
46
|
+
"dcat:catalog"?: ObjectOrArray<CatalogOptionalContext>;
|
|
47
|
+
/**
|
|
48
|
+
* A record describing the registration of a single resource in the catalog.
|
|
49
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:catalog_catalog_record
|
|
50
|
+
*/
|
|
51
|
+
"dcat:record"?: ObjectOrArray<CatalogRecordOptionalContext>;
|
|
52
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { ObjectOrArray } from "@twin.org/core";
|
|
2
|
+
import type { IJsonLdNodeObject } from "@twin.org/data-json-ld";
|
|
3
|
+
import type { DcatClasses } from "./dcatClasses.js";
|
|
4
|
+
import type { DcatContextType } from "./dcatContextType.js";
|
|
5
|
+
import type { IDcatResource } from "./IDcatResource.js";
|
|
6
|
+
import type { DcatDateTimeType, DcatLiteralType } from "./types/dcatPropertyTypes.js";
|
|
7
|
+
/**
|
|
8
|
+
* Interface for DCAT Catalog Record.
|
|
9
|
+
* A record in a catalog, describing the registration of a single dataset or data
|
|
10
|
+
* service.
|
|
11
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Class:Catalog_Record
|
|
12
|
+
*/
|
|
13
|
+
export interface IDcatCatalogRecord extends IJsonLdNodeObject {
|
|
14
|
+
/**
|
|
15
|
+
* The JSON-LD context for the resource.
|
|
16
|
+
*/
|
|
17
|
+
"@context": DcatContextType;
|
|
18
|
+
/**
|
|
19
|
+
* The type identifier, typically "CatalogRecord".
|
|
20
|
+
*/
|
|
21
|
+
"@type": typeof DcatClasses.CatalogRecord;
|
|
22
|
+
/**
|
|
23
|
+
* A name given to the catalog record.
|
|
24
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:record_title
|
|
25
|
+
*/
|
|
26
|
+
"dcterms:title"?: DcatLiteralType;
|
|
27
|
+
/**
|
|
28
|
+
* A free-text account of the catalog record.
|
|
29
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:record_description
|
|
30
|
+
*/
|
|
31
|
+
"dcterms:description"?: DcatLiteralType;
|
|
32
|
+
/**
|
|
33
|
+
* The date of listing of the catalog record in the catalog.
|
|
34
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:record_listing_date
|
|
35
|
+
*/
|
|
36
|
+
"dcterms:issued"?: DcatDateTimeType;
|
|
37
|
+
/**
|
|
38
|
+
* Most recent date on which the catalog record entry was changed or modified.
|
|
39
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:record_update_date
|
|
40
|
+
*/
|
|
41
|
+
"dcterms:modified"?: DcatDateTimeType;
|
|
42
|
+
/**
|
|
43
|
+
* An established standard to which the catalog record conforms.
|
|
44
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:record_conforms_to
|
|
45
|
+
*/
|
|
46
|
+
"dcterms:conformsTo"?: ObjectOrArray<string>;
|
|
47
|
+
/**
|
|
48
|
+
* The dataset or data service described in the catalog record.
|
|
49
|
+
* @see https://www.w3.org/TR/vocab-dcat-3/#Property:record_primary_topic
|
|
50
|
+
*/
|
|
51
|
+
"foaf:primaryTopic"?: IDcatResource;
|
|
52
|
+
}
|