@lincs.project/webannotation-schema 1.11.0 → 1.13.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": {
@@ -101,10 +136,8 @@
101
136
  "format": {
102
137
  "type": [
103
138
  "string",
104
- "array",
105
- "null"
139
+ "array"
106
140
  ],
107
- "nullable": true,
108
141
  "anyOf": [
109
142
  {
110
143
  "type": "string",
@@ -174,17 +207,12 @@
174
207
  "description": "The languages of the Web Resource's content. The value of the property should be an array of language code following the [bcp47] specification."
175
208
  }
176
209
  ]
177
- },
178
- "title": {
179
- "type": "string",
180
- "minLength": 1,
181
- "nullable": true,
182
- "description": "The title of the document being annotated."
183
210
  }
184
211
  },
185
212
  "required": [
186
213
  "id",
187
- "type"
214
+ "type",
215
+ "format"
188
216
  ]
189
217
  },
190
218
  "renderedVia": {
@@ -354,6 +382,53 @@
354
382
  "value"
355
383
  ]
356
384
  },
385
+ {
386
+ "type": "object",
387
+ "description": "CSS Selector",
388
+ "properties": {
389
+ "id": {
390
+ "type": "string",
391
+ "format": "uri"
392
+ },
393
+ "type": {
394
+ "type": "array",
395
+ "minItems": 2,
396
+ "maxItems": 2,
397
+ "items": [
398
+ {
399
+ "type": "string",
400
+ "const": "CssSelector"
401
+ },
402
+ {
403
+ "type": "string",
404
+ "const": "crm:E73_Information_Object"
405
+ }
406
+ ],
407
+ "description": "The class of the Selector,"
408
+ },
409
+ "value": {
410
+ "type": "string",
411
+ "description": "Web Annotation Target Select CSS"
412
+ },
413
+ "refinedBy": {
414
+ "type": "object",
415
+ "anyOf": [
416
+ {
417
+ "$ref": "defs.jsonld#/definitions/textPositionSelector"
418
+ },
419
+ {
420
+ "$ref": "defs.jsonld#/definitions/textQuoteSelector"
421
+ }
422
+ ],
423
+ "required": []
424
+ }
425
+ },
426
+ "required": [
427
+ "id",
428
+ "type",
429
+ "value"
430
+ ]
431
+ },
357
432
  {
358
433
  "type": "object",
359
434
  "description": "Range Selector",
@@ -558,6 +633,53 @@
558
633
  "value"
559
634
  ]
560
635
  },
636
+ {
637
+ "type": "object",
638
+ "description": "CSS Selector",
639
+ "properties": {
640
+ "id": {
641
+ "type": "string",
642
+ "format": "uri"
643
+ },
644
+ "type": {
645
+ "type": "array",
646
+ "minItems": 2,
647
+ "maxItems": 2,
648
+ "items": [
649
+ {
650
+ "type": "string",
651
+ "const": "CssSelector"
652
+ },
653
+ {
654
+ "type": "string",
655
+ "const": "crm:E73_Information_Object"
656
+ }
657
+ ],
658
+ "description": "The class of the Selector,"
659
+ },
660
+ "value": {
661
+ "type": "string",
662
+ "description": "Web Annotation Target Select CSS"
663
+ },
664
+ "refinedBy": {
665
+ "type": "object",
666
+ "anyOf": [
667
+ {
668
+ "$ref": "defs.jsonld#/definitions/textPositionSelector"
669
+ },
670
+ {
671
+ "$ref": "defs.jsonld#/definitions/textQuoteSelector"
672
+ }
673
+ ],
674
+ "required": []
675
+ }
676
+ },
677
+ "required": [
678
+ "id",
679
+ "type",
680
+ "value"
681
+ ]
682
+ },
561
683
  {
562
684
  "type": "object",
563
685
  "description": "Range Selector",
@@ -731,6 +853,45 @@
731
853
  }
732
854
  }
733
855
  },
856
+ {
857
+ "if": {
858
+ "type": "object",
859
+ "properties": {
860
+ "selector": {
861
+ "type": "object",
862
+ "properties": {
863
+ "type": {
864
+ "type": "array",
865
+ "minItems": 2,
866
+ "maxItems": 2,
867
+ "items": [
868
+ {
869
+ "type": "string",
870
+ "const": "CssSelector"
871
+ },
872
+ {
873
+ "type": "string",
874
+ "const": "crm:E73_Information_Object"
875
+ }
876
+ ]
877
+ }
878
+ }
879
+ }
880
+ }
881
+ },
882
+ "then": {
883
+ "type": "object",
884
+ "properties": {
885
+ "selector": {
886
+ "type": "object",
887
+ "required": [
888
+ "type",
889
+ "value"
890
+ ]
891
+ }
892
+ }
893
+ }
894
+ },
734
895
  {
735
896
  "if": {
736
897
  "type": "object",
@@ -975,7 +1136,7 @@
975
1136
  "oneOf": [
976
1137
  {
977
1138
  "type": "string",
978
- "const": "cwrc:place"
1139
+ "const": "crm:E53_Place"
979
1140
  },
980
1141
  {
981
1142
  "type": "array",
@@ -984,7 +1145,7 @@
984
1145
  "items": [
985
1146
  {
986
1147
  "type": "string",
987
- "const": "cwrc:place"
1148
+ "const": "biography:fictionalPlace"
988
1149
  },
989
1150
  {
990
1151
  "type": "string",
@@ -1391,7 +1552,7 @@
1391
1552
  "oneOf": [
1392
1553
  {
1393
1554
  "type": "string",
1394
- "const": "cwrc:place"
1555
+ "const": "crm:E53_Place"
1395
1556
  },
1396
1557
  {
1397
1558
  "type": "array",
@@ -1400,7 +1561,7 @@
1400
1561
  "items": [
1401
1562
  {
1402
1563
  "type": "string",
1403
- "const": "cwrc:place"
1564
+ "const": "biography:fictionalPlace"
1404
1565
  },
1405
1566
  {
1406
1567
  "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",