@lblod/lib-decision-shapes 0.0.25 → 0.0.27

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.
@@ -1,6 +1,7 @@
1
1
  export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
2
2
  @prefix qb: <http://purl.org/linked-data/cube#> .
3
3
  @prefix lblodBesluit: <http://lblod.data.gift/vocabularies/besluit/> .
4
+ @prefix ext: <http://mu.semte.ch/vocabularies/ext/> .
4
5
 
5
6
  <https://data.vlaanderen.be/shacl/besluit-publicatie#DocumentShape>
6
7
  a sh:NodeShape ;
@@ -114,7 +115,7 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
114
115
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
115
116
  sh:description "Locatie waar de zitting plaatsvindt. Doorgaans is dit een zaal in een gebouw." ;
116
117
  sh:path <http://www.w3.org/ns/prov#atLocation> ;
117
- sh:class <http://www.w3.org/ns/prov#Location> ;
118
+ # sh:class <http://www.w3.org/ns/prov#Location> ;
118
119
  sh:minCount 0 ;
119
120
  sh:maxCount 1 ;
120
121
  lblodBesluit:usageNote '12'
@@ -192,6 +193,7 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
192
193
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
193
194
  sh:minCount 0 ;
194
195
  sh:maxCount 1 ;
196
+ sh:pattern '\\\\S' ;
195
197
  lblodBesluit:usageNote '17'
196
198
  ] ;
197
199
  sh:property [
@@ -212,6 +214,7 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
212
214
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
213
215
  sh:minCount 1 ;
214
216
  sh:maxCount 1 ;
217
+ sh:pattern '\\\\S' ;
215
218
  lblodBesluit:usageNote '20'
216
219
  ] ;
217
220
  sh:property [
@@ -266,6 +269,7 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
266
269
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
267
270
  sh:minCount 0 ;
268
271
  sh:maxCount 1 ;
272
+ sh:pattern '\\\\S' ;
269
273
  lblodBesluit:usageNote '23'
270
274
  ] ;
271
275
  sh:property [
@@ -286,6 +290,7 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
286
290
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
287
291
  sh:minCount 0 ;
288
292
  sh:maxCount 1 ;
293
+ sh:pattern '\\\\S' ;
289
294
  lblodBesluit:usageNote '25'
290
295
  ] ;
291
296
  sh:property [
@@ -295,6 +300,7 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
295
300
  sh:path <http://data.europa.eu/eli/ontology#title> ;
296
301
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
297
302
  sh:minCount 1 ;
303
+ sh:pattern '\\\\S' ;
298
304
  lblodBesluit:usageNote '26'
299
305
  ] ;
300
306
  sh:property [
@@ -348,6 +354,7 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
348
354
  # sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString> ; # see https://github.com/rdfjs/N3.js/issues/252
349
355
  sh:minCount 1 ;
350
356
  sh:maxCount 1 ;
357
+ sh:pattern '\\\\S' ;
351
358
  lblodBesluit:usageNote '31'
352
359
  ] ;
353
360
  sh:property [
@@ -358,13 +365,26 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
358
365
  # sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString> ; see https://github.com/rdfjs/N3.js/issues/252
359
366
  sh:minCount 1 ;
360
367
  sh:maxCount 1 ;
368
+ sh:pattern '\\\\S' ;
361
369
  lblodBesluit:usageNote '32'
362
370
  ] ;
363
371
  sh:closed false .
364
372
 
365
373
  <https://data.vlaanderen.be/shacl/mandatendatabank#Bestuursorgaan(inbestuursperiode)Shape>
366
374
  a sh:NodeShape ;
367
- sh:targetClass <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
375
+ ext:targetClass <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
376
+ sh:target [
377
+ a sh:SPARQLTarget ;
378
+ sh:select """
379
+ PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
380
+ PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
381
+
382
+ SELECT ?this
383
+ WHERE {
384
+ ?this a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
385
+ mandaat:isTijdspecialisatieVan ?bestuursorgaan .
386
+ }
387
+ """ ] ;
368
388
  sh:property [
369
389
  sh:name "isTijdspecialisatieVan (mandaat)" ;
370
390
  sh:description "Duidt de bronentiteit aan waarvan deze entiteit een tijdsgebonden specialisatie is. De specialisatie stelt de bron voor gedurende een bepaalde periode." ;
@@ -378,7 +398,19 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
378
398
 
379
399
  <https://data.vlaanderen.be/shacl/besluit-publicatie#BestuursorgaanShape>
380
400
  a sh:NodeShape ;
381
- sh:targetClass <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
401
+ ext:targetClass <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
402
+ sh:target [
403
+ a sh:SPARQLTarget ;
404
+ sh:select """
405
+ PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
406
+
407
+ SELECT ?this
408
+ WHERE {
409
+ ?this a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
410
+ besluit:bestuurt ?bestuurseenheid .
411
+ }
412
+ """ ;
413
+ ] ;
382
414
  sh:property [
383
415
  sh:name "classificatie" ;
384
416
  lblodBesluit:maturiteitsniveau "Bonusniveau" ;
@@ -394,7 +426,14 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
394
426
  lblodBesluit:maturiteitsniveau "Bonusniveau" ;
395
427
  sh:description "Naam van de bestuursorgaan." ;
396
428
  sh:path <http://www.w3.org/2004/02/skos/core#prefLabel> ;
397
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
429
+ sh:or (
430
+ [
431
+ sh:datatype <http://www.w3.org/2001/XMLSchema#string>;
432
+ ]
433
+ [
434
+ sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString>;
435
+ ]
436
+ );
398
437
  sh:minCount 1 ;
399
438
  sh:maxCount 1 ;
400
439
  lblodBesluit:usageNote '35'
@@ -428,7 +467,14 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
428
467
  lblodBesluit:maturiteitsniveau "Bonusniveau" ;
429
468
  sh:description "Naam van de bestuurseenheid." ;
430
469
  sh:path <http://www.w3.org/2004/02/skos/core#prefLabel> ;
431
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
470
+ sh:or (
471
+ [
472
+ sh:datatype <http://www.w3.org/2001/XMLSchema#string>;
473
+ ]
474
+ [
475
+ sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString>;
476
+ ]
477
+ );
432
478
  sh:minCount 1 ;
433
479
  sh:maxCount 1 ;
434
480
  lblodBesluit:usageNote '38'
@@ -437,7 +483,7 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
437
483
  sh:name "werkingsgebied" ;
438
484
  sh:description "Geografische gebied waarbinnen de bestuurseenheid bepaalde verantwoordelijkheden heeft waarbinnen het bestuurshandelingen kan stellen." ;
439
485
  sh:path <http://data.vlaanderen.be/ns/besluit#werkingsgebied> ;
440
- sh:class <http://www.w3.org/ns/prov#Location> ;
486
+ # sh:class <http://www.w3.org/ns/prov#Location> ;
441
487
  sh:minCount 1 ;
442
488
  sh:maxCount 1 ;
443
489
  lblodBesluit:usageNote '39'
@@ -452,7 +498,7 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
452
498
  lblodBesluit:maturiteitsniveau "Bonusniveau" ;
453
499
  sh:description "Naam van het werkingsgebied." ;
454
500
  sh:path <http://www.w3.org/2000/01/rdf-schema#label> ;
455
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
501
+ sh:datatype <http://www.w3.org/2001/XMLSchema#langString> ;
456
502
  sh:minCount 1 ;
457
503
  sh:maxCount 1 ;
458
504
  lblodBesluit:usageNote '40'
@@ -461,7 +507,7 @@ export const decisionListShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
461
507
  sh:name "werkingsgebiedNiveau" ;
462
508
  sh:description "Niveau (gemeente, provincie, gewest...) van het gebied waarbinnen de bestuurseenheid bepaalde verantwoordelijkheden heeft waarbinnen het bestuurshandelingen kan stellen." ;
463
509
  sh:path <http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau> ;
464
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
510
+ sh:datatype <http://www.w3.org/2001/XMLSchema#langString> ;
465
511
  sh:minCount 0 ;
466
512
  sh:maxCount 1 ;
467
513
  lblodBesluit:usageNote '41'
@@ -1,6 +1,7 @@
1
1
  export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
2
2
  @prefix qb: <http://purl.org/linked-data/cube#> .
3
3
  @prefix lblodBesluit: <http://lblod.data.gift/vocabularies/besluit/> .
4
+ @prefix ext: <http://mu.semte.ch/vocabularies/ext/> .
4
5
 
5
6
  <https://data.vlaanderen.be/shacl/besluit-publicatie#DocumentShape>
6
7
  a sh:NodeShape ;
@@ -24,6 +25,23 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
24
25
  <https://data.vlaanderen.be/shacl/besluit-publicatie#ZittingShape>
25
26
  a sh:NodeShape ;
26
27
  sh:targetClass <http://data.vlaanderen.be/ns/besluit#Zitting> ;
28
+ sh:sparql [
29
+ lblodBesluit:maturiteitsniveau "Niveau 2" ;
30
+ sh:select """
31
+ PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
32
+
33
+ select DISTINCT $this ?path ?value
34
+ where {
35
+ $this ?path ?mandataris .
36
+
37
+ FILTER (?path IN (besluit:heeftVoorzitter, besluit:heeftSecretaris, besluit:heeftAanwezigeBijStart, besluit:heeftAfwezigeBijStart))
38
+ FILTER isBlank(?mandataris)
39
+
40
+ BIND ("Mandataris gevonden die geen URI heeft" as ?value)
41
+ }
42
+ """ ;
43
+ sh:message 'Er zijn mandatarissen gedetecteerd die geen URI hebben.'
44
+ ] ;
27
45
  sh:property [
28
46
  sh:name "behandelt" ;
29
47
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
@@ -114,7 +132,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
114
132
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
115
133
  sh:description "Locatie waar de zitting plaatsvindt. Doorgaans is dit een zaal in een gebouw." ;
116
134
  sh:path <http://www.w3.org/ns/prov#atLocation> ;
117
- sh:class <http://www.w3.org/ns/prov#Location> ;
135
+ # sh:class <http://www.w3.org/ns/prov#Location> ;
118
136
  sh:minCount 0 ;
119
137
  sh:maxCount 1 ;
120
138
  lblodBesluit:usageNote '12'
@@ -124,7 +142,6 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
124
142
  lblodBesluit:maturiteitsniveau "Niveau 3" ;
125
143
  sh:description "Een mandataris (van het bestuursorsgaan die de zitting hield) die aanwezig was bij de start van de zitting." ;
126
144
  sh:path <http://data.vlaanderen.be/ns/besluit#heeftAanwezigeBijStart> ;
127
- sh:class <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
128
145
  sh:minCount 0 ;
129
146
  lblodBesluit:usageNote '13'
130
147
  ] ;
@@ -132,7 +149,6 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
132
149
  sh:name "heeftAfwezigeBijStart" ;
133
150
  sh:description "Een mandataris (van het bestuursorsgaan die de zitting hield) die afwezig was bij de start van de zitting." ;
134
151
  sh:path <http://mu.semte.ch/vocabularies/ext/heeftAfwezigeBijStart> ;
135
- sh:class <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
136
152
  sh:minCount 0 ;
137
153
  lblodBesluit:usageNote '14'
138
154
  ] ;
@@ -141,7 +157,6 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
141
157
  lblodBesluit:maturiteitsniveau "Niveau 3" ;
142
158
  sh:description "De mandataris die de rol als voorzitter heeft gedurende de zitting." ;
143
159
  sh:path <http://data.vlaanderen.be/ns/besluit#heeftVoorzitter> ;
144
- sh:class <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
145
160
  sh:minCount 1 ;
146
161
  sh:maxCount 1 ;
147
162
  lblodBesluit:usageNote '15'
@@ -151,7 +166,6 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
151
166
  lblodBesluit:maturiteitsniveau "Niveau 3" ;
152
167
  sh:description "De mandataris die de rol van secretaris heeft gedurende de zitting." ;
153
168
  sh:path <http://data.vlaanderen.be/ns/besluit#heeftSecretaris> ;
154
- sh:class <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
155
169
  sh:minCount 1 ;
156
170
  sh:maxCount 1 ;
157
171
  lblodBesluit:usageNote '16'
@@ -192,6 +206,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
192
206
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
193
207
  sh:minCount 0 ;
194
208
  sh:maxCount 1 ;
209
+ sh:pattern '\\\\S' ;
195
210
  lblodBesluit:usageNote '18'
196
211
  ] ;
197
212
  sh:property [
@@ -212,6 +227,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
212
227
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
213
228
  sh:minCount 1 ;
214
229
  sh:maxCount 1 ;
230
+ sh:pattern '\\\\S' ;
215
231
  lblodBesluit:usageNote '20'
216
232
  ] ;
217
233
  sh:property [
@@ -226,6 +242,23 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
226
242
  <https://data.vlaanderen.be/shacl/besluit-publicatie#BehandelingVanAgendapuntShape>
227
243
  a sh:NodeShape ;
228
244
  sh:targetClass <http://data.vlaanderen.be/ns/besluit#BehandelingVanAgendapunt> ;
245
+ sh:sparql [
246
+ lblodBesluit:maturiteitsniveau "Niveau 2" ;
247
+ sh:select """
248
+ PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
249
+
250
+ select DISTINCT $this ?path ?value
251
+ where {
252
+ $this ?path ?mandataris .
253
+
254
+ FILTER (?path IN (besluit:heeftAanwezige, besluit:heeftVoorzitter, besluit:heeftSecretaris))
255
+ FILTER isBlank(?mandataris)
256
+
257
+ BIND ("Mandataris gevonden die geen URI heeft" as ?value)
258
+ }
259
+ """ ;
260
+ sh:message 'Er zijn mandatarissen gedetecteerd die geen URI hebben.'
261
+ ] ;
229
262
  sh:property [
230
263
  sh:name "heeftOnderwerp" ;
231
264
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
@@ -269,7 +302,6 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
269
302
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
270
303
  sh:description "Een mandataris (van het orgaan dat de zitting houdt) die aanwezig was tijdens (een deel van) de behandeling." ;
271
304
  sh:path <http://data.vlaanderen.be/ns/besluit#heeftAanwezige> ;
272
- sh:class <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
273
305
  sh:minCount 1 ;
274
306
  lblodBesluit:usageNote '26'
275
307
  ] ;
@@ -278,7 +310,6 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
278
310
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
279
311
  sh:description "De mandataris die de rol als voorzitter heeft gedurende de behandeling van het agendapunt." ;
280
312
  sh:path <http://data.vlaanderen.be/ns/besluit#heeftVoorzitter> ;
281
- sh:class <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
282
313
  sh:minCount 0 ;
283
314
  sh:maxCount 1 ;
284
315
  lblodBesluit:usageNote '27'
@@ -288,7 +319,6 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
288
319
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
289
320
  sh:description "De mandataris die de rol van secretaris heeft gedurende de behandeling van het agendapunt." ;
290
321
  sh:path <http://data.vlaanderen.be/ns/besluit#heeftSecretaris> ;
291
- sh:class <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
292
322
  sh:minCount 0 ;
293
323
  sh:maxCount 1 ;
294
324
  lblodBesluit:usageNote '28'
@@ -315,6 +345,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
315
345
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
316
346
  sh:minCount 0 ;
317
347
  sh:maxCount 1 ;
348
+ sh:pattern '\\\\S' ;
318
349
  lblodBesluit:usageNote '30'
319
350
  ] ;
320
351
  sh:property [
@@ -322,9 +353,17 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
322
353
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
323
354
  sh:description "De beschrijving van de beoogde rechtsgevolgen, het zogenaamde beschikkend gedeelte." ;
324
355
  sh:path <http://www.w3.org/ns/prov#value> ;
325
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
356
+ sh:or (
357
+ [
358
+ sh:datatype <http://www.w3.org/2001/XMLSchema#string>;
359
+ ]
360
+ [
361
+ sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString>;
362
+ ]
363
+ );
326
364
  sh:minCount 1 ;
327
365
  sh:maxCount 1 ;
366
+ sh:pattern '\\\\S' ;
328
367
  lblodBesluit:usageNote '31'
329
368
  ] ;
330
369
  sh:property [
@@ -345,6 +384,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
345
384
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
346
385
  sh:minCount 0 ;
347
386
  sh:maxCount 1 ;
387
+ sh:pattern '\\\\S' ;
348
388
  lblodBesluit:usageNote '33'
349
389
  ] ;
350
390
  sh:property [
@@ -354,6 +394,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
354
394
  sh:path <http://data.europa.eu/eli/ontology#title> ;
355
395
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
356
396
  sh:minCount 1 ;
397
+ sh:pattern '\\\\S' ;
357
398
  lblodBesluit:usageNote '34'
358
399
  ] ;
359
400
  sh:property [
@@ -361,7 +402,8 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
361
402
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
362
403
  sh:description "De taal van de verschijningsvorm." ;
363
404
  sh:path <http://data.europa.eu/eli/ontology#language> ;
364
- sh:class <http://www.w3.org/2004/02/skos/core#Concept> ;
405
+ # sh:class <http://www.w3.org/2004/02/skos/core#Concept> ;
406
+ sh:nodeKind sh:IRI ;
365
407
  sh:minCount 1 ;
366
408
  sh:maxCount 1 ;
367
409
  qb:codeList <http://publications.europa.eu/mdr/authority/language/index.html> ;
@@ -379,7 +421,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
379
421
  sh:name "citeert" ;
380
422
  sh:description "Een citatie in de wettelijke tekst. Dit omvat zowel woordelijke citaten als citaten in verwijzingen." ;
381
423
  sh:path <http://data.europa.eu/eli/ontology#cites> ;
382
- sh:class <http://data.europa.eu/eli/ontology#LegalExpression> ;
424
+ sh:nodeKind sh:IRI ;
383
425
  sh:minCount 0 ;
384
426
  lblodBesluit:usageNote '37'
385
427
  ] ;
@@ -391,6 +433,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
391
433
  sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString> ;
392
434
  sh:minCount 1 ;
393
435
  sh:maxCount 1 ;
436
+ sh:pattern '\\\\S' ;
394
437
  lblodBesluit:usageNote '38'
395
438
  ] ;
396
439
  sh:property [
@@ -426,10 +469,11 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
426
469
  a sh:NodeShape ;
427
470
  sh:targetClass <http://data.vlaanderen.be/ns/besluit#Stemming> ;
428
471
  sh:sparql [
472
+ lblodBesluit:maturiteitsniveau "Niveau 2" ;
429
473
  sh:select """
430
474
  PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
431
475
 
432
- select DISTINCT ($this as ?this) ?path ?value
476
+ select DISTINCT $this ?path ?value
433
477
  where {
434
478
  $this ?path ?mandataris .
435
479
 
@@ -446,21 +490,26 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
446
490
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
447
491
  sh:description "Een mandataris die als onthouder heeft gestemd op het onderwerp van de stemming." ;
448
492
  sh:path <http://data.vlaanderen.be/ns/besluit#heeftOnthouder> ;
449
- sh:class <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
450
493
  sh:minCount 0 ;
451
494
  lblodBesluit:usageNote '42' ;
452
495
  sh:sparql [
496
+ lblodBesluit:maturiteitsniveau "Niveau 2" ;
453
497
  sh:select """
454
498
  PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
455
499
 
456
- select ($this as ?this) ?value
500
+ select $this ?value
457
501
  where {
458
- {
459
- select (count(distinct ?onthouder) as ?onthouderCount) {
460
- $this besluit:heeftOnthouder ?onthouder .
502
+ $this besluit:aantalOnthouders ?aantalOnthouders .
503
+ OPTIONAL {
504
+ {
505
+ select ?stemming (count(distinct ?onthouder) as ?onthouderTotal) {
506
+ ?stemming besluit:heeftOnthouder ?onthouder .
507
+ }
508
+ group by ?stemming
461
509
  }
510
+ FILTER (?stemming = $this)
462
511
  }
463
- $this besluit:aantalOnthouders ?aantalOnthouders .
512
+ BIND(COALESCE(?onthouderTotal, 0) as ?onthouderCount)
464
513
  FILTER (?onthouderCount != ?aantalOnthouders)
465
514
 
466
515
  BIND(concat("Aantal gevonden onthouders (", str(?onthouderCount), ") is niet gelijk aan het opgegeven aantalOnthouders (", str(?aantalOnthouders), "). ") as ?value)
@@ -474,7 +523,6 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
474
523
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
475
524
  sh:description "Een mandataris (van het orgaan dat de zitting houdt) die aanwezig was tijdens de stemming." ;
476
525
  sh:path <http://data.vlaanderen.be/ns/besluit#heeftAanwezige> ;
477
- sh:class <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
478
526
  sh:minCount 1 ;
479
527
  lblodBesluit:usageNote '43'
480
528
  ] ;
@@ -483,7 +531,6 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
483
531
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
484
532
  sh:description "Een mandataris die deelneemt aan de stemming." ;
485
533
  sh:path <http://data.vlaanderen.be/ns/besluit#heeftStemmer> ;
486
- sh:class <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
487
534
  sh:minCount 0 ;
488
535
  lblodBesluit:usageNote '44'
489
536
  ] ;
@@ -492,21 +539,26 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
492
539
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
493
540
  sh:description "Een mandataris die als tegenstander heeft gestemd op het onderwerp van de stemming." ;
494
541
  sh:path <http://data.vlaanderen.be/ns/besluit#heeftTegenstander> ;
495
- sh:class <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
496
542
  sh:minCount 0 ;
497
543
  lblodBesluit:usageNote '45' ;
498
544
  sh:sparql [
545
+ lblodBesluit:maturiteitsniveau "Niveau 2" ;
499
546
  sh:select """
500
547
  PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
501
548
 
502
- select ($this as ?this) ?value
549
+ select $this ?value
503
550
  where {
504
- {
505
- select (count(distinct ?tegenstander) as ?tegenstanderCount) {
506
- $this besluit:heeftTegenstander ?tegenstander .
551
+ $this besluit:aantalTegenstanders ?aantalTegenstanders .
552
+ OPTIONAL {
553
+ {
554
+ select ?stemming (count(distinct ?tegenstander) as ?tegenstanderTotal) {
555
+ ?stemming besluit:heeftTegenstander ?tegenstander .
556
+ }
557
+ group by ?stemming
507
558
  }
559
+ FILTER (?stemming = $this)
508
560
  }
509
- $this besluit:aantalTegenstanders ?aantalTegenstanders .
561
+ BIND(COALESCE(?tegenstanderTotal, 0) as ?tegenstanderCount)
510
562
  FILTER (?tegenstanderCount != ?aantalTegenstanders)
511
563
 
512
564
  BIND(concat("Aantal gevonden tegenstanders (", str(?tegenstanderCount), ") is niet gelijk aan het opgegeven aantalTegenstanders (", str(?aantalTegenstanders), "). ") as ?value)
@@ -520,21 +572,26 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
520
572
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
521
573
  sh:description "Een mandataris die als voorstander heeft gestemd op het onderwerp van de stemming." ;
522
574
  sh:path <http://data.vlaanderen.be/ns/besluit#heeftVoorstander> ;
523
- sh:class <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
524
575
  sh:minCount 0 ;
525
576
  lblodBesluit:usageNote '46' ;
526
577
  sh:sparql [
578
+ lblodBesluit:maturiteitsniveau "Niveau 2" ;
527
579
  sh:select """
528
580
  PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
529
581
 
530
- select ($this as ?this) ?value
582
+ select $this ?value
531
583
  where {
532
- {
533
- select (count(distinct ?voorstander) as ?voorstanderCount) {
534
- $this besluit:heeftVoorstander ?voorstander .
584
+ $this besluit:aantalVoorstanders ?aantalVoorstanders .
585
+ OPTIONAL {
586
+ {
587
+ select ?stemming (count(distinct ?voorstander) as ?voorstanderTotal) {
588
+ ?stemming besluit:heeftVoorstander ?voorstander .
589
+ }
590
+ group by ?stemming
535
591
  }
592
+ FILTER (?stemming = $this)
536
593
  }
537
- $this besluit:aantalVoorstanders ?aantalVoorstanders .
594
+ BIND(COALESCE(?voorstanderTotal, 0) as ?voorstanderCount)
538
595
  FILTER (?voorstanderCount != ?aantalVoorstanders)
539
596
 
540
597
  BIND(concat("Aantal gevonden voorstanders (", str(?voorstanderCount), ") is niet gelijk aan het opgegeven aantalVoorstanders (", str(?aantalVoorstanders), "). ") as ?value)
@@ -591,6 +648,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
591
648
  # sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString> ; # see https://github.com/rdfjs/N3.js/issues/252
592
649
  sh:minCount 1 ;
593
650
  sh:maxCount 1 ;
651
+ sh:pattern '\\\\S' ;
594
652
  lblodBesluit:usageNote '51 '
595
653
  ] ;
596
654
  sh:property [
@@ -601,6 +659,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
601
659
  # sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString> ; see https://github.com/rdfjs/N3.js/issues/252
602
660
  sh:minCount 1 ;
603
661
  sh:maxCount 1 ;
662
+ sh:pattern '\\\\S' ;
604
663
  lblodBesluit:usageNote '52'
605
664
  ] ;
606
665
  sh:closed false .
@@ -616,6 +675,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
616
675
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
617
676
  sh:minCount 1 ;
618
677
  sh:maxCount 1 ;
678
+ sh:pattern '\\\\S' ;
619
679
  lblodBesluit:usageNote '53'
620
680
  ] ;
621
681
  sh:property [
@@ -626,6 +686,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
626
686
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
627
687
  sh:minCount 1 ;
628
688
  sh:maxCount 1 ;
689
+ sh:pattern '\\\\S' ;
629
690
  lblodBesluit:usageNote '54'
630
691
  ] ;
631
692
  sh:property [
@@ -635,6 +696,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
635
696
  sh:path <http://data.europa.eu/eli/ontology#title> ;
636
697
  sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
637
698
  sh:minCount 1 ;
699
+ sh:pattern '\\\\S' ;
638
700
  lblodBesluit:usageNote '55'
639
701
  ] ;
640
702
  sh:property [
@@ -642,7 +704,8 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
642
704
  lblodBesluit:maturiteitsniveau "Niveau 3" ;
643
705
  sh:description "De taal van de verschijningsvorm." ;
644
706
  sh:path <http://data.europa.eu/eli/ontology#language> ;
645
- sh:class <http://www.w3.org/2004/02/skos/core#Concept> ;
707
+ # sh:class <http://www.w3.org/2004/02/skos/core#Concept> ;
708
+ sh:nodeKind sh:IRI ;
646
709
  sh:minCount 1 ;
647
710
  sh:maxCount 1 ;
648
711
  qb:codeList <http://publications.europa.eu/mdr/authority/language/index.html> ;
@@ -652,7 +715,20 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
652
715
 
653
716
  <https://data.vlaanderen.be/shacl/mandatendatabank#Bestuursorgaan(inbestuursperiode)Shape>
654
717
  a sh:NodeShape ;
655
- sh:targetClass <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
718
+ ext:targetClass <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
719
+ sh:target [
720
+ a sh:SPARQLTarget ;
721
+ sh:select """
722
+ PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
723
+ PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
724
+
725
+ SELECT ?this
726
+ WHERE {
727
+ ?this a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
728
+ mandaat:isTijdspecialisatieVan ?bestuursorgaan .
729
+ }
730
+ """ ;
731
+ ] ;
656
732
  sh:property [
657
733
  sh:name "isTijdspecialisatieVan (mandaat)" ;
658
734
  sh:description "Duidt de bronentiteit aan waarvan deze entiteit een tijdsgebonden specialisatie is. De specialisatie stelt de bron voor gedurende een bepaalde periode." ;
@@ -666,13 +742,26 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
666
742
 
667
743
  <https://data.vlaanderen.be/shacl/besluit-publicatie#BestuursorgaanShape>
668
744
  a sh:NodeShape ;
669
- sh:targetClass <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
745
+ ext:targetClass <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
746
+ sh:target [
747
+ a sh:SPARQLTarget ;
748
+ sh:select """
749
+ PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
750
+
751
+ SELECT ?this
752
+ WHERE {
753
+ ?this a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
754
+ besluit:bestuurt ?bestuurseenheid .
755
+ }
756
+ """ ;
757
+ ] ;
670
758
  sh:property [
671
759
  sh:name "classificatie" ;
672
760
  lblodBesluit:maturiteitsniveau "Bonusniveau" ;
673
761
  sh:description "Het type bestuursorgaan." ;
674
762
  sh:path <http://www.w3.org/ns/org#classification> ;
675
- sh:class <http://www.w3.org/2004/02/skos/core#Concept> ;
763
+ # sh:class <http://www.w3.org/2004/02/skos/core#Concept> ;
764
+ sh:nodeKind sh:IRI ;
676
765
  sh:minCount 1 ;
677
766
  sh:maxCount 1 ;
678
767
  lblodBesluit:usageNote '58'
@@ -682,7 +771,14 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
682
771
  lblodBesluit:maturiteitsniveau "Bonusniveau" ;
683
772
  sh:description "Naam van de bestuursorgaan." ;
684
773
  sh:path <http://www.w3.org/2004/02/skos/core#prefLabel> ;
685
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
774
+ sh:or (
775
+ [
776
+ sh:datatype <http://www.w3.org/2001/XMLSchema#string>;
777
+ ]
778
+ [
779
+ sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString>;
780
+ ]
781
+ );
686
782
  sh:minCount 1 ;
687
783
  lblodBesluit:usageNote '59'
688
784
  ] ;
@@ -705,7 +801,8 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
705
801
  sh:name "classificatie" ;
706
802
  sh:description "Classificatie van de bestuurseenheid." ;
707
803
  sh:path <http://data.vlaanderen.be/ns/besluit#classificatie> ;
708
- sh:class <http://www.w3.org/2004/02/skos/core#Concept> ;
804
+ # sh:class <http://www.w3.org/2004/02/skos/core#Concept> ;
805
+ sh:nodeKind sh:IRI ;
709
806
  sh:minCount 1 ;
710
807
  sh:maxCount 1 ;
711
808
  lblodBesluit:usageNote '61'
@@ -715,7 +812,14 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
715
812
  lblodBesluit:maturiteitsniveau "Bonusniveau" ;
716
813
  sh:description "Naam van de bestuurseenheid." ;
717
814
  sh:path <http://www.w3.org/2004/02/skos/core#prefLabel> ;
718
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
815
+ sh:or (
816
+ [
817
+ sh:datatype <http://www.w3.org/2001/XMLSchema#string>;
818
+ ]
819
+ [
820
+ sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString>;
821
+ ]
822
+ );
719
823
  sh:minCount 1 ;
720
824
  lblodBesluit:usageNote '62'
721
825
  ] ;
@@ -723,7 +827,7 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
723
827
  sh:name "werkingsgebied" ;
724
828
  sh:description "Geografische gebied waarbinnen de bestuurseenheid bepaalde verantwoordelijkheden heeft waarbinnen het bestuurshandelingen kan stellen." ;
725
829
  sh:path <http://data.vlaanderen.be/ns/besluit#werkingsgebied> ;
726
- sh:class <http://www.w3.org/ns/prov#Location> ;
830
+ # sh:class <http://www.w3.org/ns/prov#Location> ;
727
831
  sh:minCount 1 ;
728
832
  sh:maxCount 1 ;
729
833
  lblodBesluit:usageNote '63'
@@ -738,7 +842,14 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
738
842
  lblodBesluit:maturiteitsniveau "Bonusniveau" ;
739
843
  sh:description "Naam van het werkingsgebied." ;
740
844
  sh:path <http://www.w3.org/2000/01/rdf-schema#label> ;
741
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
845
+ sh:or (
846
+ [
847
+ sh:datatype <http://www.w3.org/2001/XMLSchema#string>;
848
+ ]
849
+ [
850
+ sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString>;
851
+ ]
852
+ );
742
853
  sh:minCount 1 ;
743
854
  sh:maxCount 1 ;
744
855
  lblodBesluit:usageNote '64'
@@ -747,7 +858,14 @@ export const notulenShape = `@prefix sh: <http://www.w3.org/ns/shacl#> .
747
858
  sh:name "werkingsgebiedNiveau" ;
748
859
  sh:description "Niveau (gemeente, provincie, gewest...) van het gebied waarbinnen de bestuurseenheid bepaalde verantwoordelijkheden heeft waarbinnen het bestuurshandelingen kan stellen." ;
749
860
  sh:path <http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau> ;
750
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
861
+ sh:or (
862
+ [
863
+ sh:datatype <http://www.w3.org/2001/XMLSchema#string>;
864
+ ]
865
+ [
866
+ sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString>;
867
+ ]
868
+ );
751
869
  sh:minCount 0 ;
752
870
  sh:maxCount 1 ;
753
871
  lblodBesluit:usageNote '65'