@shaclmate/shacl-ast 4.0.13 → 4.0.15

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/dist/generated.js CHANGED
@@ -162,6 +162,21 @@ class $IdentifierSet {
162
162
  }
163
163
  }
164
164
  }
165
+ function $isReadonlyBigIntArray(x) {
166
+ return Array.isArray(x) && x.every((z) => typeof z === "bigint");
167
+ }
168
+ function $isReadonlyBooleanArray(x) {
169
+ return Array.isArray(x) && x.every((z) => typeof z === "boolean");
170
+ }
171
+ function $isReadonlyNumberArray(x) {
172
+ return Array.isArray(x) && x.every((z) => typeof z === "number");
173
+ }
174
+ function $isReadonlyObjectArray(x) {
175
+ return Array.isArray(x) && x.every((z) => typeof z === "object");
176
+ }
177
+ function $isReadonlyStringArray(x) {
178
+ return Array.isArray(x) && x.every((z) => typeof z === "string");
179
+ }
165
180
  const $literalFactory = new LiteralFactory({ dataFactory: dataFactory });
166
181
  export var $PropertyPath;
167
182
  (function ($PropertyPath) {
@@ -219,6 +234,576 @@ function $shaclPropertyFromRdf({ graph, propertySchema, resource, typeFromRdf, }
219
234
  }
220
235
  export var PropertyShape;
221
236
  (function (PropertyShape) {
237
+ function $create(parameters) {
238
+ let $identifier;
239
+ if (typeof parameters.$identifier === "object") {
240
+ $identifier = parameters.$identifier;
241
+ }
242
+ else if (typeof parameters.$identifier === "string") {
243
+ $identifier = dataFactory.namedNode(parameters.$identifier);
244
+ }
245
+ else if (parameters.$identifier === undefined) {
246
+ $identifier = dataFactory.blankNode();
247
+ }
248
+ else {
249
+ $identifier = parameters.$identifier;
250
+ }
251
+ const $type = "PropertyShape";
252
+ let and;
253
+ if (Maybe.isMaybe(parameters.and)) {
254
+ and = parameters.and;
255
+ }
256
+ else if ($isReadonlyObjectArray(parameters.and)) {
257
+ and = Maybe.of(parameters.and);
258
+ }
259
+ else if ($isReadonlyStringArray(parameters.and)) {
260
+ and = Maybe.of(parameters.and.map((item) => dataFactory.namedNode(item)));
261
+ }
262
+ else if (parameters.and === undefined) {
263
+ and = Maybe.empty();
264
+ }
265
+ else {
266
+ and = parameters.and;
267
+ }
268
+ let classes;
269
+ if (parameters.classes === undefined) {
270
+ classes = [];
271
+ }
272
+ else if ($isReadonlyObjectArray(parameters.classes)) {
273
+ classes = parameters.classes;
274
+ }
275
+ else if ($isReadonlyStringArray(parameters.classes)) {
276
+ classes = parameters.classes.map((item) => dataFactory.namedNode(item));
277
+ }
278
+ else {
279
+ classes = parameters.classes;
280
+ }
281
+ let comment;
282
+ if (Maybe.isMaybe(parameters.comment)) {
283
+ comment = parameters.comment;
284
+ }
285
+ else if (typeof parameters.comment === "string") {
286
+ comment = Maybe.of(parameters.comment);
287
+ }
288
+ else if (parameters.comment === undefined) {
289
+ comment = Maybe.empty();
290
+ }
291
+ else {
292
+ comment = parameters.comment;
293
+ }
294
+ let datatype;
295
+ if (Maybe.isMaybe(parameters.datatype)) {
296
+ datatype = parameters.datatype;
297
+ }
298
+ else if (typeof parameters.datatype === "object") {
299
+ datatype = Maybe.of(parameters.datatype);
300
+ }
301
+ else if (typeof parameters.datatype === "string") {
302
+ datatype = Maybe.of(dataFactory.namedNode(parameters.datatype));
303
+ }
304
+ else if (parameters.datatype === undefined) {
305
+ datatype = Maybe.empty();
306
+ }
307
+ else {
308
+ datatype = parameters.datatype;
309
+ }
310
+ let deactivated;
311
+ if (Maybe.isMaybe(parameters.deactivated)) {
312
+ deactivated = parameters.deactivated;
313
+ }
314
+ else if (typeof parameters.deactivated === "boolean") {
315
+ deactivated = Maybe.of(parameters.deactivated);
316
+ }
317
+ else if (parameters.deactivated === undefined) {
318
+ deactivated = Maybe.empty();
319
+ }
320
+ else {
321
+ deactivated = parameters.deactivated;
322
+ }
323
+ let defaultValue;
324
+ if (Maybe.isMaybe(parameters.defaultValue)) {
325
+ defaultValue = parameters.defaultValue;
326
+ }
327
+ else if (typeof parameters.defaultValue === "bigint") {
328
+ defaultValue = Maybe.of($literalFactory.bigint(parameters.defaultValue));
329
+ }
330
+ else if (typeof parameters.defaultValue === "boolean") {
331
+ defaultValue = Maybe.of($literalFactory.boolean(parameters.defaultValue));
332
+ }
333
+ else if (typeof parameters.defaultValue === "object" &&
334
+ parameters.defaultValue instanceof Date) {
335
+ defaultValue = Maybe.of($literalFactory.date(parameters.defaultValue));
336
+ }
337
+ else if (typeof parameters.defaultValue === "number") {
338
+ defaultValue = Maybe.of($literalFactory.number(parameters.defaultValue));
339
+ }
340
+ else if (typeof parameters.defaultValue === "string") {
341
+ defaultValue = Maybe.of($literalFactory.string(parameters.defaultValue));
342
+ }
343
+ else if (typeof parameters.defaultValue === "object") {
344
+ defaultValue = Maybe.of(parameters.defaultValue);
345
+ }
346
+ else if (parameters.defaultValue === undefined) {
347
+ defaultValue = Maybe.empty();
348
+ }
349
+ else {
350
+ defaultValue = parameters.defaultValue;
351
+ }
352
+ let description;
353
+ if (Maybe.isMaybe(parameters.description)) {
354
+ description = parameters.description;
355
+ }
356
+ else if (typeof parameters.description === "string") {
357
+ description = Maybe.of(parameters.description);
358
+ }
359
+ else if (parameters.description === undefined) {
360
+ description = Maybe.empty();
361
+ }
362
+ else {
363
+ description = parameters.description;
364
+ }
365
+ let flags;
366
+ if (parameters.flags === undefined) {
367
+ flags = [];
368
+ }
369
+ else if (typeof parameters.flags === "object") {
370
+ flags = parameters.flags;
371
+ }
372
+ else {
373
+ flags = parameters.flags;
374
+ }
375
+ let groups;
376
+ if (parameters.groups === undefined) {
377
+ groups = [];
378
+ }
379
+ else if ($isReadonlyObjectArray(parameters.groups)) {
380
+ groups = parameters.groups;
381
+ }
382
+ else if ($isReadonlyStringArray(parameters.groups)) {
383
+ groups = parameters.groups.map((item) => dataFactory.namedNode(item));
384
+ }
385
+ else {
386
+ groups = parameters.groups;
387
+ }
388
+ let hasValues;
389
+ if (parameters.hasValues === undefined) {
390
+ hasValues = [];
391
+ }
392
+ else if ($isReadonlyObjectArray(parameters.hasValues)) {
393
+ hasValues = parameters.hasValues;
394
+ }
395
+ else if ($isReadonlyBigIntArray(parameters.hasValues)) {
396
+ hasValues = parameters.hasValues.map((item) => $literalFactory.bigint(item));
397
+ }
398
+ else if ($isReadonlyBooleanArray(parameters.hasValues)) {
399
+ hasValues = parameters.hasValues.map((item) => $literalFactory.boolean(item));
400
+ }
401
+ else if ($isReadonlyNumberArray(parameters.hasValues)) {
402
+ hasValues = parameters.hasValues.map((item) => $literalFactory.number(item));
403
+ }
404
+ else if ($isReadonlyStringArray(parameters.hasValues)) {
405
+ hasValues = parameters.hasValues.map((item) => $literalFactory.string(item));
406
+ }
407
+ else {
408
+ hasValues = parameters.hasValues;
409
+ }
410
+ let in_;
411
+ if (Maybe.isMaybe(parameters.in_)) {
412
+ in_ = parameters.in_;
413
+ }
414
+ else if ($isReadonlyObjectArray(parameters.in_)) {
415
+ in_ = Maybe.of(parameters.in_);
416
+ }
417
+ else if ($isReadonlyBigIntArray(parameters.in_)) {
418
+ in_ = Maybe.of(parameters.in_.map((item) => $literalFactory.bigint(item)));
419
+ }
420
+ else if ($isReadonlyBooleanArray(parameters.in_)) {
421
+ in_ = Maybe.of(parameters.in_.map((item) => $literalFactory.boolean(item)));
422
+ }
423
+ else if ($isReadonlyNumberArray(parameters.in_)) {
424
+ in_ = Maybe.of(parameters.in_.map((item) => $literalFactory.number(item)));
425
+ }
426
+ else if ($isReadonlyStringArray(parameters.in_)) {
427
+ in_ = Maybe.of(parameters.in_.map((item) => $literalFactory.string(item)));
428
+ }
429
+ else if (parameters.in_ === undefined) {
430
+ in_ = Maybe.empty();
431
+ }
432
+ else {
433
+ in_ = parameters.in_;
434
+ }
435
+ let isDefinedBy;
436
+ if (Maybe.isMaybe(parameters.isDefinedBy)) {
437
+ isDefinedBy = parameters.isDefinedBy;
438
+ }
439
+ else if (typeof parameters.isDefinedBy === "object") {
440
+ isDefinedBy = Maybe.of(parameters.isDefinedBy);
441
+ }
442
+ else if (typeof parameters.isDefinedBy === "string") {
443
+ isDefinedBy = Maybe.of(dataFactory.namedNode(parameters.isDefinedBy));
444
+ }
445
+ else if (parameters.isDefinedBy === undefined) {
446
+ isDefinedBy = Maybe.empty();
447
+ }
448
+ else {
449
+ isDefinedBy = parameters.isDefinedBy;
450
+ }
451
+ let label;
452
+ if (Maybe.isMaybe(parameters.label)) {
453
+ label = parameters.label;
454
+ }
455
+ else if (typeof parameters.label === "string") {
456
+ label = Maybe.of(parameters.label);
457
+ }
458
+ else if (parameters.label === undefined) {
459
+ label = Maybe.empty();
460
+ }
461
+ else {
462
+ label = parameters.label;
463
+ }
464
+ let languageIn;
465
+ if (Maybe.isMaybe(parameters.languageIn)) {
466
+ languageIn = parameters.languageIn;
467
+ }
468
+ else if (typeof parameters.languageIn === "object") {
469
+ languageIn = Maybe.of(parameters.languageIn);
470
+ }
471
+ else if (parameters.languageIn === undefined) {
472
+ languageIn = Maybe.empty();
473
+ }
474
+ else {
475
+ languageIn = parameters.languageIn;
476
+ }
477
+ let maxCount;
478
+ if (Maybe.isMaybe(parameters.maxCount)) {
479
+ maxCount = parameters.maxCount;
480
+ }
481
+ else if (typeof parameters.maxCount === "number") {
482
+ maxCount = Maybe.of(parameters.maxCount);
483
+ }
484
+ else if (parameters.maxCount === undefined) {
485
+ maxCount = Maybe.empty();
486
+ }
487
+ else {
488
+ maxCount = parameters.maxCount;
489
+ }
490
+ let maxExclusive;
491
+ if (Maybe.isMaybe(parameters.maxExclusive)) {
492
+ maxExclusive = parameters.maxExclusive;
493
+ }
494
+ else if (typeof parameters.maxExclusive === "bigint") {
495
+ maxExclusive = Maybe.of($literalFactory.bigint(parameters.maxExclusive));
496
+ }
497
+ else if (typeof parameters.maxExclusive === "boolean") {
498
+ maxExclusive = Maybe.of($literalFactory.boolean(parameters.maxExclusive));
499
+ }
500
+ else if (typeof parameters.maxExclusive === "object" &&
501
+ parameters.maxExclusive instanceof Date) {
502
+ maxExclusive = Maybe.of($literalFactory.date(parameters.maxExclusive));
503
+ }
504
+ else if (typeof parameters.maxExclusive === "number") {
505
+ maxExclusive = Maybe.of($literalFactory.number(parameters.maxExclusive));
506
+ }
507
+ else if (typeof parameters.maxExclusive === "string") {
508
+ maxExclusive = Maybe.of($literalFactory.string(parameters.maxExclusive));
509
+ }
510
+ else if (typeof parameters.maxExclusive === "object") {
511
+ maxExclusive = Maybe.of(parameters.maxExclusive);
512
+ }
513
+ else if (parameters.maxExclusive === undefined) {
514
+ maxExclusive = Maybe.empty();
515
+ }
516
+ else {
517
+ maxExclusive = parameters.maxExclusive;
518
+ }
519
+ let maxInclusive;
520
+ if (Maybe.isMaybe(parameters.maxInclusive)) {
521
+ maxInclusive = parameters.maxInclusive;
522
+ }
523
+ else if (typeof parameters.maxInclusive === "bigint") {
524
+ maxInclusive = Maybe.of($literalFactory.bigint(parameters.maxInclusive));
525
+ }
526
+ else if (typeof parameters.maxInclusive === "boolean") {
527
+ maxInclusive = Maybe.of($literalFactory.boolean(parameters.maxInclusive));
528
+ }
529
+ else if (typeof parameters.maxInclusive === "object" &&
530
+ parameters.maxInclusive instanceof Date) {
531
+ maxInclusive = Maybe.of($literalFactory.date(parameters.maxInclusive));
532
+ }
533
+ else if (typeof parameters.maxInclusive === "number") {
534
+ maxInclusive = Maybe.of($literalFactory.number(parameters.maxInclusive));
535
+ }
536
+ else if (typeof parameters.maxInclusive === "string") {
537
+ maxInclusive = Maybe.of($literalFactory.string(parameters.maxInclusive));
538
+ }
539
+ else if (typeof parameters.maxInclusive === "object") {
540
+ maxInclusive = Maybe.of(parameters.maxInclusive);
541
+ }
542
+ else if (parameters.maxInclusive === undefined) {
543
+ maxInclusive = Maybe.empty();
544
+ }
545
+ else {
546
+ maxInclusive = parameters.maxInclusive;
547
+ }
548
+ let maxLength;
549
+ if (Maybe.isMaybe(parameters.maxLength)) {
550
+ maxLength = parameters.maxLength;
551
+ }
552
+ else if (typeof parameters.maxLength === "number") {
553
+ maxLength = Maybe.of(parameters.maxLength);
554
+ }
555
+ else if (parameters.maxLength === undefined) {
556
+ maxLength = Maybe.empty();
557
+ }
558
+ else {
559
+ maxLength = parameters.maxLength;
560
+ }
561
+ let minCount;
562
+ if (Maybe.isMaybe(parameters.minCount)) {
563
+ minCount = parameters.minCount;
564
+ }
565
+ else if (typeof parameters.minCount === "number") {
566
+ minCount = Maybe.of(parameters.minCount);
567
+ }
568
+ else if (parameters.minCount === undefined) {
569
+ minCount = Maybe.empty();
570
+ }
571
+ else {
572
+ minCount = parameters.minCount;
573
+ }
574
+ let minExclusive;
575
+ if (Maybe.isMaybe(parameters.minExclusive)) {
576
+ minExclusive = parameters.minExclusive;
577
+ }
578
+ else if (typeof parameters.minExclusive === "bigint") {
579
+ minExclusive = Maybe.of($literalFactory.bigint(parameters.minExclusive));
580
+ }
581
+ else if (typeof parameters.minExclusive === "boolean") {
582
+ minExclusive = Maybe.of($literalFactory.boolean(parameters.minExclusive));
583
+ }
584
+ else if (typeof parameters.minExclusive === "object" &&
585
+ parameters.minExclusive instanceof Date) {
586
+ minExclusive = Maybe.of($literalFactory.date(parameters.minExclusive));
587
+ }
588
+ else if (typeof parameters.minExclusive === "number") {
589
+ minExclusive = Maybe.of($literalFactory.number(parameters.minExclusive));
590
+ }
591
+ else if (typeof parameters.minExclusive === "string") {
592
+ minExclusive = Maybe.of($literalFactory.string(parameters.minExclusive));
593
+ }
594
+ else if (typeof parameters.minExclusive === "object") {
595
+ minExclusive = Maybe.of(parameters.minExclusive);
596
+ }
597
+ else if (parameters.minExclusive === undefined) {
598
+ minExclusive = Maybe.empty();
599
+ }
600
+ else {
601
+ minExclusive = parameters.minExclusive;
602
+ }
603
+ let minInclusive;
604
+ if (Maybe.isMaybe(parameters.minInclusive)) {
605
+ minInclusive = parameters.minInclusive;
606
+ }
607
+ else if (typeof parameters.minInclusive === "bigint") {
608
+ minInclusive = Maybe.of($literalFactory.bigint(parameters.minInclusive));
609
+ }
610
+ else if (typeof parameters.minInclusive === "boolean") {
611
+ minInclusive = Maybe.of($literalFactory.boolean(parameters.minInclusive));
612
+ }
613
+ else if (typeof parameters.minInclusive === "object" &&
614
+ parameters.minInclusive instanceof Date) {
615
+ minInclusive = Maybe.of($literalFactory.date(parameters.minInclusive));
616
+ }
617
+ else if (typeof parameters.minInclusive === "number") {
618
+ minInclusive = Maybe.of($literalFactory.number(parameters.minInclusive));
619
+ }
620
+ else if (typeof parameters.minInclusive === "string") {
621
+ minInclusive = Maybe.of($literalFactory.string(parameters.minInclusive));
622
+ }
623
+ else if (typeof parameters.minInclusive === "object") {
624
+ minInclusive = Maybe.of(parameters.minInclusive);
625
+ }
626
+ else if (parameters.minInclusive === undefined) {
627
+ minInclusive = Maybe.empty();
628
+ }
629
+ else {
630
+ minInclusive = parameters.minInclusive;
631
+ }
632
+ let minLength;
633
+ if (Maybe.isMaybe(parameters.minLength)) {
634
+ minLength = parameters.minLength;
635
+ }
636
+ else if (typeof parameters.minLength === "number") {
637
+ minLength = Maybe.of(parameters.minLength);
638
+ }
639
+ else if (parameters.minLength === undefined) {
640
+ minLength = Maybe.empty();
641
+ }
642
+ else {
643
+ minLength = parameters.minLength;
644
+ }
645
+ let name;
646
+ if (Maybe.isMaybe(parameters.name)) {
647
+ name = parameters.name;
648
+ }
649
+ else if (typeof parameters.name === "string") {
650
+ name = Maybe.of(parameters.name);
651
+ }
652
+ else if (parameters.name === undefined) {
653
+ name = Maybe.empty();
654
+ }
655
+ else {
656
+ name = parameters.name;
657
+ }
658
+ let nodeKind;
659
+ if (Maybe.isMaybe(parameters.nodeKind)) {
660
+ nodeKind = parameters.nodeKind;
661
+ }
662
+ else if (typeof parameters.nodeKind === "object") {
663
+ nodeKind = Maybe.of(parameters.nodeKind);
664
+ }
665
+ else if (typeof parameters.nodeKind === "string") {
666
+ nodeKind = Maybe.of(dataFactory.namedNode(parameters.nodeKind));
667
+ }
668
+ else if (parameters.nodeKind === undefined) {
669
+ nodeKind = Maybe.empty();
670
+ }
671
+ else {
672
+ nodeKind = parameters.nodeKind;
673
+ }
674
+ let nodes;
675
+ if (parameters.nodes === undefined) {
676
+ nodes = [];
677
+ }
678
+ else if ($isReadonlyObjectArray(parameters.nodes)) {
679
+ nodes = parameters.nodes;
680
+ }
681
+ else if ($isReadonlyStringArray(parameters.nodes)) {
682
+ nodes = parameters.nodes.map((item) => dataFactory.namedNode(item));
683
+ }
684
+ else {
685
+ nodes = parameters.nodes;
686
+ }
687
+ let not;
688
+ if (parameters.not === undefined) {
689
+ not = [];
690
+ }
691
+ else if ($isReadonlyObjectArray(parameters.not)) {
692
+ not = parameters.not;
693
+ }
694
+ else if ($isReadonlyStringArray(parameters.not)) {
695
+ not = parameters.not.map((item) => dataFactory.namedNode(item));
696
+ }
697
+ else {
698
+ not = parameters.not;
699
+ }
700
+ let or;
701
+ if (Maybe.isMaybe(parameters.or)) {
702
+ or = parameters.or;
703
+ }
704
+ else if ($isReadonlyObjectArray(parameters.or)) {
705
+ or = Maybe.of(parameters.or);
706
+ }
707
+ else if ($isReadonlyStringArray(parameters.or)) {
708
+ or = Maybe.of(parameters.or.map((item) => dataFactory.namedNode(item)));
709
+ }
710
+ else if (parameters.or === undefined) {
711
+ or = Maybe.empty();
712
+ }
713
+ else {
714
+ or = parameters.or;
715
+ }
716
+ let order;
717
+ if (Maybe.isMaybe(parameters.order)) {
718
+ order = parameters.order;
719
+ }
720
+ else if (typeof parameters.order === "number") {
721
+ order = Maybe.of(parameters.order);
722
+ }
723
+ else if (parameters.order === undefined) {
724
+ order = Maybe.empty();
725
+ }
726
+ else {
727
+ order = parameters.order;
728
+ }
729
+ const path = parameters.path;
730
+ let patterns;
731
+ if (parameters.patterns === undefined) {
732
+ patterns = [];
733
+ }
734
+ else if (typeof parameters.patterns === "object") {
735
+ patterns = parameters.patterns;
736
+ }
737
+ else {
738
+ patterns = parameters.patterns;
739
+ }
740
+ let uniqueLang;
741
+ if (Maybe.isMaybe(parameters.uniqueLang)) {
742
+ uniqueLang = parameters.uniqueLang;
743
+ }
744
+ else if (typeof parameters.uniqueLang === "boolean") {
745
+ uniqueLang = Maybe.of(parameters.uniqueLang);
746
+ }
747
+ else if (parameters.uniqueLang === undefined) {
748
+ uniqueLang = Maybe.empty();
749
+ }
750
+ else {
751
+ uniqueLang = parameters.uniqueLang;
752
+ }
753
+ let xone;
754
+ if (Maybe.isMaybe(parameters.xone)) {
755
+ xone = parameters.xone;
756
+ }
757
+ else if ($isReadonlyObjectArray(parameters.xone)) {
758
+ xone = Maybe.of(parameters.xone);
759
+ }
760
+ else if ($isReadonlyStringArray(parameters.xone)) {
761
+ xone = Maybe.of(parameters.xone.map((item) => dataFactory.namedNode(item)));
762
+ }
763
+ else if (parameters.xone === undefined) {
764
+ xone = Maybe.empty();
765
+ }
766
+ else {
767
+ xone = parameters.xone;
768
+ }
769
+ return {
770
+ $identifier,
771
+ $type,
772
+ and,
773
+ classes,
774
+ comment,
775
+ datatype,
776
+ deactivated,
777
+ defaultValue,
778
+ description,
779
+ flags,
780
+ groups,
781
+ hasValues,
782
+ in_,
783
+ isDefinedBy,
784
+ label,
785
+ languageIn,
786
+ maxCount,
787
+ maxExclusive,
788
+ maxInclusive,
789
+ maxLength,
790
+ minCount,
791
+ minExclusive,
792
+ minInclusive,
793
+ minLength,
794
+ name,
795
+ nodeKind,
796
+ nodes,
797
+ not,
798
+ or,
799
+ order,
800
+ path,
801
+ patterns,
802
+ uniqueLang,
803
+ xone,
804
+ };
805
+ }
806
+ PropertyShape.$create = $create;
222
807
  let $Identifier;
223
808
  (function ($Identifier) {
224
809
  $Identifier.fromString = $identifierFromString; // biome-ignore lint/suspicious/noShadowRestrictedNames: allow toString
@@ -230,15 +815,15 @@ export var PropertyShape;
230
815
  return false;
231
816
  }
232
817
  if (filter.and !== undefined &&
233
- !$filterArray($filterArray($filterIdentifier))(filter.and, value.and)) {
818
+ !$filterMaybe($filterArray($filterIdentifier))(filter.and, value.and)) {
234
819
  return false;
235
820
  }
236
821
  if (filter.classes !== undefined &&
237
822
  !$filterArray($filterIri)(filter.classes, value.classes)) {
238
823
  return false;
239
824
  }
240
- if (filter.comments !== undefined &&
241
- !$filterArray($filterString)(filter.comments, value.comments)) {
825
+ if (filter.comment !== undefined &&
826
+ !$filterMaybe($filterString)(filter.comment, value.comment)) {
242
827
  return false;
243
828
  }
244
829
  if (filter.datatype !== undefined &&
@@ -253,8 +838,8 @@ export var PropertyShape;
253
838
  !$filterMaybe($filterTerm)(filter.defaultValue, value.defaultValue)) {
254
839
  return false;
255
840
  }
256
- if (filter.descriptions !== undefined &&
257
- !$filterArray($filterString)(filter.descriptions, value.descriptions)) {
841
+ if (filter.description !== undefined &&
842
+ !$filterMaybe($filterString)(filter.description, value.description)) {
258
843
  return false;
259
844
  }
260
845
  if (filter.flags !== undefined &&
@@ -277,8 +862,8 @@ export var PropertyShape;
277
862
  !$filterMaybe($filterIdentifier)(filter.isDefinedBy, value.isDefinedBy)) {
278
863
  return false;
279
864
  }
280
- if (filter.labels !== undefined &&
281
- !$filterArray($filterString)(filter.labels, value.labels)) {
865
+ if (filter.label !== undefined &&
866
+ !$filterMaybe($filterString)(filter.label, value.label)) {
282
867
  return false;
283
868
  }
284
869
  if (filter.languageIn !== undefined &&
@@ -317,8 +902,8 @@ export var PropertyShape;
317
902
  !$filterMaybe(($filterNumeric))(filter.minLength, value.minLength)) {
318
903
  return false;
319
904
  }
320
- if (filter.names !== undefined &&
321
- !$filterArray($filterString)(filter.names, value.names)) {
905
+ if (filter.name !== undefined &&
906
+ !$filterMaybe($filterString)(filter.name, value.name)) {
322
907
  return false;
323
908
  }
324
909
  if (filter.nodeKind !== undefined &&
@@ -334,7 +919,7 @@ export var PropertyShape;
334
919
  return false;
335
920
  }
336
921
  if (filter.or !== undefined &&
337
- !$filterArray($filterArray($filterIdentifier))(filter.or, value.or)) {
922
+ !$filterMaybe($filterArray($filterIdentifier))(filter.or, value.or)) {
338
923
  return false;
339
924
  }
340
925
  if (filter.order !== undefined &&
@@ -354,7 +939,7 @@ export var PropertyShape;
354
939
  return false;
355
940
  }
356
941
  if (filter.xone !== undefined &&
357
- !$filterArray($filterArray($filterIdentifier))(filter.xone, value.xone)) {
942
+ !$filterMaybe($filterArray($filterIdentifier))(filter.xone, value.xone)) {
358
943
  return false;
359
944
  }
360
945
  return true;
@@ -425,12 +1010,13 @@ export var PropertyShape;
425
1010
  values: valueList.toArray(),
426
1011
  })).chain((values) => values.chainMap((value) => value.toIdentifier()))))
427
1012
  .map((valueLists) => valueLists.map((valueList) => valueList.toArray()))
428
- .map((values) => values.toArray())
429
- .map((valuesArray) => Resource.Values.fromValue({
430
- focusResource: $resource,
431
- propertyPath: PropertyShape.$schema.properties.and.path,
432
- value: valuesArray,
433
- })),
1013
+ .map((values) => values.length > 0
1014
+ ? values.map((value) => Maybe.of(value))
1015
+ : Resource.Values.fromValue({
1016
+ focusResource: $resource,
1017
+ propertyPath: PropertyShape.$schema.properties.and.path,
1018
+ value: Maybe.empty(),
1019
+ })),
434
1020
  }).chain((and) => $shaclPropertyFromRdf({
435
1021
  graph: _$options.graph,
436
1022
  resource: $resource,
@@ -446,17 +1032,18 @@ export var PropertyShape;
446
1032
  }).chain((classes) => $shaclPropertyFromRdf({
447
1033
  graph: _$options.graph,
448
1034
  resource: $resource,
449
- propertySchema: PropertyShape.$schema.properties.comments,
1035
+ propertySchema: PropertyShape.$schema.properties.comment,
450
1036
  typeFromRdf: (resourceValues) => resourceValues
451
1037
  .chain((values) => $fromRdfPreferredLanguages(values, _$options.preferredLanguages))
452
1038
  .chain((values) => values.chainMap((value) => value.toString()))
453
- .map((values) => values.toArray())
454
- .map((valuesArray) => Resource.Values.fromValue({
455
- focusResource: $resource,
456
- propertyPath: PropertyShape.$schema.properties.comments.path,
457
- value: valuesArray,
458
- })),
459
- }).chain((comments) => $shaclPropertyFromRdf({
1039
+ .map((values) => values.length > 0
1040
+ ? values.map((value) => Maybe.of(value))
1041
+ : Resource.Values.fromValue({
1042
+ focusResource: $resource,
1043
+ propertyPath: PropertyShape.$schema.properties.comment.path,
1044
+ value: Maybe.empty(),
1045
+ })),
1046
+ }).chain((comment) => $shaclPropertyFromRdf({
460
1047
  graph: _$options.graph,
461
1048
  resource: $resource,
462
1049
  propertySchema: PropertyShape.$schema.properties.datatype,
@@ -515,18 +1102,19 @@ export var PropertyShape;
515
1102
  }).chain((defaultValue) => $shaclPropertyFromRdf({
516
1103
  graph: _$options.graph,
517
1104
  resource: $resource,
518
- propertySchema: PropertyShape.$schema.properties.descriptions,
1105
+ propertySchema: PropertyShape.$schema.properties.description,
519
1106
  typeFromRdf: (resourceValues) => resourceValues
520
1107
  .chain((values) => $fromRdfPreferredLanguages(values, _$options.preferredLanguages))
521
1108
  .chain((values) => values.chainMap((value) => value.toString()))
522
- .map((values) => values.toArray())
523
- .map((valuesArray) => Resource.Values.fromValue({
524
- focusResource: $resource,
525
- propertyPath: PropertyShape.$schema.properties
526
- .descriptions.path,
527
- value: valuesArray,
528
- })),
529
- }).chain((descriptions) => $shaclPropertyFromRdf({
1109
+ .map((values) => values.length > 0
1110
+ ? values.map((value) => Maybe.of(value))
1111
+ : Resource.Values.fromValue({
1112
+ focusResource: $resource,
1113
+ propertyPath: PropertyShape.$schema.properties
1114
+ .description.path,
1115
+ value: Maybe.empty(),
1116
+ })),
1117
+ }).chain((description) => $shaclPropertyFromRdf({
530
1118
  graph: _$options.graph,
531
1119
  resource: $resource,
532
1120
  propertySchema: PropertyShape.$schema.properties.flags,
@@ -638,18 +1226,19 @@ export var PropertyShape;
638
1226
  }).chain((isDefinedBy) => $shaclPropertyFromRdf({
639
1227
  graph: _$options.graph,
640
1228
  resource: $resource,
641
- propertySchema: PropertyShape.$schema.properties.labels,
1229
+ propertySchema: PropertyShape.$schema.properties.label,
642
1230
  typeFromRdf: (resourceValues) => resourceValues
643
1231
  .chain((values) => $fromRdfPreferredLanguages(values, _$options.preferredLanguages))
644
1232
  .chain((values) => values.chainMap((value) => value.toString()))
645
- .map((values) => values.toArray())
646
- .map((valuesArray) => Resource.Values.fromValue({
647
- focusResource: $resource,
648
- propertyPath: PropertyShape.$schema.properties
649
- .labels.path,
650
- value: valuesArray,
651
- })),
652
- }).chain((labels) => $shaclPropertyFromRdf({
1233
+ .map((values) => values.length > 0
1234
+ ? values.map((value) => Maybe.of(value))
1235
+ : Resource.Values.fromValue({
1236
+ focusResource: $resource,
1237
+ propertyPath: PropertyShape.$schema
1238
+ .properties.label.path,
1239
+ value: Maybe.empty(),
1240
+ })),
1241
+ }).chain((label) => $shaclPropertyFromRdf({
653
1242
  graph: _$options.graph,
654
1243
  resource: $resource,
655
1244
  propertySchema: PropertyShape.$schema.properties.languageIn,
@@ -818,21 +1407,23 @@ export var PropertyShape;
818
1407
  graph: _$options.graph,
819
1408
  resource: $resource,
820
1409
  propertySchema: PropertyShape.$schema.properties
821
- .names,
1410
+ .name,
822
1411
  typeFromRdf: (resourceValues) => resourceValues
823
1412
  .chain((values) => $fromRdfPreferredLanguages(values, _$options.preferredLanguages))
824
1413
  .chain((values) => values.chainMap((value) => value.toString()))
825
- .map((values) => values.toArray())
826
- .map((valuesArray) => Resource.Values.fromValue({
827
- focusResource: $resource,
828
- propertyPath: PropertyShape
829
- .$schema
830
- .properties
831
- .names
832
- .path,
833
- value: valuesArray,
834
- })),
835
- }).chain((names) => $shaclPropertyFromRdf({
1414
+ .map((values) => values.length >
1415
+ 0
1416
+ ? values.map((value) => Maybe.of(value))
1417
+ : Resource.Values.fromValue({
1418
+ focusResource: $resource,
1419
+ propertyPath: PropertyShape
1420
+ .$schema
1421
+ .properties
1422
+ .name
1423
+ .path,
1424
+ value: Maybe.empty(),
1425
+ })),
1426
+ }).chain((name) => $shaclPropertyFromRdf({
836
1427
  graph: _$options.graph,
837
1428
  resource: $resource,
838
1429
  propertySchema: PropertyShape.$schema
@@ -915,16 +1506,18 @@ export var PropertyShape;
915
1506
  values: valueList.toArray(),
916
1507
  })).chain((values) => values.chainMap((value) => value.toIdentifier()))))
917
1508
  .map((valueLists) => valueLists.map((valueList) => valueList.toArray()))
918
- .map((values) => values.toArray())
919
- .map((valuesArray) => Resource.Values.fromValue({
920
- focusResource: $resource,
921
- propertyPath: PropertyShape
922
- .$schema
923
- .properties
924
- .or
925
- .path,
926
- value: valuesArray,
927
- })),
1509
+ .map((values) => values.length >
1510
+ 0
1511
+ ? values.map((value) => Maybe.of(value))
1512
+ : Resource.Values.fromValue({
1513
+ focusResource: $resource,
1514
+ propertyPath: PropertyShape
1515
+ .$schema
1516
+ .properties
1517
+ .or
1518
+ .path,
1519
+ value: Maybe.empty(),
1520
+ })),
928
1521
  }).chain((or) => $shaclPropertyFromRdf({
929
1522
  graph: _$options.graph,
930
1523
  resource: $resource,
@@ -1023,32 +1616,34 @@ export var PropertyShape;
1023
1616
  values: valueList.toArray(),
1024
1617
  })).chain((values) => values.chainMap((value) => value.toIdentifier()))))
1025
1618
  .map((valueLists) => valueLists.map((valueList) => valueList.toArray()))
1026
- .map((values) => values.toArray())
1027
- .map((valuesArray) => Resource.Values.fromValue({
1028
- focusResource: $resource,
1029
- propertyPath: PropertyShape
1030
- .$schema
1031
- .properties
1032
- .xone
1033
- .path,
1034
- value: valuesArray,
1035
- })),
1619
+ .map((values) => values.length >
1620
+ 0
1621
+ ? values.map((value) => Maybe.of(value))
1622
+ : Resource.Values.fromValue({
1623
+ focusResource: $resource,
1624
+ propertyPath: PropertyShape
1625
+ .$schema
1626
+ .properties
1627
+ .xone
1628
+ .path,
1629
+ value: Maybe.empty(),
1630
+ })),
1036
1631
  }).map((xone) => ({
1037
1632
  $identifier,
1038
1633
  $type,
1039
1634
  and,
1040
1635
  classes,
1041
- comments,
1636
+ comment,
1042
1637
  datatype,
1043
1638
  deactivated,
1044
1639
  defaultValue,
1045
- descriptions,
1640
+ description,
1046
1641
  flags,
1047
1642
  groups,
1048
1643
  hasValues,
1049
1644
  in_,
1050
1645
  isDefinedBy,
1051
- labels,
1646
+ label,
1052
1647
  languageIn,
1053
1648
  maxCount,
1054
1649
  maxExclusive,
@@ -1058,7 +1653,7 @@ export var PropertyShape;
1058
1653
  minExclusive,
1059
1654
  minInclusive,
1060
1655
  minLength,
1061
- names,
1656
+ name,
1062
1657
  nodeKind,
1063
1658
  nodes,
1064
1659
  not,
@@ -1086,7 +1681,7 @@ export var PropertyShape;
1086
1681
  and: {
1087
1682
  kind: "Shacl",
1088
1683
  type: () => ({
1089
- kind: "Set",
1684
+ kind: "Maybe",
1090
1685
  item: () => ({
1091
1686
  kind: "List",
1092
1687
  item: () => ({ kind: "Identifier" }),
@@ -1102,10 +1697,10 @@ export var PropertyShape;
1102
1697
  }),
1103
1698
  path: dataFactory.namedNode("http://www.w3.org/ns/shacl#class"),
1104
1699
  },
1105
- comments: {
1700
+ comment: {
1106
1701
  kind: "Shacl",
1107
1702
  type: () => ({
1108
- kind: "Set",
1703
+ kind: "Maybe",
1109
1704
  item: () => ({ kind: "String" }),
1110
1705
  }),
1111
1706
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"),
@@ -1134,10 +1729,10 @@ export var PropertyShape;
1134
1729
  }),
1135
1730
  path: dataFactory.namedNode("http://www.w3.org/ns/shacl#defaultValue"),
1136
1731
  },
1137
- descriptions: {
1732
+ description: {
1138
1733
  kind: "Shacl",
1139
1734
  type: () => ({
1140
- kind: "Set",
1735
+ kind: "Maybe",
1141
1736
  item: () => ({ kind: "String" }),
1142
1737
  }),
1143
1738
  path: dataFactory.namedNode("http://www.w3.org/ns/shacl#description"),
@@ -1185,10 +1780,10 @@ export var PropertyShape;
1185
1780
  }),
1186
1781
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#isDefinedBy"),
1187
1782
  },
1188
- labels: {
1783
+ label: {
1189
1784
  kind: "Shacl",
1190
1785
  type: () => ({
1191
- kind: "Set",
1786
+ kind: "Maybe",
1192
1787
  item: () => ({ kind: "String" }),
1193
1788
  }),
1194
1789
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"),
@@ -1268,10 +1863,10 @@ export var PropertyShape;
1268
1863
  }),
1269
1864
  path: dataFactory.namedNode("http://www.w3.org/ns/shacl#minLength"),
1270
1865
  },
1271
- names: {
1866
+ name: {
1272
1867
  kind: "Shacl",
1273
1868
  type: () => ({
1274
- kind: "Set",
1869
+ kind: "Maybe",
1275
1870
  item: () => ({ kind: "String" }),
1276
1871
  }),
1277
1872
  path: dataFactory.namedNode("http://www.w3.org/ns/shacl#name"),
@@ -1313,7 +1908,7 @@ export var PropertyShape;
1313
1908
  or: {
1314
1909
  kind: "Shacl",
1315
1910
  type: () => ({
1316
- kind: "Set",
1911
+ kind: "Maybe",
1317
1912
  item: () => ({
1318
1913
  kind: "List",
1319
1914
  item: () => ({ kind: "Identifier" }),
@@ -1353,7 +1948,7 @@ export var PropertyShape;
1353
1948
  xone: {
1354
1949
  kind: "Shacl",
1355
1950
  type: () => ({
1356
- kind: "Set",
1951
+ kind: "Maybe",
1357
1952
  item: () => ({
1358
1953
  kind: "List",
1359
1954
  item: () => ({ kind: "Identifier" }),
@@ -1370,9 +1965,9 @@ export var PropertyShape;
1370
1965
  if (!options?.ignoreRdfType) {
1371
1966
  resource.add($RdfVocabularies.rdf.type, dataFactory.namedNode("http://www.w3.org/ns/shacl#PropertyShape"), options?.graph);
1372
1967
  }
1373
- resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#and"), _propertyShape.and.flatMap((item) => [
1374
- item.length > 0
1375
- ? item.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
1968
+ resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#and"), _propertyShape.and.toList().flatMap((value) => [
1969
+ value.length > 0
1970
+ ? value.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
1376
1971
  if (itemIndex === 0) {
1377
1972
  currentSubListResource = listResource;
1378
1973
  }
@@ -1393,7 +1988,9 @@ export var PropertyShape;
1393
1988
  : $RdfVocabularies.rdf.nil,
1394
1989
  ]), options?.graph);
1395
1990
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#class"), _propertyShape.classes.flatMap((item) => [item]), options?.graph);
1396
- resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"), _propertyShape.comments.flatMap((item) => [$literalFactory.string(item)]), options?.graph);
1991
+ resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"), _propertyShape.comment
1992
+ .toList()
1993
+ .flatMap((value) => [$literalFactory.string(value)]), options?.graph);
1397
1994
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#datatype"), _propertyShape.datatype.toList(), options?.graph);
1398
1995
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#deactivated"), _propertyShape.deactivated
1399
1996
  .toList()
@@ -1401,9 +1998,9 @@ export var PropertyShape;
1401
1998
  $literalFactory.boolean(value, $RdfVocabularies.xsd.boolean),
1402
1999
  ]), options?.graph);
1403
2000
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#defaultValue"), _propertyShape.defaultValue.toList(), options?.graph);
1404
- resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#description"), _propertyShape.descriptions.flatMap((item) => [
1405
- $literalFactory.string(item),
1406
- ]), options?.graph);
2001
+ resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#description"), _propertyShape.description
2002
+ .toList()
2003
+ .flatMap((value) => [$literalFactory.string(value)]), options?.graph);
1407
2004
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#flags"), _propertyShape.flags.flatMap((item) => [$literalFactory.string(item)]), options?.graph);
1408
2005
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#group"), _propertyShape.groups.flatMap((item) => [item]), options?.graph);
1409
2006
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#hasValue"), _propertyShape.hasValues.flatMap((item) => [item]), options?.graph);
@@ -1430,7 +2027,9 @@ export var PropertyShape;
1430
2027
  : $RdfVocabularies.rdf.nil,
1431
2028
  ]), options?.graph);
1432
2029
  resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#isDefinedBy"), _propertyShape.isDefinedBy.toList(), options?.graph);
1433
- resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"), _propertyShape.labels.flatMap((item) => [$literalFactory.string(item)]), options?.graph);
2030
+ resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"), _propertyShape.label
2031
+ .toList()
2032
+ .flatMap((value) => [$literalFactory.string(value)]), options?.graph);
1434
2033
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#languageIn"), _propertyShape.languageIn.toList().flatMap((value) => [
1435
2034
  value.length > 0
1436
2035
  ? value.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
@@ -1477,13 +2076,15 @@ export var PropertyShape;
1477
2076
  .flatMap((value) => [
1478
2077
  $literalFactory.number(value, $RdfVocabularies.xsd.unsignedInt),
1479
2078
  ]), options?.graph);
1480
- resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#name"), _propertyShape.names.flatMap((item) => [$literalFactory.string(item)]), options?.graph);
2079
+ resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#name"), _propertyShape.name
2080
+ .toList()
2081
+ .flatMap((value) => [$literalFactory.string(value)]), options?.graph);
1481
2082
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#nodeKind"), _propertyShape.nodeKind.toList(), options?.graph);
1482
2083
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#node"), _propertyShape.nodes.flatMap((item) => [item]), options?.graph);
1483
2084
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#not"), _propertyShape.not.flatMap((item) => [item]), options?.graph);
1484
- resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#or"), _propertyShape.or.flatMap((item) => [
1485
- item.length > 0
1486
- ? item.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
2085
+ resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#or"), _propertyShape.or.toList().flatMap((value) => [
2086
+ value.length > 0
2087
+ ? value.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
1487
2088
  if (itemIndex === 0) {
1488
2089
  currentSubListResource = listResource;
1489
2090
  }
@@ -1520,9 +2121,9 @@ export var PropertyShape;
1520
2121
  .flatMap((value) => [
1521
2122
  $literalFactory.boolean(value, $RdfVocabularies.xsd.boolean),
1522
2123
  ]), options?.graph);
1523
- resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#xone"), _propertyShape.xone.flatMap((item) => [
1524
- item.length > 0
1525
- ? item.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
2124
+ resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#xone"), _propertyShape.xone.toList().flatMap((value) => [
2125
+ value.length > 0
2126
+ ? value.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
1526
2127
  if (itemIndex === 0) {
1527
2128
  currentSubListResource = listResource;
1528
2129
  }
@@ -1548,6 +2149,50 @@ export var PropertyShape;
1548
2149
  })(PropertyShape || (PropertyShape = {}));
1549
2150
  export var PropertyGroup;
1550
2151
  (function (PropertyGroup) {
2152
+ function $create(parameters) {
2153
+ let $identifier;
2154
+ if (typeof parameters?.$identifier === "object") {
2155
+ $identifier = parameters?.$identifier;
2156
+ }
2157
+ else if (typeof parameters?.$identifier === "string") {
2158
+ $identifier = dataFactory.namedNode(parameters?.$identifier);
2159
+ }
2160
+ else if (parameters?.$identifier === undefined) {
2161
+ $identifier = dataFactory.blankNode();
2162
+ }
2163
+ else {
2164
+ $identifier = parameters?.$identifier;
2165
+ }
2166
+ const $type = "PropertyGroup";
2167
+ let comment;
2168
+ if (Maybe.isMaybe(parameters?.comment)) {
2169
+ comment = parameters?.comment;
2170
+ }
2171
+ else if (typeof parameters?.comment === "string") {
2172
+ comment = Maybe.of(parameters?.comment);
2173
+ }
2174
+ else if (parameters?.comment === undefined) {
2175
+ comment = Maybe.empty();
2176
+ }
2177
+ else {
2178
+ comment = parameters?.comment;
2179
+ }
2180
+ let label;
2181
+ if (Maybe.isMaybe(parameters?.label)) {
2182
+ label = parameters?.label;
2183
+ }
2184
+ else if (typeof parameters?.label === "string") {
2185
+ label = Maybe.of(parameters?.label);
2186
+ }
2187
+ else if (parameters?.label === undefined) {
2188
+ label = Maybe.empty();
2189
+ }
2190
+ else {
2191
+ label = parameters?.label;
2192
+ }
2193
+ return { $identifier, $type, comment, label };
2194
+ }
2195
+ PropertyGroup.$create = $create;
1551
2196
  let $Identifier;
1552
2197
  (function ($Identifier) {
1553
2198
  $Identifier.fromString = $identifierFromString; // biome-ignore lint/suspicious/noShadowRestrictedNames: allow toString
@@ -1558,12 +2203,12 @@ export var PropertyGroup;
1558
2203
  !$filterIdentifier(filter.$identifier, value.$identifier)) {
1559
2204
  return false;
1560
2205
  }
1561
- if (filter.comments !== undefined &&
1562
- !$filterArray($filterString)(filter.comments, value.comments)) {
2206
+ if (filter.comment !== undefined &&
2207
+ !$filterMaybe($filterString)(filter.comment, value.comment)) {
1563
2208
  return false;
1564
2209
  }
1565
- if (filter.labels !== undefined &&
1566
- !$filterArray($filterString)(filter.labels, value.labels)) {
2210
+ if (filter.label !== undefined &&
2211
+ !$filterMaybe($filterString)(filter.label, value.label)) {
1567
2212
  return false;
1568
2213
  }
1569
2214
  return true;
@@ -1625,30 +2270,32 @@ export var PropertyGroup;
1625
2270
  .chain(($identifier) => Right("PropertyGroup").chain(($type) => $shaclPropertyFromRdf({
1626
2271
  graph: _$options.graph,
1627
2272
  resource: $resource,
1628
- propertySchema: PropertyGroup.$schema.properties.comments,
2273
+ propertySchema: PropertyGroup.$schema.properties.comment,
1629
2274
  typeFromRdf: (resourceValues) => resourceValues
1630
2275
  .chain((values) => $fromRdfPreferredLanguages(values, _$options.preferredLanguages))
1631
2276
  .chain((values) => values.chainMap((value) => value.toString()))
1632
- .map((values) => values.toArray())
1633
- .map((valuesArray) => Resource.Values.fromValue({
1634
- focusResource: $resource,
1635
- propertyPath: PropertyGroup.$schema.properties.comments.path,
1636
- value: valuesArray,
1637
- })),
1638
- }).chain((comments) => $shaclPropertyFromRdf({
2277
+ .map((values) => values.length > 0
2278
+ ? values.map((value) => Maybe.of(value))
2279
+ : Resource.Values.fromValue({
2280
+ focusResource: $resource,
2281
+ propertyPath: PropertyShape.$schema.properties.comment.path,
2282
+ value: Maybe.empty(),
2283
+ })),
2284
+ }).chain((comment) => $shaclPropertyFromRdf({
1639
2285
  graph: _$options.graph,
1640
2286
  resource: $resource,
1641
- propertySchema: PropertyGroup.$schema.properties.labels,
2287
+ propertySchema: PropertyGroup.$schema.properties.label,
1642
2288
  typeFromRdf: (resourceValues) => resourceValues
1643
2289
  .chain((values) => $fromRdfPreferredLanguages(values, _$options.preferredLanguages))
1644
2290
  .chain((values) => values.chainMap((value) => value.toString()))
1645
- .map((values) => values.toArray())
1646
- .map((valuesArray) => Resource.Values.fromValue({
1647
- focusResource: $resource,
1648
- propertyPath: PropertyGroup.$schema.properties.labels.path,
1649
- value: valuesArray,
1650
- })),
1651
- }).map((labels) => ({ $identifier, $type, comments, labels }))))));
2291
+ .map((values) => values.length > 0
2292
+ ? values.map((value) => Maybe.of(value))
2293
+ : Resource.Values.fromValue({
2294
+ focusResource: $resource,
2295
+ propertyPath: PropertyShape.$schema.properties.label.path,
2296
+ value: Maybe.empty(),
2297
+ })),
2298
+ }).map((label) => ({ $identifier, $type, comment, label }))))));
1652
2299
  };
1653
2300
  PropertyGroup.$schema = {
1654
2301
  properties: {
@@ -1663,18 +2310,18 @@ export var PropertyGroup;
1663
2310
  ownValues: ["PropertyGroup"],
1664
2311
  }),
1665
2312
  },
1666
- comments: {
2313
+ comment: {
1667
2314
  kind: "Shacl",
1668
2315
  type: () => ({
1669
- kind: "Set",
2316
+ kind: "Maybe",
1670
2317
  item: () => ({ kind: "String" }),
1671
2318
  }),
1672
2319
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"),
1673
2320
  },
1674
- labels: {
2321
+ label: {
1675
2322
  kind: "Shacl",
1676
2323
  type: () => ({
1677
- kind: "Set",
2324
+ kind: "Maybe",
1678
2325
  item: () => ({ kind: "String" }),
1679
2326
  }),
1680
2327
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"),
@@ -1688,14 +2335,62 @@ export var PropertyGroup;
1688
2335
  if (!options?.ignoreRdfType) {
1689
2336
  resource.add($RdfVocabularies.rdf.type, dataFactory.namedNode("http://www.w3.org/ns/shacl#PropertyGroup"), options?.graph);
1690
2337
  }
1691
- resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"), _propertyGroup.comments.flatMap((item) => [$literalFactory.string(item)]), options?.graph);
1692
- resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"), _propertyGroup.labels.flatMap((item) => [$literalFactory.string(item)]), options?.graph);
2338
+ resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"), _propertyGroup.comment
2339
+ .toList()
2340
+ .flatMap((value) => [$literalFactory.string(value)]), options?.graph);
2341
+ resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"), _propertyGroup.label
2342
+ .toList()
2343
+ .flatMap((value) => [$literalFactory.string(value)]), options?.graph);
1693
2344
  return resource;
1694
2345
  }
1695
2346
  PropertyGroup.$toRdfResource = $toRdfResource;
1696
2347
  })(PropertyGroup || (PropertyGroup = {}));
1697
2348
  export var Ontology;
1698
2349
  (function (Ontology) {
2350
+ function $create(parameters) {
2351
+ let $identifier;
2352
+ if (typeof parameters?.$identifier === "object") {
2353
+ $identifier = parameters?.$identifier;
2354
+ }
2355
+ else if (typeof parameters?.$identifier === "string") {
2356
+ $identifier = dataFactory.namedNode(parameters?.$identifier);
2357
+ }
2358
+ else if (parameters?.$identifier === undefined) {
2359
+ $identifier = dataFactory.blankNode();
2360
+ }
2361
+ else {
2362
+ $identifier = parameters?.$identifier;
2363
+ }
2364
+ const $type = "Ontology";
2365
+ let comment;
2366
+ if (Maybe.isMaybe(parameters?.comment)) {
2367
+ comment = parameters?.comment;
2368
+ }
2369
+ else if (typeof parameters?.comment === "string") {
2370
+ comment = Maybe.of(parameters?.comment);
2371
+ }
2372
+ else if (parameters?.comment === undefined) {
2373
+ comment = Maybe.empty();
2374
+ }
2375
+ else {
2376
+ comment = parameters?.comment;
2377
+ }
2378
+ let label;
2379
+ if (Maybe.isMaybe(parameters?.label)) {
2380
+ label = parameters?.label;
2381
+ }
2382
+ else if (typeof parameters?.label === "string") {
2383
+ label = Maybe.of(parameters?.label);
2384
+ }
2385
+ else if (parameters?.label === undefined) {
2386
+ label = Maybe.empty();
2387
+ }
2388
+ else {
2389
+ label = parameters?.label;
2390
+ }
2391
+ return { $identifier, $type, comment, label };
2392
+ }
2393
+ Ontology.$create = $create;
1699
2394
  let $Identifier;
1700
2395
  (function ($Identifier) {
1701
2396
  $Identifier.fromString = $identifierFromString; // biome-ignore lint/suspicious/noShadowRestrictedNames: allow toString
@@ -1706,8 +2401,12 @@ export var Ontology;
1706
2401
  !$filterIdentifier(filter.$identifier, value.$identifier)) {
1707
2402
  return false;
1708
2403
  }
1709
- if (filter.labels !== undefined &&
1710
- !$filterArray($filterString)(filter.labels, value.labels)) {
2404
+ if (filter.comment !== undefined &&
2405
+ !$filterMaybe($filterString)(filter.comment, value.comment)) {
2406
+ return false;
2407
+ }
2408
+ if (filter.label !== undefined &&
2409
+ !$filterMaybe($filterString)(filter.label, value.label)) {
1711
2410
  return false;
1712
2411
  }
1713
2412
  return true;
@@ -1769,17 +2468,32 @@ export var Ontology;
1769
2468
  .chain(($identifier) => Right("Ontology").chain(($type) => $shaclPropertyFromRdf({
1770
2469
  graph: _$options.graph,
1771
2470
  resource: $resource,
1772
- propertySchema: Ontology.$schema.properties.labels,
2471
+ propertySchema: Ontology.$schema.properties.comment,
1773
2472
  typeFromRdf: (resourceValues) => resourceValues
1774
2473
  .chain((values) => $fromRdfPreferredLanguages(values, _$options.preferredLanguages))
1775
2474
  .chain((values) => values.chainMap((value) => value.toString()))
1776
- .map((values) => values.toArray())
1777
- .map((valuesArray) => Resource.Values.fromValue({
1778
- focusResource: $resource,
1779
- propertyPath: Ontology.$schema.properties.labels.path,
1780
- value: valuesArray,
1781
- })),
1782
- }).map((labels) => ({ $identifier, $type, labels })))));
2475
+ .map((values) => values.length > 0
2476
+ ? values.map((value) => Maybe.of(value))
2477
+ : Resource.Values.fromValue({
2478
+ focusResource: $resource,
2479
+ propertyPath: PropertyShape.$schema.properties.comment.path,
2480
+ value: Maybe.empty(),
2481
+ })),
2482
+ }).chain((comment) => $shaclPropertyFromRdf({
2483
+ graph: _$options.graph,
2484
+ resource: $resource,
2485
+ propertySchema: Ontology.$schema.properties.label,
2486
+ typeFromRdf: (resourceValues) => resourceValues
2487
+ .chain((values) => $fromRdfPreferredLanguages(values, _$options.preferredLanguages))
2488
+ .chain((values) => values.chainMap((value) => value.toString()))
2489
+ .map((values) => values.length > 0
2490
+ ? values.map((value) => Maybe.of(value))
2491
+ : Resource.Values.fromValue({
2492
+ focusResource: $resource,
2493
+ propertyPath: PropertyShape.$schema.properties.label.path,
2494
+ value: Maybe.empty(),
2495
+ })),
2496
+ }).map((label) => ({ $identifier, $type, comment, label }))))));
1783
2497
  };
1784
2498
  Ontology.$schema = {
1785
2499
  properties: {
@@ -1794,10 +2508,18 @@ export var Ontology;
1794
2508
  ownValues: ["Ontology"],
1795
2509
  }),
1796
2510
  },
1797
- labels: {
2511
+ comment: {
1798
2512
  kind: "Shacl",
1799
2513
  type: () => ({
1800
- kind: "Set",
2514
+ kind: "Maybe",
2515
+ item: () => ({ kind: "String" }),
2516
+ }),
2517
+ path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"),
2518
+ },
2519
+ label: {
2520
+ kind: "Shacl",
2521
+ type: () => ({
2522
+ kind: "Maybe",
1801
2523
  item: () => ({ kind: "String" }),
1802
2524
  }),
1803
2525
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"),
@@ -1811,13 +2533,559 @@ export var Ontology;
1811
2533
  if (!options?.ignoreRdfType) {
1812
2534
  resource.add($RdfVocabularies.rdf.type, dataFactory.namedNode("http://www.w3.org/2002/07/owl#Ontology"), options?.graph);
1813
2535
  }
1814
- resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"), _ontology.labels.flatMap((item) => [$literalFactory.string(item)]), options?.graph);
1815
- return resource;
2536
+ resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"), _ontology.comment
2537
+ .toList()
2538
+ .flatMap((value) => [$literalFactory.string(value)]), options?.graph);
2539
+ resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"), _ontology.label
2540
+ .toList()
2541
+ .flatMap((value) => [$literalFactory.string(value)]), options?.graph);
2542
+ return resource;
2543
+ }
2544
+ Ontology.$toRdfResource = $toRdfResource;
2545
+ })(Ontology || (Ontology = {}));
2546
+ export var NodeShape;
2547
+ (function (NodeShape) {
2548
+ function $create(parameters) {
2549
+ let $identifier;
2550
+ if (typeof parameters?.$identifier === "object") {
2551
+ $identifier = parameters?.$identifier;
2552
+ }
2553
+ else if (typeof parameters?.$identifier === "string") {
2554
+ $identifier = dataFactory.namedNode(parameters?.$identifier);
2555
+ }
2556
+ else if (parameters?.$identifier === undefined) {
2557
+ $identifier = dataFactory.blankNode();
2558
+ }
2559
+ else {
2560
+ $identifier = parameters?.$identifier;
2561
+ }
2562
+ const $type = "NodeShape";
2563
+ let and;
2564
+ if (Maybe.isMaybe(parameters?.and)) {
2565
+ and = parameters?.and;
2566
+ }
2567
+ else if ($isReadonlyObjectArray(parameters?.and)) {
2568
+ and = Maybe.of(parameters?.and);
2569
+ }
2570
+ else if ($isReadonlyStringArray(parameters?.and)) {
2571
+ and = Maybe.of(parameters?.and.map((item) => dataFactory.namedNode(item)));
2572
+ }
2573
+ else if (parameters?.and === undefined) {
2574
+ and = Maybe.empty();
2575
+ }
2576
+ else {
2577
+ and = parameters?.and;
2578
+ }
2579
+ let classes;
2580
+ if (parameters?.classes === undefined) {
2581
+ classes = [];
2582
+ }
2583
+ else if ($isReadonlyObjectArray(parameters?.classes)) {
2584
+ classes = parameters?.classes;
2585
+ }
2586
+ else if ($isReadonlyStringArray(parameters?.classes)) {
2587
+ classes = parameters?.classes.map((item) => dataFactory.namedNode(item));
2588
+ }
2589
+ else {
2590
+ classes = parameters?.classes;
2591
+ }
2592
+ let closed;
2593
+ if (Maybe.isMaybe(parameters?.closed)) {
2594
+ closed = parameters?.closed;
2595
+ }
2596
+ else if (typeof parameters?.closed === "boolean") {
2597
+ closed = Maybe.of(parameters?.closed);
2598
+ }
2599
+ else if (parameters?.closed === undefined) {
2600
+ closed = Maybe.empty();
2601
+ }
2602
+ else {
2603
+ closed = parameters?.closed;
2604
+ }
2605
+ let comment;
2606
+ if (Maybe.isMaybe(parameters?.comment)) {
2607
+ comment = parameters?.comment;
2608
+ }
2609
+ else if (typeof parameters?.comment === "string") {
2610
+ comment = Maybe.of(parameters?.comment);
2611
+ }
2612
+ else if (parameters?.comment === undefined) {
2613
+ comment = Maybe.empty();
2614
+ }
2615
+ else {
2616
+ comment = parameters?.comment;
2617
+ }
2618
+ let datatype;
2619
+ if (Maybe.isMaybe(parameters?.datatype)) {
2620
+ datatype = parameters?.datatype;
2621
+ }
2622
+ else if (typeof parameters?.datatype === "object") {
2623
+ datatype = Maybe.of(parameters?.datatype);
2624
+ }
2625
+ else if (typeof parameters?.datatype === "string") {
2626
+ datatype = Maybe.of(dataFactory.namedNode(parameters?.datatype));
2627
+ }
2628
+ else if (parameters?.datatype === undefined) {
2629
+ datatype = Maybe.empty();
2630
+ }
2631
+ else {
2632
+ datatype = parameters?.datatype;
2633
+ }
2634
+ let deactivated;
2635
+ if (Maybe.isMaybe(parameters?.deactivated)) {
2636
+ deactivated = parameters?.deactivated;
2637
+ }
2638
+ else if (typeof parameters?.deactivated === "boolean") {
2639
+ deactivated = Maybe.of(parameters?.deactivated);
2640
+ }
2641
+ else if (parameters?.deactivated === undefined) {
2642
+ deactivated = Maybe.empty();
2643
+ }
2644
+ else {
2645
+ deactivated = parameters?.deactivated;
2646
+ }
2647
+ let flags;
2648
+ if (parameters?.flags === undefined) {
2649
+ flags = [];
2650
+ }
2651
+ else if (typeof parameters?.flags === "object") {
2652
+ flags = parameters?.flags;
2653
+ }
2654
+ else {
2655
+ flags = parameters?.flags;
2656
+ }
2657
+ let hasValues;
2658
+ if (parameters?.hasValues === undefined) {
2659
+ hasValues = [];
2660
+ }
2661
+ else if ($isReadonlyObjectArray(parameters?.hasValues)) {
2662
+ hasValues = parameters?.hasValues;
2663
+ }
2664
+ else if ($isReadonlyBigIntArray(parameters?.hasValues)) {
2665
+ hasValues = parameters?.hasValues.map((item) => $literalFactory.bigint(item));
2666
+ }
2667
+ else if ($isReadonlyBooleanArray(parameters?.hasValues)) {
2668
+ hasValues = parameters?.hasValues.map((item) => $literalFactory.boolean(item));
2669
+ }
2670
+ else if ($isReadonlyNumberArray(parameters?.hasValues)) {
2671
+ hasValues = parameters?.hasValues.map((item) => $literalFactory.number(item));
2672
+ }
2673
+ else if ($isReadonlyStringArray(parameters?.hasValues)) {
2674
+ hasValues = parameters?.hasValues.map((item) => $literalFactory.string(item));
2675
+ }
2676
+ else {
2677
+ hasValues = parameters?.hasValues;
2678
+ }
2679
+ let ignoredProperties;
2680
+ if (Maybe.isMaybe(parameters?.ignoredProperties)) {
2681
+ ignoredProperties = parameters?.ignoredProperties;
2682
+ }
2683
+ else if ($isReadonlyObjectArray(parameters?.ignoredProperties)) {
2684
+ ignoredProperties = Maybe.of(parameters?.ignoredProperties);
2685
+ }
2686
+ else if ($isReadonlyStringArray(parameters?.ignoredProperties)) {
2687
+ ignoredProperties = Maybe.of(parameters?.ignoredProperties.map((item) => dataFactory.namedNode(item)));
2688
+ }
2689
+ else if (parameters?.ignoredProperties === undefined) {
2690
+ ignoredProperties = Maybe.empty();
2691
+ }
2692
+ else {
2693
+ ignoredProperties = parameters?.ignoredProperties;
2694
+ }
2695
+ let in_;
2696
+ if (Maybe.isMaybe(parameters?.in_)) {
2697
+ in_ = parameters?.in_;
2698
+ }
2699
+ else if ($isReadonlyObjectArray(parameters?.in_)) {
2700
+ in_ = Maybe.of(parameters?.in_);
2701
+ }
2702
+ else if ($isReadonlyBigIntArray(parameters?.in_)) {
2703
+ in_ = Maybe.of(parameters?.in_.map((item) => $literalFactory.bigint(item)));
2704
+ }
2705
+ else if ($isReadonlyBooleanArray(parameters?.in_)) {
2706
+ in_ = Maybe.of(parameters?.in_.map((item) => $literalFactory.boolean(item)));
2707
+ }
2708
+ else if ($isReadonlyNumberArray(parameters?.in_)) {
2709
+ in_ = Maybe.of(parameters?.in_.map((item) => $literalFactory.number(item)));
2710
+ }
2711
+ else if ($isReadonlyStringArray(parameters?.in_)) {
2712
+ in_ = Maybe.of(parameters?.in_.map((item) => $literalFactory.string(item)));
2713
+ }
2714
+ else if (parameters?.in_ === undefined) {
2715
+ in_ = Maybe.empty();
2716
+ }
2717
+ else {
2718
+ in_ = parameters?.in_;
2719
+ }
2720
+ let isDefinedBy;
2721
+ if (Maybe.isMaybe(parameters?.isDefinedBy)) {
2722
+ isDefinedBy = parameters?.isDefinedBy;
2723
+ }
2724
+ else if (typeof parameters?.isDefinedBy === "object") {
2725
+ isDefinedBy = Maybe.of(parameters?.isDefinedBy);
2726
+ }
2727
+ else if (typeof parameters?.isDefinedBy === "string") {
2728
+ isDefinedBy = Maybe.of(dataFactory.namedNode(parameters?.isDefinedBy));
2729
+ }
2730
+ else if (parameters?.isDefinedBy === undefined) {
2731
+ isDefinedBy = Maybe.empty();
2732
+ }
2733
+ else {
2734
+ isDefinedBy = parameters?.isDefinedBy;
2735
+ }
2736
+ let label;
2737
+ if (Maybe.isMaybe(parameters?.label)) {
2738
+ label = parameters?.label;
2739
+ }
2740
+ else if (typeof parameters?.label === "string") {
2741
+ label = Maybe.of(parameters?.label);
2742
+ }
2743
+ else if (parameters?.label === undefined) {
2744
+ label = Maybe.empty();
2745
+ }
2746
+ else {
2747
+ label = parameters?.label;
2748
+ }
2749
+ let languageIn;
2750
+ if (Maybe.isMaybe(parameters?.languageIn)) {
2751
+ languageIn = parameters?.languageIn;
2752
+ }
2753
+ else if (typeof parameters?.languageIn === "object") {
2754
+ languageIn = Maybe.of(parameters?.languageIn);
2755
+ }
2756
+ else if (parameters?.languageIn === undefined) {
2757
+ languageIn = Maybe.empty();
2758
+ }
2759
+ else {
2760
+ languageIn = parameters?.languageIn;
2761
+ }
2762
+ let maxCount;
2763
+ if (Maybe.isMaybe(parameters?.maxCount)) {
2764
+ maxCount = parameters?.maxCount;
2765
+ }
2766
+ else if (typeof parameters?.maxCount === "number") {
2767
+ maxCount = Maybe.of(parameters?.maxCount);
2768
+ }
2769
+ else if (parameters?.maxCount === undefined) {
2770
+ maxCount = Maybe.empty();
2771
+ }
2772
+ else {
2773
+ maxCount = parameters?.maxCount;
2774
+ }
2775
+ let maxExclusive;
2776
+ if (Maybe.isMaybe(parameters?.maxExclusive)) {
2777
+ maxExclusive = parameters?.maxExclusive;
2778
+ }
2779
+ else if (typeof parameters?.maxExclusive === "bigint") {
2780
+ maxExclusive = Maybe.of($literalFactory.bigint(parameters?.maxExclusive));
2781
+ }
2782
+ else if (typeof parameters?.maxExclusive === "boolean") {
2783
+ maxExclusive = Maybe.of($literalFactory.boolean(parameters?.maxExclusive));
2784
+ }
2785
+ else if (typeof parameters?.maxExclusive === "object" &&
2786
+ parameters?.maxExclusive instanceof Date) {
2787
+ maxExclusive = Maybe.of($literalFactory.date(parameters?.maxExclusive));
2788
+ }
2789
+ else if (typeof parameters?.maxExclusive === "number") {
2790
+ maxExclusive = Maybe.of($literalFactory.number(parameters?.maxExclusive));
2791
+ }
2792
+ else if (typeof parameters?.maxExclusive === "string") {
2793
+ maxExclusive = Maybe.of($literalFactory.string(parameters?.maxExclusive));
2794
+ }
2795
+ else if (typeof parameters?.maxExclusive === "object") {
2796
+ maxExclusive = Maybe.of(parameters?.maxExclusive);
2797
+ }
2798
+ else if (parameters?.maxExclusive === undefined) {
2799
+ maxExclusive = Maybe.empty();
2800
+ }
2801
+ else {
2802
+ maxExclusive = parameters?.maxExclusive;
2803
+ }
2804
+ let maxInclusive;
2805
+ if (Maybe.isMaybe(parameters?.maxInclusive)) {
2806
+ maxInclusive = parameters?.maxInclusive;
2807
+ }
2808
+ else if (typeof parameters?.maxInclusive === "bigint") {
2809
+ maxInclusive = Maybe.of($literalFactory.bigint(parameters?.maxInclusive));
2810
+ }
2811
+ else if (typeof parameters?.maxInclusive === "boolean") {
2812
+ maxInclusive = Maybe.of($literalFactory.boolean(parameters?.maxInclusive));
2813
+ }
2814
+ else if (typeof parameters?.maxInclusive === "object" &&
2815
+ parameters?.maxInclusive instanceof Date) {
2816
+ maxInclusive = Maybe.of($literalFactory.date(parameters?.maxInclusive));
2817
+ }
2818
+ else if (typeof parameters?.maxInclusive === "number") {
2819
+ maxInclusive = Maybe.of($literalFactory.number(parameters?.maxInclusive));
2820
+ }
2821
+ else if (typeof parameters?.maxInclusive === "string") {
2822
+ maxInclusive = Maybe.of($literalFactory.string(parameters?.maxInclusive));
2823
+ }
2824
+ else if (typeof parameters?.maxInclusive === "object") {
2825
+ maxInclusive = Maybe.of(parameters?.maxInclusive);
2826
+ }
2827
+ else if (parameters?.maxInclusive === undefined) {
2828
+ maxInclusive = Maybe.empty();
2829
+ }
2830
+ else {
2831
+ maxInclusive = parameters?.maxInclusive;
2832
+ }
2833
+ let maxLength;
2834
+ if (Maybe.isMaybe(parameters?.maxLength)) {
2835
+ maxLength = parameters?.maxLength;
2836
+ }
2837
+ else if (typeof parameters?.maxLength === "number") {
2838
+ maxLength = Maybe.of(parameters?.maxLength);
2839
+ }
2840
+ else if (parameters?.maxLength === undefined) {
2841
+ maxLength = Maybe.empty();
2842
+ }
2843
+ else {
2844
+ maxLength = parameters?.maxLength;
2845
+ }
2846
+ let minCount;
2847
+ if (Maybe.isMaybe(parameters?.minCount)) {
2848
+ minCount = parameters?.minCount;
2849
+ }
2850
+ else if (typeof parameters?.minCount === "number") {
2851
+ minCount = Maybe.of(parameters?.minCount);
2852
+ }
2853
+ else if (parameters?.minCount === undefined) {
2854
+ minCount = Maybe.empty();
2855
+ }
2856
+ else {
2857
+ minCount = parameters?.minCount;
2858
+ }
2859
+ let minExclusive;
2860
+ if (Maybe.isMaybe(parameters?.minExclusive)) {
2861
+ minExclusive = parameters?.minExclusive;
2862
+ }
2863
+ else if (typeof parameters?.minExclusive === "bigint") {
2864
+ minExclusive = Maybe.of($literalFactory.bigint(parameters?.minExclusive));
2865
+ }
2866
+ else if (typeof parameters?.minExclusive === "boolean") {
2867
+ minExclusive = Maybe.of($literalFactory.boolean(parameters?.minExclusive));
2868
+ }
2869
+ else if (typeof parameters?.minExclusive === "object" &&
2870
+ parameters?.minExclusive instanceof Date) {
2871
+ minExclusive = Maybe.of($literalFactory.date(parameters?.minExclusive));
2872
+ }
2873
+ else if (typeof parameters?.minExclusive === "number") {
2874
+ minExclusive = Maybe.of($literalFactory.number(parameters?.minExclusive));
2875
+ }
2876
+ else if (typeof parameters?.minExclusive === "string") {
2877
+ minExclusive = Maybe.of($literalFactory.string(parameters?.minExclusive));
2878
+ }
2879
+ else if (typeof parameters?.minExclusive === "object") {
2880
+ minExclusive = Maybe.of(parameters?.minExclusive);
2881
+ }
2882
+ else if (parameters?.minExclusive === undefined) {
2883
+ minExclusive = Maybe.empty();
2884
+ }
2885
+ else {
2886
+ minExclusive = parameters?.minExclusive;
2887
+ }
2888
+ let minInclusive;
2889
+ if (Maybe.isMaybe(parameters?.minInclusive)) {
2890
+ minInclusive = parameters?.minInclusive;
2891
+ }
2892
+ else if (typeof parameters?.minInclusive === "bigint") {
2893
+ minInclusive = Maybe.of($literalFactory.bigint(parameters?.minInclusive));
2894
+ }
2895
+ else if (typeof parameters?.minInclusive === "boolean") {
2896
+ minInclusive = Maybe.of($literalFactory.boolean(parameters?.minInclusive));
2897
+ }
2898
+ else if (typeof parameters?.minInclusive === "object" &&
2899
+ parameters?.minInclusive instanceof Date) {
2900
+ minInclusive = Maybe.of($literalFactory.date(parameters?.minInclusive));
2901
+ }
2902
+ else if (typeof parameters?.minInclusive === "number") {
2903
+ minInclusive = Maybe.of($literalFactory.number(parameters?.minInclusive));
2904
+ }
2905
+ else if (typeof parameters?.minInclusive === "string") {
2906
+ minInclusive = Maybe.of($literalFactory.string(parameters?.minInclusive));
2907
+ }
2908
+ else if (typeof parameters?.minInclusive === "object") {
2909
+ minInclusive = Maybe.of(parameters?.minInclusive);
2910
+ }
2911
+ else if (parameters?.minInclusive === undefined) {
2912
+ minInclusive = Maybe.empty();
2913
+ }
2914
+ else {
2915
+ minInclusive = parameters?.minInclusive;
2916
+ }
2917
+ let minLength;
2918
+ if (Maybe.isMaybe(parameters?.minLength)) {
2919
+ minLength = parameters?.minLength;
2920
+ }
2921
+ else if (typeof parameters?.minLength === "number") {
2922
+ minLength = Maybe.of(parameters?.minLength);
2923
+ }
2924
+ else if (parameters?.minLength === undefined) {
2925
+ minLength = Maybe.empty();
2926
+ }
2927
+ else {
2928
+ minLength = parameters?.minLength;
2929
+ }
2930
+ let nodeKind;
2931
+ if (Maybe.isMaybe(parameters?.nodeKind)) {
2932
+ nodeKind = parameters?.nodeKind;
2933
+ }
2934
+ else if (typeof parameters?.nodeKind === "object") {
2935
+ nodeKind = Maybe.of(parameters?.nodeKind);
2936
+ }
2937
+ else if (typeof parameters?.nodeKind === "string") {
2938
+ nodeKind = Maybe.of(dataFactory.namedNode(parameters?.nodeKind));
2939
+ }
2940
+ else if (parameters?.nodeKind === undefined) {
2941
+ nodeKind = Maybe.empty();
2942
+ }
2943
+ else {
2944
+ nodeKind = parameters?.nodeKind;
2945
+ }
2946
+ let nodes;
2947
+ if (parameters?.nodes === undefined) {
2948
+ nodes = [];
2949
+ }
2950
+ else if ($isReadonlyObjectArray(parameters?.nodes)) {
2951
+ nodes = parameters?.nodes;
2952
+ }
2953
+ else if ($isReadonlyStringArray(parameters?.nodes)) {
2954
+ nodes = parameters?.nodes.map((item) => dataFactory.namedNode(item));
2955
+ }
2956
+ else {
2957
+ nodes = parameters?.nodes;
2958
+ }
2959
+ let not;
2960
+ if (parameters?.not === undefined) {
2961
+ not = [];
2962
+ }
2963
+ else if ($isReadonlyObjectArray(parameters?.not)) {
2964
+ not = parameters?.not;
2965
+ }
2966
+ else if ($isReadonlyStringArray(parameters?.not)) {
2967
+ not = parameters?.not.map((item) => dataFactory.namedNode(item));
2968
+ }
2969
+ else {
2970
+ not = parameters?.not;
2971
+ }
2972
+ let or;
2973
+ if (Maybe.isMaybe(parameters?.or)) {
2974
+ or = parameters?.or;
2975
+ }
2976
+ else if ($isReadonlyObjectArray(parameters?.or)) {
2977
+ or = Maybe.of(parameters?.or);
2978
+ }
2979
+ else if ($isReadonlyStringArray(parameters?.or)) {
2980
+ or = Maybe.of(parameters?.or.map((item) => dataFactory.namedNode(item)));
2981
+ }
2982
+ else if (parameters?.or === undefined) {
2983
+ or = Maybe.empty();
2984
+ }
2985
+ else {
2986
+ or = parameters?.or;
2987
+ }
2988
+ let patterns;
2989
+ if (parameters?.patterns === undefined) {
2990
+ patterns = [];
2991
+ }
2992
+ else if (typeof parameters?.patterns === "object") {
2993
+ patterns = parameters?.patterns;
2994
+ }
2995
+ else {
2996
+ patterns = parameters?.patterns;
2997
+ }
2998
+ let properties;
2999
+ if (parameters?.properties === undefined) {
3000
+ properties = [];
3001
+ }
3002
+ else if ($isReadonlyObjectArray(parameters?.properties)) {
3003
+ properties = parameters?.properties;
3004
+ }
3005
+ else if ($isReadonlyStringArray(parameters?.properties)) {
3006
+ properties = parameters?.properties.map((item) => dataFactory.namedNode(item));
3007
+ }
3008
+ else {
3009
+ properties = parameters?.properties;
3010
+ }
3011
+ let subClassOf;
3012
+ if (parameters?.subClassOf === undefined) {
3013
+ subClassOf = [];
3014
+ }
3015
+ else if ($isReadonlyObjectArray(parameters?.subClassOf)) {
3016
+ subClassOf = parameters?.subClassOf;
3017
+ }
3018
+ else if ($isReadonlyStringArray(parameters?.subClassOf)) {
3019
+ subClassOf = parameters?.subClassOf.map((item) => dataFactory.namedNode(item));
3020
+ }
3021
+ else {
3022
+ subClassOf = parameters?.subClassOf;
3023
+ }
3024
+ let types;
3025
+ if (parameters?.types === undefined) {
3026
+ types = [];
3027
+ }
3028
+ else if ($isReadonlyObjectArray(parameters?.types)) {
3029
+ types = parameters?.types;
3030
+ }
3031
+ else if ($isReadonlyStringArray(parameters?.types)) {
3032
+ types = parameters?.types.map((item) => dataFactory.namedNode(item));
3033
+ }
3034
+ else {
3035
+ types = parameters?.types;
3036
+ }
3037
+ let xone;
3038
+ if (Maybe.isMaybe(parameters?.xone)) {
3039
+ xone = parameters?.xone;
3040
+ }
3041
+ else if ($isReadonlyObjectArray(parameters?.xone)) {
3042
+ xone = Maybe.of(parameters?.xone);
3043
+ }
3044
+ else if ($isReadonlyStringArray(parameters?.xone)) {
3045
+ xone = Maybe.of(parameters?.xone.map((item) => dataFactory.namedNode(item)));
3046
+ }
3047
+ else if (parameters?.xone === undefined) {
3048
+ xone = Maybe.empty();
3049
+ }
3050
+ else {
3051
+ xone = parameters?.xone;
3052
+ }
3053
+ return {
3054
+ $identifier,
3055
+ $type,
3056
+ and,
3057
+ classes,
3058
+ closed,
3059
+ comment,
3060
+ datatype,
3061
+ deactivated,
3062
+ flags,
3063
+ hasValues,
3064
+ ignoredProperties,
3065
+ in_,
3066
+ isDefinedBy,
3067
+ label,
3068
+ languageIn,
3069
+ maxCount,
3070
+ maxExclusive,
3071
+ maxInclusive,
3072
+ maxLength,
3073
+ minCount,
3074
+ minExclusive,
3075
+ minInclusive,
3076
+ minLength,
3077
+ nodeKind,
3078
+ nodes,
3079
+ not,
3080
+ or,
3081
+ patterns,
3082
+ properties,
3083
+ subClassOf,
3084
+ types,
3085
+ xone,
3086
+ };
1816
3087
  }
1817
- Ontology.$toRdfResource = $toRdfResource;
1818
- })(Ontology || (Ontology = {}));
1819
- export var NodeShape;
1820
- (function (NodeShape) {
3088
+ NodeShape.$create = $create;
1821
3089
  let $Identifier;
1822
3090
  (function ($Identifier) {
1823
3091
  $Identifier.fromString = $identifierFromString; // biome-ignore lint/suspicious/noShadowRestrictedNames: allow toString
@@ -1829,7 +3097,7 @@ export var NodeShape;
1829
3097
  return false;
1830
3098
  }
1831
3099
  if (filter.and !== undefined &&
1832
- !$filterArray($filterArray($filterIdentifier))(filter.and, value.and)) {
3100
+ !$filterMaybe($filterArray($filterIdentifier))(filter.and, value.and)) {
1833
3101
  return false;
1834
3102
  }
1835
3103
  if (filter.classes !== undefined &&
@@ -1840,8 +3108,8 @@ export var NodeShape;
1840
3108
  !$filterMaybe($filterBoolean)(filter.closed, value.closed)) {
1841
3109
  return false;
1842
3110
  }
1843
- if (filter.comments !== undefined &&
1844
- !$filterArray($filterString)(filter.comments, value.comments)) {
3111
+ if (filter.comment !== undefined &&
3112
+ !$filterMaybe($filterString)(filter.comment, value.comment)) {
1845
3113
  return false;
1846
3114
  }
1847
3115
  if (filter.datatype !== undefined &&
@@ -1872,8 +3140,8 @@ export var NodeShape;
1872
3140
  !$filterMaybe($filterIdentifier)(filter.isDefinedBy, value.isDefinedBy)) {
1873
3141
  return false;
1874
3142
  }
1875
- if (filter.labels !== undefined &&
1876
- !$filterArray($filterString)(filter.labels, value.labels)) {
3143
+ if (filter.label !== undefined &&
3144
+ !$filterMaybe($filterString)(filter.label, value.label)) {
1877
3145
  return false;
1878
3146
  }
1879
3147
  if (filter.languageIn !== undefined &&
@@ -1925,7 +3193,7 @@ export var NodeShape;
1925
3193
  return false;
1926
3194
  }
1927
3195
  if (filter.or !== undefined &&
1928
- !$filterArray($filterArray($filterIdentifier))(filter.or, value.or)) {
3196
+ !$filterMaybe($filterArray($filterIdentifier))(filter.or, value.or)) {
1929
3197
  return false;
1930
3198
  }
1931
3199
  if (filter.patterns !== undefined &&
@@ -1936,8 +3204,16 @@ export var NodeShape;
1936
3204
  !$filterArray($filterIdentifier)(filter.properties, value.properties)) {
1937
3205
  return false;
1938
3206
  }
3207
+ if (filter.subClassOf !== undefined &&
3208
+ !$filterArray($filterIri)(filter.subClassOf, value.subClassOf)) {
3209
+ return false;
3210
+ }
3211
+ if (filter.types !== undefined &&
3212
+ !$filterArray($filterIri)(filter.types, value.types)) {
3213
+ return false;
3214
+ }
1939
3215
  if (filter.xone !== undefined &&
1940
- !$filterArray($filterArray($filterIdentifier))(filter.xone, value.xone)) {
3216
+ !$filterMaybe($filterArray($filterIdentifier))(filter.xone, value.xone)) {
1941
3217
  return false;
1942
3218
  }
1943
3219
  return true;
@@ -2008,12 +3284,13 @@ export var NodeShape;
2008
3284
  values: valueList.toArray(),
2009
3285
  })).chain((values) => values.chainMap((value) => value.toIdentifier()))))
2010
3286
  .map((valueLists) => valueLists.map((valueList) => valueList.toArray()))
2011
- .map((values) => values.toArray())
2012
- .map((valuesArray) => Resource.Values.fromValue({
2013
- focusResource: $resource,
2014
- propertyPath: PropertyShape.$schema.properties.and.path,
2015
- value: valuesArray,
2016
- })),
3287
+ .map((values) => values.length > 0
3288
+ ? values.map((value) => Maybe.of(value))
3289
+ : Resource.Values.fromValue({
3290
+ focusResource: $resource,
3291
+ propertyPath: PropertyShape.$schema.properties.and.path,
3292
+ value: Maybe.empty(),
3293
+ })),
2017
3294
  }).chain((and) => $shaclPropertyFromRdf({
2018
3295
  graph: _$options.graph,
2019
3296
  resource: $resource,
@@ -2042,17 +3319,18 @@ export var NodeShape;
2042
3319
  }).chain((closed) => $shaclPropertyFromRdf({
2043
3320
  graph: _$options.graph,
2044
3321
  resource: $resource,
2045
- propertySchema: NodeShape.$schema.properties.comments,
3322
+ propertySchema: NodeShape.$schema.properties.comment,
2046
3323
  typeFromRdf: (resourceValues) => resourceValues
2047
3324
  .chain((values) => $fromRdfPreferredLanguages(values, _$options.preferredLanguages))
2048
3325
  .chain((values) => values.chainMap((value) => value.toString()))
2049
- .map((values) => values.toArray())
2050
- .map((valuesArray) => Resource.Values.fromValue({
2051
- focusResource: $resource,
2052
- propertyPath: PropertyShape.$schema.properties.comments.path,
2053
- value: valuesArray,
2054
- })),
2055
- }).chain((comments) => $shaclPropertyFromRdf({
3326
+ .map((values) => values.length > 0
3327
+ ? values.map((value) => Maybe.of(value))
3328
+ : Resource.Values.fromValue({
3329
+ focusResource: $resource,
3330
+ propertyPath: PropertyShape.$schema.properties.comment.path,
3331
+ value: Maybe.empty(),
3332
+ })),
3333
+ }).chain((comment) => $shaclPropertyFromRdf({
2056
3334
  graph: _$options.graph,
2057
3335
  resource: $resource,
2058
3336
  propertySchema: NodeShape.$schema.properties.datatype,
@@ -2196,18 +3474,19 @@ export var NodeShape;
2196
3474
  }).chain((isDefinedBy) => $shaclPropertyFromRdf({
2197
3475
  graph: _$options.graph,
2198
3476
  resource: $resource,
2199
- propertySchema: NodeShape.$schema.properties.labels,
3477
+ propertySchema: NodeShape.$schema.properties.label,
2200
3478
  typeFromRdf: (resourceValues) => resourceValues
2201
3479
  .chain((values) => $fromRdfPreferredLanguages(values, _$options.preferredLanguages))
2202
3480
  .chain((values) => values.chainMap((value) => value.toString()))
2203
- .map((values) => values.toArray())
2204
- .map((valuesArray) => Resource.Values.fromValue({
2205
- focusResource: $resource,
2206
- propertyPath: PropertyShape.$schema.properties
2207
- .labels.path,
2208
- value: valuesArray,
2209
- })),
2210
- }).chain((labels) => $shaclPropertyFromRdf({
3481
+ .map((values) => values.length > 0
3482
+ ? values.map((value) => Maybe.of(value))
3483
+ : Resource.Values.fromValue({
3484
+ focusResource: $resource,
3485
+ propertyPath: PropertyShape.$schema
3486
+ .properties.label.path,
3487
+ value: Maybe.empty(),
3488
+ })),
3489
+ }).chain((label) => $shaclPropertyFromRdf({
2211
3490
  graph: _$options.graph,
2212
3491
  resource: $resource,
2213
3492
  propertySchema: NodeShape.$schema.properties.languageIn,
@@ -2449,16 +3728,18 @@ export var NodeShape;
2449
3728
  values: valueList.toArray(),
2450
3729
  })).chain((values) => values.chainMap((value) => value.toIdentifier()))))
2451
3730
  .map((valueLists) => valueLists.map((valueList) => valueList.toArray()))
2452
- .map((values) => values.toArray())
2453
- .map((valuesArray) => Resource.Values.fromValue({
2454
- focusResource: $resource,
2455
- propertyPath: PropertyShape
2456
- .$schema
2457
- .properties
2458
- .or
2459
- .path,
2460
- value: valuesArray,
2461
- })),
3731
+ .map((values) => values.length >
3732
+ 0
3733
+ ? values.map((value) => Maybe.of(value))
3734
+ : Resource.Values.fromValue({
3735
+ focusResource: $resource,
3736
+ propertyPath: PropertyShape
3737
+ .$schema
3738
+ .properties
3739
+ .or
3740
+ .path,
3741
+ value: Maybe.empty(),
3742
+ })),
2462
3743
  }).chain((or) => $shaclPropertyFromRdf({
2463
3744
  graph: _$options.graph,
2464
3745
  resource: $resource,
@@ -2497,6 +3778,42 @@ export var NodeShape;
2497
3778
  value: valuesArray,
2498
3779
  })),
2499
3780
  }).chain((properties) => $shaclPropertyFromRdf({
3781
+ graph: _$options.graph,
3782
+ resource: $resource,
3783
+ propertySchema: NodeShape.$schema
3784
+ .properties
3785
+ .subClassOf,
3786
+ typeFromRdf: (resourceValues) => resourceValues
3787
+ .chain((values) => values.chainMap((value) => value.toIri()))
3788
+ .map((values) => values.toArray())
3789
+ .map((valuesArray) => Resource.Values.fromValue({
3790
+ focusResource: $resource,
3791
+ propertyPath: NodeShape
3792
+ .$schema
3793
+ .properties
3794
+ .subClassOf
3795
+ .path,
3796
+ value: valuesArray,
3797
+ })),
3798
+ }).chain((subClassOf) => $shaclPropertyFromRdf({
3799
+ graph: _$options.graph,
3800
+ resource: $resource,
3801
+ propertySchema: NodeShape.$schema
3802
+ .properties
3803
+ .types,
3804
+ typeFromRdf: (resourceValues) => resourceValues
3805
+ .chain((values) => values.chainMap((value) => value.toIri()))
3806
+ .map((values) => values.toArray())
3807
+ .map((valuesArray) => Resource.Values.fromValue({
3808
+ focusResource: $resource,
3809
+ propertyPath: NodeShape
3810
+ .$schema
3811
+ .properties
3812
+ .types
3813
+ .path,
3814
+ value: valuesArray,
3815
+ })),
3816
+ }).chain((types) => $shaclPropertyFromRdf({
2500
3817
  graph: _$options.graph,
2501
3818
  resource: $resource,
2502
3819
  propertySchema: NodeShape.$schema
@@ -2516,23 +3833,25 @@ export var NodeShape;
2516
3833
  values: valueList.toArray(),
2517
3834
  })).chain((values) => values.chainMap((value) => value.toIdentifier()))))
2518
3835
  .map((valueLists) => valueLists.map((valueList) => valueList.toArray()))
2519
- .map((values) => values.toArray())
2520
- .map((valuesArray) => Resource.Values.fromValue({
2521
- focusResource: $resource,
2522
- propertyPath: PropertyShape
2523
- .$schema
2524
- .properties
2525
- .xone
2526
- .path,
2527
- value: valuesArray,
2528
- })),
3836
+ .map((values) => values.length >
3837
+ 0
3838
+ ? values.map((value) => Maybe.of(value))
3839
+ : Resource.Values.fromValue({
3840
+ focusResource: $resource,
3841
+ propertyPath: PropertyShape
3842
+ .$schema
3843
+ .properties
3844
+ .xone
3845
+ .path,
3846
+ value: Maybe.empty(),
3847
+ })),
2529
3848
  }).map((xone) => ({
2530
3849
  $identifier,
2531
3850
  $type,
2532
3851
  and,
2533
3852
  classes,
2534
3853
  closed,
2535
- comments,
3854
+ comment,
2536
3855
  datatype,
2537
3856
  deactivated,
2538
3857
  flags,
@@ -2540,7 +3859,7 @@ export var NodeShape;
2540
3859
  ignoredProperties,
2541
3860
  in_,
2542
3861
  isDefinedBy,
2543
- labels,
3862
+ label,
2544
3863
  languageIn,
2545
3864
  maxCount,
2546
3865
  maxExclusive,
@@ -2556,8 +3875,10 @@ export var NodeShape;
2556
3875
  or,
2557
3876
  patterns,
2558
3877
  properties,
3878
+ subClassOf,
3879
+ types,
2559
3880
  xone,
2560
- }))))))))))))))))))))))))))))))));
3881
+ }))))))))))))))))))))))))))))))))));
2561
3882
  };
2562
3883
  NodeShape.$schema = {
2563
3884
  properties: {
@@ -2575,7 +3896,7 @@ export var NodeShape;
2575
3896
  and: {
2576
3897
  kind: "Shacl",
2577
3898
  type: () => ({
2578
- kind: "Set",
3899
+ kind: "Maybe",
2579
3900
  item: () => ({
2580
3901
  kind: "List",
2581
3902
  item: () => ({ kind: "Identifier" }),
@@ -2599,10 +3920,10 @@ export var NodeShape;
2599
3920
  }),
2600
3921
  path: dataFactory.namedNode("http://www.w3.org/ns/shacl#closed"),
2601
3922
  },
2602
- comments: {
3923
+ comment: {
2603
3924
  kind: "Shacl",
2604
3925
  type: () => ({
2605
- kind: "Set",
3926
+ kind: "Maybe",
2606
3927
  item: () => ({ kind: "String" }),
2607
3928
  }),
2608
3929
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"),
@@ -2669,10 +3990,10 @@ export var NodeShape;
2669
3990
  }),
2670
3991
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#isDefinedBy"),
2671
3992
  },
2672
- labels: {
3993
+ label: {
2673
3994
  kind: "Shacl",
2674
3995
  type: () => ({
2675
- kind: "Set",
3996
+ kind: "Maybe",
2676
3997
  item: () => ({ kind: "String" }),
2677
3998
  }),
2678
3999
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"),
@@ -2789,7 +4110,7 @@ export var NodeShape;
2789
4110
  or: {
2790
4111
  kind: "Shacl",
2791
4112
  type: () => ({
2792
- kind: "Set",
4113
+ kind: "Maybe",
2793
4114
  item: () => ({
2794
4115
  kind: "List",
2795
4116
  item: () => ({ kind: "Identifier" }),
@@ -2813,10 +4134,26 @@ export var NodeShape;
2813
4134
  }),
2814
4135
  path: dataFactory.namedNode("http://www.w3.org/ns/shacl#property"),
2815
4136
  },
2816
- xone: {
4137
+ subClassOf: {
2817
4138
  kind: "Shacl",
2818
4139
  type: () => ({
2819
4140
  kind: "Set",
4141
+ item: () => ({ kind: "Iri" }),
4142
+ }),
4143
+ path: $RdfVocabularies.rdfs.subClassOf,
4144
+ },
4145
+ types: {
4146
+ kind: "Shacl",
4147
+ type: () => ({
4148
+ kind: "Set",
4149
+ item: () => ({ kind: "Iri" }),
4150
+ }),
4151
+ path: $RdfVocabularies.rdf.type,
4152
+ },
4153
+ xone: {
4154
+ kind: "Shacl",
4155
+ type: () => ({
4156
+ kind: "Maybe",
2820
4157
  item: () => ({
2821
4158
  kind: "List",
2822
4159
  item: () => ({ kind: "Identifier" }),
@@ -2833,9 +4170,9 @@ export var NodeShape;
2833
4170
  if (!options?.ignoreRdfType) {
2834
4171
  resource.add($RdfVocabularies.rdf.type, dataFactory.namedNode("http://www.w3.org/ns/shacl#NodeShape"), options?.graph);
2835
4172
  }
2836
- resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#and"), _nodeShape.and.flatMap((item) => [
2837
- item.length > 0
2838
- ? item.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
4173
+ resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#and"), _nodeShape.and.toList().flatMap((value) => [
4174
+ value.length > 0
4175
+ ? value.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
2839
4176
  if (itemIndex === 0) {
2840
4177
  currentSubListResource = listResource;
2841
4178
  }
@@ -2861,7 +4198,9 @@ export var NodeShape;
2861
4198
  .flatMap((value) => [
2862
4199
  $literalFactory.boolean(value, $RdfVocabularies.xsd.boolean),
2863
4200
  ]), options?.graph);
2864
- resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"), _nodeShape.comments.flatMap((item) => [$literalFactory.string(item)]), options?.graph);
4201
+ resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"), _nodeShape.comment
4202
+ .toList()
4203
+ .flatMap((value) => [$literalFactory.string(value)]), options?.graph);
2865
4204
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#datatype"), _nodeShape.datatype.toList(), options?.graph);
2866
4205
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#deactivated"), _nodeShape.deactivated
2867
4206
  .toList()
@@ -2915,7 +4254,9 @@ export var NodeShape;
2915
4254
  : $RdfVocabularies.rdf.nil,
2916
4255
  ]), options?.graph);
2917
4256
  resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#isDefinedBy"), _nodeShape.isDefinedBy.toList(), options?.graph);
2918
- resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"), _nodeShape.labels.flatMap((item) => [$literalFactory.string(item)]), options?.graph);
4257
+ resource.add(dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"), _nodeShape.label
4258
+ .toList()
4259
+ .flatMap((value) => [$literalFactory.string(value)]), options?.graph);
2919
4260
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#languageIn"), _nodeShape.languageIn.toList().flatMap((value) => [
2920
4261
  value.length > 0
2921
4262
  ? value.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
@@ -2965,9 +4306,9 @@ export var NodeShape;
2965
4306
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#nodeKind"), _nodeShape.nodeKind.toList(), options?.graph);
2966
4307
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#node"), _nodeShape.nodes.flatMap((item) => [item]), options?.graph);
2967
4308
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#not"), _nodeShape.not.flatMap((item) => [item]), options?.graph);
2968
- resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#or"), _nodeShape.or.flatMap((item) => [
2969
- item.length > 0
2970
- ? item.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
4309
+ resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#or"), _nodeShape.or.toList().flatMap((value) => [
4310
+ value.length > 0
4311
+ ? value.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
2971
4312
  if (itemIndex === 0) {
2972
4313
  currentSubListResource = listResource;
2973
4314
  }
@@ -2989,9 +4330,11 @@ export var NodeShape;
2989
4330
  ]), options?.graph);
2990
4331
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#pattern"), _nodeShape.patterns.flatMap((item) => [$literalFactory.string(item)]), options?.graph);
2991
4332
  resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#property"), _nodeShape.properties.flatMap((item) => [item]), options?.graph);
2992
- resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#xone"), _nodeShape.xone.flatMap((item) => [
2993
- item.length > 0
2994
- ? item.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
4333
+ resource.add($RdfVocabularies.rdfs.subClassOf, _nodeShape.subClassOf.flatMap((item) => [item]), options?.graph);
4334
+ resource.add($RdfVocabularies.rdf.type, _nodeShape.types.flatMap((item) => [item]), options?.graph);
4335
+ resource.add(dataFactory.namedNode("http://www.w3.org/ns/shacl#xone"), _nodeShape.xone.toList().flatMap((value) => [
4336
+ value.length > 0
4337
+ ? value.reduce(({ currentSubListResource, listResource }, item, itemIndex, list) => {
2995
4338
  if (itemIndex === 0) {
2996
4339
  currentSubListResource = listResource;
2997
4340
  }
@@ -3017,15 +4360,6 @@ export var NodeShape;
3017
4360
  })(NodeShape || (NodeShape = {}));
3018
4361
  export var Shape;
3019
4362
  (function (Shape) {
3020
- Shape.$toRdfResource = (value, options) => {
3021
- if (NodeShape.isNodeShape(value)) {
3022
- return NodeShape.$toRdfResource(value, options);
3023
- }
3024
- if (PropertyShape.isPropertyShape(value)) {
3025
- return PropertyShape.$toRdfResource(value, options);
3026
- }
3027
- throw new Error("unrecognized type");
3028
- };
3029
4363
  Shape.$filter = (filter, value) => {
3030
4364
  if (filter.$identifier !== undefined &&
3031
4365
  !$filterIdentifier(filter.$identifier, value.$identifier)) {
@@ -3092,7 +4426,7 @@ export var Shape;
3092
4426
  and: {
3093
4427
  kind: "Shacl",
3094
4428
  type: () => ({
3095
- kind: "Set",
4429
+ kind: "Maybe",
3096
4430
  item: () => ({
3097
4431
  kind: "List",
3098
4432
  item: () => ({ kind: "Identifier" }),
@@ -3108,10 +4442,10 @@ export var Shape;
3108
4442
  }),
3109
4443
  path: dataFactory.namedNode("http://www.w3.org/ns/shacl#class"),
3110
4444
  },
3111
- comments: {
4445
+ comment: {
3112
4446
  kind: "Shacl",
3113
4447
  type: () => ({
3114
- kind: "Set",
4448
+ kind: "Maybe",
3115
4449
  item: () => ({ kind: "String" }),
3116
4450
  }),
3117
4451
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"),
@@ -3167,10 +4501,10 @@ export var Shape;
3167
4501
  }),
3168
4502
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#isDefinedBy"),
3169
4503
  },
3170
- labels: {
4504
+ label: {
3171
4505
  kind: "Shacl",
3172
4506
  type: () => ({
3173
- kind: "Set",
4507
+ kind: "Maybe",
3174
4508
  item: () => ({ kind: "String" }),
3175
4509
  }),
3176
4510
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"),
@@ -3287,7 +4621,7 @@ export var Shape;
3287
4621
  or: {
3288
4622
  kind: "Shacl",
3289
4623
  type: () => ({
3290
- kind: "Set",
4624
+ kind: "Maybe",
3291
4625
  item: () => ({
3292
4626
  kind: "List",
3293
4627
  item: () => ({ kind: "Identifier" }),
@@ -3306,7 +4640,7 @@ export var Shape;
3306
4640
  xone: {
3307
4641
  kind: "Shacl",
3308
4642
  type: () => ({
3309
- kind: "Set",
4643
+ kind: "Maybe",
3310
4644
  item: () => ({
3311
4645
  kind: "List",
3312
4646
  item: () => ({ kind: "Identifier" }),
@@ -3316,6 +4650,15 @@ export var Shape;
3316
4650
  },
3317
4651
  },
3318
4652
  };
4653
+ Shape.$toRdfResource = (value, options) => {
4654
+ if (NodeShape.isNodeShape(value)) {
4655
+ return NodeShape.$toRdfResource(value, options);
4656
+ }
4657
+ if (PropertyShape.isPropertyShape(value)) {
4658
+ return PropertyShape.$toRdfResource(value, options);
4659
+ }
4660
+ throw new Error("unrecognized type");
4661
+ };
3319
4662
  Shape.$toRdfResourceValues = ((value, _options) => {
3320
4663
  if (NodeShape.isNodeShape(value)) {
3321
4664
  return [
@@ -3342,21 +4685,6 @@ export var Shape;
3342
4685
  })(Shape || (Shape = {}));
3343
4686
  export var $Object;
3344
4687
  (function ($Object) {
3345
- $Object.$toRdfResource = (value, options) => {
3346
- if (NodeShape.isNodeShape(value)) {
3347
- return NodeShape.$toRdfResource(value, options);
3348
- }
3349
- if (Ontology.isOntology(value)) {
3350
- return Ontology.$toRdfResource(value, options);
3351
- }
3352
- if (PropertyGroup.isPropertyGroup(value)) {
3353
- return PropertyGroup.$toRdfResource(value, options);
3354
- }
3355
- if (PropertyShape.isPropertyShape(value)) {
3356
- return PropertyShape.$toRdfResource(value, options);
3357
- }
3358
- throw new Error("unrecognized type");
3359
- };
3360
4688
  $Object.$filter = (filter, value) => {
3361
4689
  if (filter.$identifier !== undefined &&
3362
4690
  !$filterIdentifier(filter.$identifier, value.$identifier)) {
@@ -3463,16 +4791,39 @@ export var $Object;
3463
4791
  },
3464
4792
  },
3465
4793
  properties: {
3466
- labels: {
4794
+ comment: {
3467
4795
  kind: "Shacl",
3468
4796
  type: () => ({
3469
- kind: "Set",
4797
+ kind: "Maybe",
4798
+ item: () => ({ kind: "String" }),
4799
+ }),
4800
+ path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#comment"),
4801
+ },
4802
+ label: {
4803
+ kind: "Shacl",
4804
+ type: () => ({
4805
+ kind: "Maybe",
3470
4806
  item: () => ({ kind: "String" }),
3471
4807
  }),
3472
4808
  path: dataFactory.namedNode("http://www.w3.org/2000/01/rdf-schema#label"),
3473
4809
  },
3474
4810
  },
3475
4811
  };
4812
+ $Object.$toRdfResource = (value, options) => {
4813
+ if (NodeShape.isNodeShape(value)) {
4814
+ return NodeShape.$toRdfResource(value, options);
4815
+ }
4816
+ if (Ontology.isOntology(value)) {
4817
+ return Ontology.$toRdfResource(value, options);
4818
+ }
4819
+ if (PropertyGroup.isPropertyGroup(value)) {
4820
+ return PropertyGroup.$toRdfResource(value, options);
4821
+ }
4822
+ if (PropertyShape.isPropertyShape(value)) {
4823
+ return PropertyShape.$toRdfResource(value, options);
4824
+ }
4825
+ throw new Error("unrecognized type");
4826
+ };
3476
4827
  $Object.$toRdfResourceValues = ((value, _options) => {
3477
4828
  if (NodeShape.isNodeShape(value)) {
3478
4829
  return [
@@ -3735,7 +5086,7 @@ export class $RdfjsDatasetObjectSet {
3735
5086
  },
3736
5087
  ], query);
3737
5088
  }
3738
- $objectsSync(objectType, query) {
5089
+ $objectsSync(namedObjectType, query) {
3739
5090
  const graph = query?.graph ?? this.$graph;
3740
5091
  const limit = query?.limit ?? Number.MAX_SAFE_INTEGER;
3741
5092
  if (limit <= 0) {
@@ -3759,11 +5110,11 @@ export class $RdfjsDatasetObjectSet {
3759
5110
  }));
3760
5111
  sortResources = false;
3761
5112
  }
3762
- else if (objectType.$fromRdfTypes.length > 0) {
5113
+ else if (namedObjectType.$fromRdfTypes.length > 0) {
3763
5114
  const identifierSet = new $IdentifierSet();
3764
5115
  resources = [];
3765
5116
  sortResources = true;
3766
- for (const fromRdfType of objectType.$fromRdfTypes) {
5117
+ for (const fromRdfType of namedObjectType.$fromRdfTypes) {
3767
5118
  for (const resource of resourceSet.instancesOf(fromRdfType, {
3768
5119
  graph,
3769
5120
  })) {
@@ -3795,7 +5146,7 @@ export class $RdfjsDatasetObjectSet {
3795
5146
  identifierSet.add(quad.subject);
3796
5147
  const resource = resourceSet.resource(quad.subject);
3797
5148
  // Eagerly eliminate the majority of resources that won't match the object type
3798
- objectType
5149
+ namedObjectType
3799
5150
  .$fromRdfResource(resource, fromRdfResourceOptions)
3800
5151
  .ifRight((object) => {
3801
5152
  resources.push({ object, resource });
@@ -3810,13 +5161,13 @@ export class $RdfjsDatasetObjectSet {
3810
5161
  const objects = [];
3811
5162
  for (let { object, resource } of resources) {
3812
5163
  if (!object) {
3813
- const objectEither = objectType.$fromRdfResource(resource, fromRdfResourceOptions);
5164
+ const objectEither = namedObjectType.$fromRdfResource(resource, fromRdfResourceOptions);
3814
5165
  if (objectEither.isLeft()) {
3815
5166
  return objectEither;
3816
5167
  }
3817
5168
  object = objectEither.unsafeCoerce();
3818
5169
  }
3819
- if (query?.filter && !objectType.$filter(query.filter, object)) {
5170
+ if (query?.filter && !namedObjectType.$filter(query.filter, object)) {
3820
5171
  continue;
3821
5172
  }
3822
5173
  if (objectI++ >= offset) {
@@ -3828,7 +5179,7 @@ export class $RdfjsDatasetObjectSet {
3828
5179
  }
3829
5180
  return Right(objects);
3830
5181
  }
3831
- $objectUnionsSync(objectTypes, query) {
5182
+ $objectUnionsSync(namedObjectTypes, query) {
3832
5183
  const graph = query?.graph ?? this.$graph;
3833
5184
  const limit = query?.limit ?? Number.MAX_SAFE_INTEGER;
3834
5185
  if (limit <= 0) {
@@ -3852,18 +5203,18 @@ export class $RdfjsDatasetObjectSet {
3852
5203
  }));
3853
5204
  sortResources = false;
3854
5205
  }
3855
- else if (objectTypes.every((objectType) => objectType.$fromRdfTypes.length > 0)) {
5206
+ else if (namedObjectTypes.every((namedObjectType) => namedObjectType.$fromRdfTypes.length > 0)) {
3856
5207
  const identifierSet = new $IdentifierSet();
3857
5208
  resources = [];
3858
5209
  sortResources = true;
3859
- for (const objectType of objectTypes) {
3860
- for (const fromRdfType of objectType.$fromRdfTypes) {
5210
+ for (const namedObjectType of namedObjectTypes) {
5211
+ for (const fromRdfType of namedObjectType.$fromRdfTypes) {
3861
5212
  for (const resource of resourceSet.instancesOf(fromRdfType, {
3862
5213
  graph,
3863
5214
  })) {
3864
5215
  if (!identifierSet.has(resource.identifier)) {
3865
5216
  identifierSet.add(resource.identifier);
3866
- resources.push({ objectType, resource });
5217
+ resources.push({ namedObjectType, resource });
3867
5218
  }
3868
5219
  }
3869
5220
  }
@@ -3890,11 +5241,11 @@ export class $RdfjsDatasetObjectSet {
3890
5241
  identifierSet.add(quad.subject);
3891
5242
  // Eagerly eliminate the majority of resources that won't match the object types
3892
5243
  const resource = resourceSet.resource(quad.subject);
3893
- for (const objectType of objectTypes) {
3894
- if (objectType
5244
+ for (const namedObjectType of namedObjectTypes) {
5245
+ if (namedObjectType
3895
5246
  .$fromRdfResource(resource, fromRdfResourceOptions)
3896
5247
  .ifRight((object) => {
3897
- resources.push({ object, objectType, resource });
5248
+ resources.push({ object, namedObjectType, resource });
3898
5249
  })
3899
5250
  .isRight()) {
3900
5251
  break;
@@ -3908,18 +5259,18 @@ export class $RdfjsDatasetObjectSet {
3908
5259
  }
3909
5260
  let objectI = 0;
3910
5261
  const objects = [];
3911
- for (let { object, objectType, resource } of resources) {
5262
+ for (let { object, namedObjectType, resource } of resources) {
3912
5263
  if (!object) {
3913
5264
  let objectEither;
3914
- if (objectType) {
3915
- objectEither = objectType.$fromRdfResource(resource, fromRdfResourceOptions);
5265
+ if (namedObjectType) {
5266
+ objectEither = namedObjectType.$fromRdfResource(resource, fromRdfResourceOptions);
3916
5267
  }
3917
5268
  else {
3918
5269
  objectEither = Left(new Error("no object types"));
3919
- for (const tryObjectType of objectTypes) {
5270
+ for (const tryObjectType of namedObjectTypes) {
3920
5271
  objectEither = tryObjectType.$fromRdfResource(resource, fromRdfResourceOptions);
3921
5272
  if (objectEither.isRight()) {
3922
- objectType = tryObjectType;
5273
+ namedObjectType = tryObjectType;
3923
5274
  break;
3924
5275
  }
3925
5276
  }
@@ -3929,10 +5280,10 @@ export class $RdfjsDatasetObjectSet {
3929
5280
  }
3930
5281
  object = objectEither.unsafeCoerce();
3931
5282
  }
3932
- if (!objectType) {
3933
- throw new Error("objectType should be set here");
5283
+ if (!namedObjectType) {
5284
+ throw new Error("namedObjectType should be set here");
3934
5285
  }
3935
- if (query?.filter && !objectType.$filter(query.filter, object)) {
5286
+ if (query?.filter && !namedObjectType.$filter(query.filter, object)) {
3936
5287
  continue;
3937
5288
  }
3938
5289
  if (objectI++ >= offset) {