@lincs.project/webannotation-schema 1.11.0 → 1.12.0

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.
@@ -2,14 +2,13 @@
2
2
  "$id": "https://wa.lincsproject.ca/v1/defs.jsonld",
3
3
  "type": "object",
4
4
  "definitions": {
5
- "creator": {
5
+ "user": {
6
6
  "type": "object",
7
- "description": "Software Agent",
7
+ "description": "User Agent",
8
8
  "properties": {
9
9
  "id": {
10
10
  "type": "string",
11
- "format": "uri",
12
- "description": "The IRI that identifies the agent (Creator or Contributor)."
11
+ "format": "uri"
13
12
  },
14
13
  "type": {
15
14
  "type": "string",
@@ -18,7 +17,31 @@
18
17
  "name": {
19
18
  "type": "string",
20
19
  "minLength": 1,
21
- "description": "The name of the agent."
20
+ "description": "The person's name."
21
+ }
22
+ },
23
+ "required": [
24
+ "id",
25
+ "type",
26
+ "name"
27
+ ]
28
+ },
29
+ "group": {
30
+ "type": "object",
31
+ "description": "Group Agent",
32
+ "properties": {
33
+ "id": {
34
+ "type": "string",
35
+ "format": "uri"
36
+ },
37
+ "type": {
38
+ "type": "string",
39
+ "const": "crm:E74_Group"
40
+ },
41
+ "name": {
42
+ "type": "string",
43
+ "minLength": 1,
44
+ "description": "The group's name."
22
45
  }
23
46
  },
24
47
  "required": [
@@ -33,31 +56,43 @@
33
56
  "properties": {
34
57
  "id": {
35
58
  "type": "string",
36
- "format": "uri",
37
- "description": "The IRI that identifies the agent (software)."
59
+ "format": "uri"
38
60
  },
39
61
  "type": {
40
- "type": "string",
41
- "const": "Software"
62
+ "type": "array",
63
+ "minItems": 2,
64
+ "maxItems": 2,
65
+ "items": [
66
+ {
67
+ "type": "string",
68
+ "const": "Software"
69
+ },
70
+ {
71
+ "type": "string",
72
+ "const": "crm:E73_Information_Object"
73
+ }
74
+ ]
42
75
  },
43
76
  "P16_used_specific_object": {
44
77
  "type": "string",
45
- "format": "uri"
78
+ "format": "uri",
79
+ "nullable": true
46
80
  },
47
- "label": {
81
+ "name": {
48
82
  "type": "string",
49
83
  "minLength": 1,
50
- "description": "The name of the software."
84
+ "description": "The software's name."
51
85
  },
52
86
  "softwareVersion": {
53
87
  "type": "string",
88
+ "nullable": true,
54
89
  "description": "The software version."
55
90
  }
56
91
  },
57
92
  "required": [
58
93
  "id",
59
94
  "type",
60
- "label"
95
+ "name"
61
96
  ]
62
97
  },
63
98
  "target": {
@@ -354,6 +389,53 @@
354
389
  "value"
355
390
  ]
356
391
  },
392
+ {
393
+ "type": "object",
394
+ "description": "CSS Selector",
395
+ "properties": {
396
+ "id": {
397
+ "type": "string",
398
+ "format": "uri"
399
+ },
400
+ "type": {
401
+ "type": "array",
402
+ "minItems": 2,
403
+ "maxItems": 2,
404
+ "items": [
405
+ {
406
+ "type": "string",
407
+ "const": "CssSelector"
408
+ },
409
+ {
410
+ "type": "string",
411
+ "const": "crm:E73_Information_Object"
412
+ }
413
+ ],
414
+ "description": "The class of the Selector,"
415
+ },
416
+ "value": {
417
+ "type": "string",
418
+ "description": "Web Annotation Target Select CSS"
419
+ },
420
+ "refinedBy": {
421
+ "type": "object",
422
+ "anyOf": [
423
+ {
424
+ "$ref": "defs.jsonld#/definitions/textPositionSelector"
425
+ },
426
+ {
427
+ "$ref": "defs.jsonld#/definitions/textQuoteSelector"
428
+ }
429
+ ],
430
+ "required": []
431
+ }
432
+ },
433
+ "required": [
434
+ "id",
435
+ "type",
436
+ "value"
437
+ ]
438
+ },
357
439
  {
358
440
  "type": "object",
359
441
  "description": "Range Selector",
@@ -558,6 +640,53 @@
558
640
  "value"
559
641
  ]
560
642
  },
643
+ {
644
+ "type": "object",
645
+ "description": "CSS Selector",
646
+ "properties": {
647
+ "id": {
648
+ "type": "string",
649
+ "format": "uri"
650
+ },
651
+ "type": {
652
+ "type": "array",
653
+ "minItems": 2,
654
+ "maxItems": 2,
655
+ "items": [
656
+ {
657
+ "type": "string",
658
+ "const": "CssSelector"
659
+ },
660
+ {
661
+ "type": "string",
662
+ "const": "crm:E73_Information_Object"
663
+ }
664
+ ],
665
+ "description": "The class of the Selector,"
666
+ },
667
+ "value": {
668
+ "type": "string",
669
+ "description": "Web Annotation Target Select CSS"
670
+ },
671
+ "refinedBy": {
672
+ "type": "object",
673
+ "anyOf": [
674
+ {
675
+ "$ref": "defs.jsonld#/definitions/textPositionSelector"
676
+ },
677
+ {
678
+ "$ref": "defs.jsonld#/definitions/textQuoteSelector"
679
+ }
680
+ ],
681
+ "required": []
682
+ }
683
+ },
684
+ "required": [
685
+ "id",
686
+ "type",
687
+ "value"
688
+ ]
689
+ },
561
690
  {
562
691
  "type": "object",
563
692
  "description": "Range Selector",
@@ -731,6 +860,45 @@
731
860
  }
732
861
  }
733
862
  },
863
+ {
864
+ "if": {
865
+ "type": "object",
866
+ "properties": {
867
+ "selector": {
868
+ "type": "object",
869
+ "properties": {
870
+ "type": {
871
+ "type": "array",
872
+ "minItems": 2,
873
+ "maxItems": 2,
874
+ "items": [
875
+ {
876
+ "type": "string",
877
+ "const": "CssSelector"
878
+ },
879
+ {
880
+ "type": "string",
881
+ "const": "crm:E73_Information_Object"
882
+ }
883
+ ]
884
+ }
885
+ }
886
+ }
887
+ }
888
+ },
889
+ "then": {
890
+ "type": "object",
891
+ "properties": {
892
+ "selector": {
893
+ "type": "object",
894
+ "required": [
895
+ "type",
896
+ "value"
897
+ ]
898
+ }
899
+ }
900
+ }
901
+ },
734
902
  {
735
903
  "if": {
736
904
  "type": "object",
@@ -975,7 +1143,7 @@
975
1143
  "oneOf": [
976
1144
  {
977
1145
  "type": "string",
978
- "const": "cwrc:place"
1146
+ "const": "crm:E53_Place"
979
1147
  },
980
1148
  {
981
1149
  "type": "array",
@@ -984,7 +1152,7 @@
984
1152
  "items": [
985
1153
  {
986
1154
  "type": "string",
987
- "const": "cwrc:place"
1155
+ "const": "biography:fictionalPlace"
988
1156
  },
989
1157
  {
990
1158
  "type": "string",
@@ -1391,7 +1559,7 @@
1391
1559
  "oneOf": [
1392
1560
  {
1393
1561
  "type": "string",
1394
- "const": "cwrc:place"
1562
+ "const": "crm:E53_Place"
1395
1563
  },
1396
1564
  {
1397
1565
  "type": "array",
@@ -1400,7 +1568,7 @@
1400
1568
  "items": [
1401
1569
  {
1402
1570
  "type": "string",
1403
- "const": "cwrc:place"
1571
+ "const": "biography:fictionalPlace"
1404
1572
  },
1405
1573
  {
1406
1574
  "type": "string",
@@ -68,12 +68,32 @@
68
68
  "description": "The time at which the resource was modified, after creation."
69
69
  },
70
70
  "creator": {
71
- "$ref": "defs.jsonld#/definitions/creator"
71
+ "oneOf": [
72
+ {
73
+ "$ref": "defs.jsonld#/definitions/user"
74
+ },
75
+ {
76
+ "$ref": "defs.jsonld#/definitions/group"
77
+ },
78
+ {
79
+ "$ref": "defs.jsonld#/definitions/software"
80
+ }
81
+ ]
72
82
  },
73
83
  "contributor": {
74
84
  "type": "array",
75
85
  "items": {
76
- "$ref": "defs.jsonld#/definitions/creator"
86
+ "oneOf": [
87
+ {
88
+ "$ref": "defs.jsonld#/definitions/user"
89
+ },
90
+ {
91
+ "$ref": "defs.jsonld#/definitions/group"
92
+ },
93
+ {
94
+ "$ref": "defs.jsonld#/definitions/software"
95
+ }
96
+ ]
77
97
  },
78
98
  "minItems": 1
79
99
  },
@@ -81,7 +101,18 @@
81
101
  "$ref": "defs.jsonld#/definitions/software"
82
102
  },
83
103
  "target": {
84
- "$ref": "defs.jsonld#/definitions/target"
104
+ "oneOf": [
105
+ {
106
+ "$ref": "defs.jsonld#/definitions/target"
107
+ },
108
+ {
109
+ "type": "array",
110
+ "items": {
111
+ "$ref": "defs.jsonld#/definitions/target"
112
+ },
113
+ "minItems": 1
114
+ }
115
+ ]
85
116
  },
86
117
  "body": {
87
118
  "oneOf": [
@@ -189,7 +220,7 @@
189
220
  "oneOf": [
190
221
  {
191
222
  "type": "string",
192
- "const": "cwrc:place"
223
+ "const": "crm:E53_Place"
193
224
  },
194
225
  {
195
226
  "type": "array",
@@ -198,7 +229,7 @@
198
229
  "items": [
199
230
  {
200
231
  "type": "string",
201
- "const": "cwrc:place"
232
+ "const": "biography:fictionalPlace"
202
233
  },
203
234
  {
204
235
  "type": "string",