@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 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'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lblod/lib-decision-shapes",
3
- "version": "0.0.25",
3
+ "version": "0.0.27",
4
4
  "description": "NPM library to retrieve shapes of decisions and examples",
5
5
  "main": "dist/index.js",
6
6
  "browser": "dist/index-browser.js",
@@ -15,6 +15,7 @@
15
15
  "scripts": {
16
16
  "build": "npm run build:ts && npm run mkdirs && npm run copy",
17
17
  "build:ts": "tsup",
18
+ "build:watch": "tsup --watch",
18
19
  "test": "jest",
19
20
  "prepublish": "npm run build",
20
21
  "mkdirs": "mkdir -p dist/ dist/examples dist/shapes",
@@ -1,6 +1,7 @@
1
1
  export const basicAgendaShape = `@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 ;
@@ -56,6 +57,7 @@ export const basicAgendaShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
56
57
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
57
58
  sh:minCount 0 ;
58
59
  sh:maxCount 1 ;
60
+ sh:pattern '\\\\S' ;
59
61
  lblodBesluit:usageNote '3'
60
62
  ] ;
61
63
  sh:property [
@@ -76,6 +78,7 @@ export const basicAgendaShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
76
78
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
77
79
  sh:minCount 1 ;
78
80
  sh:maxCount 1 ;
81
+ sh:pattern '\\\\S' ;
79
82
  lblodBesluit:usageNote '5'
80
83
  ] ;
81
84
  sh:property [
@@ -125,7 +128,7 @@ export const basicAgendaShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
125
128
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
126
129
  sh:description "Locatie waar de zitting plaatsvindt. Doorgaans is dit een zaal in een gebouw." ;
127
130
  sh:path <http://www.w3.org/ns/prov#atLocation> ;
128
- sh:class <http://www.w3.org/ns/prov#Location> ;
131
+ # sh:class <http://www.w3.org/ns/prov#Location> ;
129
132
  lblodBesluit:maturiteitsniveau "Niveau 1" ;
130
133
  sh:minCount 0 ;
131
134
  sh:maxCount 1 ;
@@ -144,7 +147,19 @@ export const basicAgendaShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
144
147
 
145
148
  <https://data.vlaanderen.be/shacl/mandatendatabank#Bestuursorgaan(inbestuursperiode)Shape>
146
149
  a sh:NodeShape ;
147
- sh:targetClass <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
150
+ ext:targetClass <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
151
+ sh:target [
152
+ a sh:SPARQLTarget ;
153
+ sh:select """
154
+ PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
155
+ PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
156
+
157
+ SELECT ?this
158
+ WHERE {
159
+ ?this a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
160
+ mandaat:isTijdspecialisatieVan ?bestuursorgaan .
161
+ }
162
+ """ ] ;
148
163
  sh:property [
149
164
  sh:name "isTijdspecialisatieVan (mandaat)" ;
150
165
  sh:description "Duidt de bronentiteit aan waarvan deze entiteit een tijdsgebonden specialisatie is. De specialisatie stelt de bron voor gedurende een bepaalde periode." ;
@@ -158,7 +173,19 @@ export const basicAgendaShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
158
173
 
159
174
  <https://data.vlaanderen.be/shacl/besluit-publicatie#BestuursorgaanShape>
160
175
  a sh:NodeShape ;
161
- sh:targetClass <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
176
+ ext:targetClass <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
177
+ sh:target [
178
+ a sh:SPARQLTarget ;
179
+ sh:select """
180
+ PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
181
+
182
+ SELECT ?this
183
+ WHERE {
184
+ ?this a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
185
+ besluit:bestuurt ?bestuurseenheid .
186
+ }
187
+ """ ;
188
+ ] ;
162
189
  sh:property [
163
190
  sh:name "classificatie" ;
164
191
  lblodBesluit:maturiteitsniveau "Bonusniveau" ;
@@ -174,7 +201,14 @@ export const basicAgendaShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
174
201
  lblodBesluit:maturiteitsniveau "Bonusniveau" ;
175
202
  sh:description "Naam van de bestuursorgaan." ;
176
203
  sh:path <http://www.w3.org/2004/02/skos/core#prefLabel> ;
177
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
204
+ sh:or (
205
+ [
206
+ sh:datatype <http://www.w3.org/2001/XMLSchema#string>;
207
+ ]
208
+ [
209
+ sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString>;
210
+ ]
211
+ );
178
212
  sh:minCount 1 ;
179
213
  sh:maxCount 1 ;
180
214
  lblodBesluit:usageNote '13'
@@ -208,7 +242,14 @@ export const basicAgendaShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
208
242
  lblodBesluit:maturiteitsniveau "Bonusniveau" ;
209
243
  sh:description "Naam van de bestuurseenheid." ;
210
244
  sh:path <http://www.w3.org/2004/02/skos/core#prefLabel> ;
211
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
245
+ sh:or (
246
+ [
247
+ sh:datatype <http://www.w3.org/2001/XMLSchema#string>;
248
+ ]
249
+ [
250
+ sh:datatype <http://www.w3.org/1999/02/22-rdf-syntax-ns#langString>;
251
+ ]
252
+ );
212
253
  sh:minCount 1 ;
213
254
  sh:maxCount 1 ;
214
255
  lblodBesluit:usageNote '16'
@@ -217,7 +258,7 @@ export const basicAgendaShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
217
258
  sh:name "werkingsgebied" ;
218
259
  sh:description "Geografische gebied waarbinnen de bestuurseenheid bepaalde verantwoordelijkheden heeft waarbinnen het bestuurshandelingen kan stellen." ;
219
260
  sh:path <http://data.vlaanderen.be/ns/besluit#werkingsgebied> ;
220
- sh:class <http://www.w3.org/ns/prov#Location> ;
261
+ # sh:class <http://www.w3.org/ns/prov#Location> ;
221
262
  sh:minCount 1 ;
222
263
  sh:maxCount 1 ;
223
264
  lblodBesluit:usageNote '17'
@@ -232,7 +273,7 @@ export const basicAgendaShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
232
273
  lblodBesluit:maturiteitsniveau "Bonusniveau" ;
233
274
  sh:description "Naam van het werkingsgebied." ;
234
275
  sh:path <http://www.w3.org/2000/01/rdf-schema#label> ;
235
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
276
+ sh:datatype <http://www.w3.org/2001/XMLSchema#langString> ;
236
277
  sh:minCount 1 ;
237
278
  sh:maxCount 1 ;
238
279
  lblodBesluit:usageNote '18'
@@ -241,7 +282,7 @@ export const basicAgendaShape = `@prefix sh: <http://www.w3.org/ns/shacl#>
241
282
  sh:name "werkingsgebiedNiveau" ;
242
283
  sh:description "Niveau (gemeente, provincie, gewest...) van het gebied waarbinnen de bestuurseenheid bepaalde verantwoordelijkheden heeft waarbinnen het bestuurshandelingen kan stellen." ;
243
284
  sh:path <http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau> ;
244
- sh:datatype <http://www.w3.org/2001/XMLSchema#string> ;
285
+ sh:datatype <http://www.w3.org/2001/XMLSchema#langString> ;
245
286
  sh:minCount 0 ;
246
287
  sh:maxCount 1 ;
247
288
  lblodBesluit:usageNote '19'