@lincs.project/webannotation-schema 1.9.0 → 1.10.1
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/index.d.mts +73 -67
- package/dist/index.d.ts +73 -67
- package/dist/index.js +56 -34
- package/dist/index.mjs +48 -31
- package/dist/v1/jsonld/context.jsonld +7 -14
- package/dist/v1/jsonld/defs.jsonld +2 -2
- package/dist/v1/jsonld/schema.jsonld +21 -8
- package/dist/v1/standalone/linc-wa-validator.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -43,15 +43,17 @@ __export(src_exports, {
|
|
|
43
43
|
DATE_RANGE_PATTERN: () => DATE_RANGE_PATTERN,
|
|
44
44
|
Date: () => Date,
|
|
45
45
|
DateEntityType: () => DateEntityType,
|
|
46
|
+
Description: () => Description,
|
|
46
47
|
Event: () => Event,
|
|
47
48
|
EventEntityType: () => EventEntityType,
|
|
48
|
-
IdentifiedBy: () => IdentifiedBy,
|
|
49
49
|
Keyword: () => Keyword,
|
|
50
50
|
KeywordEntityType: () => KeywordEntityType,
|
|
51
51
|
KeywordFolksnomy: () => KeywordFolksnomy,
|
|
52
52
|
KeywordFolksnomyEntityType: () => KeywordFolksnomyEntityType,
|
|
53
|
+
Label: () => Label,
|
|
53
54
|
Link: () => Link,
|
|
54
55
|
LinkEntityType: () => LinkEntityType,
|
|
56
|
+
ModeExistence: () => ModeExistence,
|
|
55
57
|
Motivation: () => Motivation,
|
|
56
58
|
Note: () => Note,
|
|
57
59
|
NoteEntityType: () => NoteEntityType,
|
|
@@ -69,7 +71,6 @@ __export(src_exports, {
|
|
|
69
71
|
Selector: () => Selector,
|
|
70
72
|
Software: () => Software,
|
|
71
73
|
Source: () => Source,
|
|
72
|
-
Status: () => Status,
|
|
73
74
|
Target: () => Target,
|
|
74
75
|
TextPositionSelector: () => TextPositionSelector,
|
|
75
76
|
TextPositionSelectorExtended: () => TextPositionSelectorExtended,
|
|
@@ -102,17 +103,21 @@ __export(src_exports, {
|
|
|
102
103
|
dateSchema: () => dateSchema,
|
|
103
104
|
definitionSchema: () => definitionSchema,
|
|
104
105
|
defsId: () => defsId,
|
|
106
|
+
descriptionSchema: () => descriptionSchema,
|
|
105
107
|
eventEntityTypeSchema: () => eventEntityTypeSchema,
|
|
106
108
|
eventSchema: () => eventSchema,
|
|
107
109
|
formatSchema: () => formatSchema,
|
|
108
|
-
|
|
110
|
+
isIdentifiedBy: () => isIdentifiedBy,
|
|
111
|
+
isIndentifyBySchema: () => isIndentifyBySchema,
|
|
109
112
|
keywordEntityTypeSchema: () => keywordEntityTypeSchema,
|
|
110
113
|
keywordFolksnomyEntityTypeSchema: () => keywordFolksnomyEntityTypeSchema,
|
|
111
114
|
keywordFolksnomySchema: () => keywordFolksnomySchema,
|
|
112
115
|
keywordSchema: () => keywordSchema,
|
|
116
|
+
labelSchema: () => labelSchema,
|
|
113
117
|
languageSchema: () => languageSchema,
|
|
114
118
|
linkEntityTypeSchema: () => linkEntityTypeSchema,
|
|
115
119
|
linkSchema: () => linkSchema,
|
|
120
|
+
modeExistenceSchema: () => modeExistenceSchema,
|
|
116
121
|
noteEntityTypeSchema: () => noteEntityTypeSchema,
|
|
117
122
|
noteSchema: () => noteSchema,
|
|
118
123
|
organizationEntityTypeSchema: () => organizationEntityTypeSchema,
|
|
@@ -164,7 +169,6 @@ var schemaContext = {
|
|
|
164
169
|
fabio: "https://purl.org/spar/fabio/",
|
|
165
170
|
frbroo: "http://iflastandards.info/ns/fr/frbr/frbroo/",
|
|
166
171
|
wikidata: "http://www.wikidata.org/entity/",
|
|
167
|
-
crm: "http://www.cidoc-crm.org/cidoc-crm/",
|
|
168
172
|
crmdig: "http://www.ics.forth.gr/isl/CRMdig/",
|
|
169
173
|
citing: "edit:citing",
|
|
170
174
|
correcting: "edit:correcting",
|
|
@@ -185,11 +189,11 @@ var schemaContext = {
|
|
|
185
189
|
},
|
|
186
190
|
certainty: {
|
|
187
191
|
"@type": "@id",
|
|
188
|
-
"@id": "
|
|
192
|
+
"@id": "http://temp.lincsproject.ca/certainty"
|
|
189
193
|
},
|
|
190
194
|
precision: {
|
|
191
195
|
"@type": "@id",
|
|
192
|
-
"@id": "
|
|
196
|
+
"@id": "http://temp.lincsproject.ca/precision"
|
|
193
197
|
},
|
|
194
198
|
contributor: "dcterms:contributor",
|
|
195
199
|
entityType: {
|
|
@@ -200,19 +204,13 @@ var schemaContext = {
|
|
|
200
204
|
"@type": "@id",
|
|
201
205
|
"@id": "crm:P2_has_type"
|
|
202
206
|
},
|
|
203
|
-
modeExistence:
|
|
204
|
-
description: "rdfs:comment",
|
|
205
|
-
identifiedBy: "crm:P1_is_identified_by",
|
|
206
|
-
title: "crm:P190_has_symbolic_content",
|
|
207
|
-
usedSpecificObject: "crm:P16_used_specific_object",
|
|
208
|
-
softwareVersion: "schema:softwareVersion",
|
|
209
|
-
status: {
|
|
207
|
+
modeExistence: {
|
|
210
208
|
"@type": "@id",
|
|
211
|
-
"@id": "
|
|
209
|
+
"@id": "edit:ModeExistence"
|
|
212
210
|
},
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
211
|
+
description: "rdfs:comment",
|
|
212
|
+
title: "crm:P190_has_symbolic_content",
|
|
213
|
+
softwareVersion: "schema:softwareVersion"
|
|
216
214
|
}
|
|
217
215
|
};
|
|
218
216
|
|
|
@@ -238,7 +236,7 @@ var softwareIdDescription = "The IRI that identifies the agent (software).";
|
|
|
238
236
|
var Software = import_zod.z.object({
|
|
239
237
|
id: import_zod.z.string().url().describe(softwareIdDescription),
|
|
240
238
|
type: import_zod.z.literal("Software").describe("The type of the Agent."),
|
|
241
|
-
|
|
239
|
+
P16_used_specific_object: import_zod.z.string().url().optional().describe("The URI that identifies the agent (software)"),
|
|
242
240
|
label: import_zod.z.string().min(1).describe("The name of the software."),
|
|
243
241
|
softwareVersion: import_zod.z.string().optional().describe("The software version.")
|
|
244
242
|
}).describe("Software Agent");
|
|
@@ -248,7 +246,7 @@ var softwareSchema = {
|
|
|
248
246
|
properties: {
|
|
249
247
|
id: { type: "string", format: "uri", description: softwareIdDescription },
|
|
250
248
|
type: { type: "string", const: "Software" },
|
|
251
|
-
|
|
249
|
+
P16_used_specific_object: { type: "string", format: "uri" },
|
|
252
250
|
label: { type: "string", minLength: 1, description: "The name of the software." },
|
|
253
251
|
softwareVersion: { type: "string", description: "The software version." }
|
|
254
252
|
},
|
|
@@ -1401,7 +1399,7 @@ var languageSchema = {
|
|
|
1401
1399
|
maxLength: 3
|
|
1402
1400
|
};
|
|
1403
1401
|
var sourceIdDescription = "The IRI that identifies the Target source.";
|
|
1404
|
-
var
|
|
1402
|
+
var isIdentifiedBy = import_zod23.z.object({
|
|
1405
1403
|
id: import_zod23.z.string().url(),
|
|
1406
1404
|
type: import_zod23.z.literal("crm:E33_E41_Linguistic_Appellation"),
|
|
1407
1405
|
title: import_zod23.z.string().min(1, { message: "The title cannot be empty" }).describe("The title of the document being annotated.")
|
|
@@ -1412,12 +1410,12 @@ var Source = import_zod23.z.object({
|
|
|
1412
1410
|
format: import_zod23.z.union([Format, import_zod23.z.array(Format).min(1)]).optional().describe(
|
|
1413
1411
|
"The formats of the Web Resource's content. The value of the property should and array of media-types of the format, following the [rfc6838] specification."
|
|
1414
1412
|
),
|
|
1415
|
-
|
|
1413
|
+
P1_is_identified_by: isIdentifiedBy.optional(),
|
|
1416
1414
|
language: import_zod23.z.union([Language, import_zod23.z.array(Language).min(1)]).optional().describe(
|
|
1417
1415
|
"The languages of the Web Resource's content. The value of the property should be an array of language code following the [bcp47] specification."
|
|
1418
1416
|
)
|
|
1419
1417
|
}).describe("Web Annotation Target");
|
|
1420
|
-
var
|
|
1418
|
+
var isIndentifyBySchema = {
|
|
1421
1419
|
type: "object",
|
|
1422
1420
|
description: "indentifyBy",
|
|
1423
1421
|
properties: {
|
|
@@ -1450,7 +1448,7 @@ var sourceSchema = {
|
|
|
1450
1448
|
}
|
|
1451
1449
|
]
|
|
1452
1450
|
},
|
|
1453
|
-
|
|
1451
|
+
P1_is_identified_by: { ...isIndentifyBySchema, nullable: true },
|
|
1454
1452
|
language: {
|
|
1455
1453
|
type: ["string", "array"],
|
|
1456
1454
|
nullable: true,
|
|
@@ -1672,7 +1670,6 @@ var definitionSchema = {
|
|
|
1672
1670
|
|
|
1673
1671
|
// src/v1/schema/root.ts
|
|
1674
1672
|
var import_zod26 = require("zod");
|
|
1675
|
-
var Status = ["edit:statusDraft", "edit:statusApproved", "edit:statusPublished"];
|
|
1676
1673
|
var Motivation = [
|
|
1677
1674
|
"oa:identifying",
|
|
1678
1675
|
"oa:describing",
|
|
@@ -1685,6 +1682,7 @@ var Motivation = [
|
|
|
1685
1682
|
var WebAnnotation = import_zod26.z.object({
|
|
1686
1683
|
"@context": import_zod26.z.tuple([
|
|
1687
1684
|
import_zod26.z.literal("http://www.w3.org/ns/anno.jsonld").describe("W3C Web Annotation Context."),
|
|
1685
|
+
import_zod26.z.literal("https://www.cidoc-crm.org/cidoc-crm/json-ld_context.jsonld").describe("CIDOC Web Annotation Context."),
|
|
1688
1686
|
import_zod26.z.literal(contextUri).describe("LINCS Web Annotation Context.")
|
|
1689
1687
|
]).describe(
|
|
1690
1688
|
"The context that determines the meaning of the JSON as an Annotation. The itens should point to a URI containing the defiintion used in this schema."
|
|
@@ -1704,7 +1702,7 @@ var WebAnnotation = import_zod26.z.object({
|
|
|
1704
1702
|
certainty: Certainty.optional(),
|
|
1705
1703
|
precision: Precision.optional(),
|
|
1706
1704
|
label: import_zod26.z.string().min(1, { message: "The label cannot be empty" }).optional().describe("The descriptive label for the annotation"),
|
|
1707
|
-
|
|
1705
|
+
P2_has_type: import_zod26.z.union([import_zod26.z.string().min(3), import_zod26.z.array(import_zod26.z.string().min(3)).min(1)]).optional()
|
|
1708
1706
|
}).describe("Web Annotation Root");
|
|
1709
1707
|
var webAnnotationSchema = {
|
|
1710
1708
|
$id: schemaId,
|
|
@@ -1713,10 +1711,11 @@ var webAnnotationSchema = {
|
|
|
1713
1711
|
properties: {
|
|
1714
1712
|
"@context": {
|
|
1715
1713
|
type: "array",
|
|
1716
|
-
minItems:
|
|
1717
|
-
maxItems:
|
|
1714
|
+
minItems: 3,
|
|
1715
|
+
maxItems: 3,
|
|
1718
1716
|
items: [
|
|
1719
1717
|
{ type: "string", const: "http://www.w3.org/ns/anno.jsonld" },
|
|
1718
|
+
{ type: "string", const: "https://www.cidoc-crm.org/cidoc-crm/json-ld_context.jsonld" },
|
|
1720
1719
|
{ type: "string", const: contextUri }
|
|
1721
1720
|
],
|
|
1722
1721
|
description: "The context that determines the meaning of the JSON as an Annotation. The itens should point to a URI containing the defiintion used in this schema."
|
|
@@ -1776,7 +1775,20 @@ var webAnnotationSchema = {
|
|
|
1776
1775
|
certainty: certaintySchema,
|
|
1777
1776
|
precision: precisionSchema,
|
|
1778
1777
|
label: { type: "string" },
|
|
1779
|
-
|
|
1778
|
+
P2_has_type: {
|
|
1779
|
+
oneOf: [
|
|
1780
|
+
{ type: "string", minLength: 3 },
|
|
1781
|
+
{
|
|
1782
|
+
type: "array",
|
|
1783
|
+
minItems: 1,
|
|
1784
|
+
items: {
|
|
1785
|
+
type: "string",
|
|
1786
|
+
minLength: 3
|
|
1787
|
+
},
|
|
1788
|
+
uniqueItems: true
|
|
1789
|
+
}
|
|
1790
|
+
]
|
|
1791
|
+
}
|
|
1780
1792
|
},
|
|
1781
1793
|
required: ["@context", "id", "type", "motivation", "created", "generator", "target", "body"],
|
|
1782
1794
|
additionalProperties: false,
|
|
@@ -1991,15 +2003,17 @@ __export(v1_exports, {
|
|
|
1991
2003
|
DATE_RANGE_PATTERN: () => DATE_RANGE_PATTERN,
|
|
1992
2004
|
Date: () => Date,
|
|
1993
2005
|
DateEntityType: () => DateEntityType,
|
|
2006
|
+
Description: () => Description,
|
|
1994
2007
|
Event: () => Event,
|
|
1995
2008
|
EventEntityType: () => EventEntityType,
|
|
1996
|
-
IdentifiedBy: () => IdentifiedBy,
|
|
1997
2009
|
Keyword: () => Keyword,
|
|
1998
2010
|
KeywordEntityType: () => KeywordEntityType,
|
|
1999
2011
|
KeywordFolksnomy: () => KeywordFolksnomy,
|
|
2000
2012
|
KeywordFolksnomyEntityType: () => KeywordFolksnomyEntityType,
|
|
2013
|
+
Label: () => Label,
|
|
2001
2014
|
Link: () => Link,
|
|
2002
2015
|
LinkEntityType: () => LinkEntityType,
|
|
2016
|
+
ModeExistence: () => ModeExistence,
|
|
2003
2017
|
Motivation: () => Motivation,
|
|
2004
2018
|
Note: () => Note,
|
|
2005
2019
|
NoteEntityType: () => NoteEntityType,
|
|
@@ -2017,7 +2031,6 @@ __export(v1_exports, {
|
|
|
2017
2031
|
Selector: () => Selector,
|
|
2018
2032
|
Software: () => Software,
|
|
2019
2033
|
Source: () => Source,
|
|
2020
|
-
Status: () => Status,
|
|
2021
2034
|
Target: () => Target,
|
|
2022
2035
|
TextPositionSelector: () => TextPositionSelector,
|
|
2023
2036
|
TextPositionSelectorExtended: () => TextPositionSelectorExtended,
|
|
@@ -2050,17 +2063,21 @@ __export(v1_exports, {
|
|
|
2050
2063
|
dateSchema: () => dateSchema,
|
|
2051
2064
|
definitionSchema: () => definitionSchema,
|
|
2052
2065
|
defsId: () => defsId,
|
|
2066
|
+
descriptionSchema: () => descriptionSchema,
|
|
2053
2067
|
eventEntityTypeSchema: () => eventEntityTypeSchema,
|
|
2054
2068
|
eventSchema: () => eventSchema,
|
|
2055
2069
|
formatSchema: () => formatSchema,
|
|
2056
|
-
|
|
2070
|
+
isIdentifiedBy: () => isIdentifiedBy,
|
|
2071
|
+
isIndentifyBySchema: () => isIndentifyBySchema,
|
|
2057
2072
|
keywordEntityTypeSchema: () => keywordEntityTypeSchema,
|
|
2058
2073
|
keywordFolksnomyEntityTypeSchema: () => keywordFolksnomyEntityTypeSchema,
|
|
2059
2074
|
keywordFolksnomySchema: () => keywordFolksnomySchema,
|
|
2060
2075
|
keywordSchema: () => keywordSchema,
|
|
2076
|
+
labelSchema: () => labelSchema,
|
|
2061
2077
|
languageSchema: () => languageSchema,
|
|
2062
2078
|
linkEntityTypeSchema: () => linkEntityTypeSchema,
|
|
2063
2079
|
linkSchema: () => linkSchema,
|
|
2080
|
+
modeExistenceSchema: () => modeExistenceSchema,
|
|
2064
2081
|
noteEntityTypeSchema: () => noteEntityTypeSchema,
|
|
2065
2082
|
noteSchema: () => noteSchema,
|
|
2066
2083
|
organizationEntityTypeSchema: () => organizationEntityTypeSchema,
|
|
@@ -2108,15 +2125,17 @@ __export(v1_exports, {
|
|
|
2108
2125
|
DATE_RANGE_PATTERN,
|
|
2109
2126
|
Date,
|
|
2110
2127
|
DateEntityType,
|
|
2128
|
+
Description,
|
|
2111
2129
|
Event,
|
|
2112
2130
|
EventEntityType,
|
|
2113
|
-
IdentifiedBy,
|
|
2114
2131
|
Keyword,
|
|
2115
2132
|
KeywordEntityType,
|
|
2116
2133
|
KeywordFolksnomy,
|
|
2117
2134
|
KeywordFolksnomyEntityType,
|
|
2135
|
+
Label,
|
|
2118
2136
|
Link,
|
|
2119
2137
|
LinkEntityType,
|
|
2138
|
+
ModeExistence,
|
|
2120
2139
|
Motivation,
|
|
2121
2140
|
Note,
|
|
2122
2141
|
NoteEntityType,
|
|
@@ -2134,7 +2153,6 @@ __export(v1_exports, {
|
|
|
2134
2153
|
Selector,
|
|
2135
2154
|
Software,
|
|
2136
2155
|
Source,
|
|
2137
|
-
Status,
|
|
2138
2156
|
Target,
|
|
2139
2157
|
TextPositionSelector,
|
|
2140
2158
|
TextPositionSelectorExtended,
|
|
@@ -2167,17 +2185,21 @@ __export(v1_exports, {
|
|
|
2167
2185
|
dateSchema,
|
|
2168
2186
|
definitionSchema,
|
|
2169
2187
|
defsId,
|
|
2188
|
+
descriptionSchema,
|
|
2170
2189
|
eventEntityTypeSchema,
|
|
2171
2190
|
eventSchema,
|
|
2172
2191
|
formatSchema,
|
|
2173
|
-
|
|
2192
|
+
isIdentifiedBy,
|
|
2193
|
+
isIndentifyBySchema,
|
|
2174
2194
|
keywordEntityTypeSchema,
|
|
2175
2195
|
keywordFolksnomyEntityTypeSchema,
|
|
2176
2196
|
keywordFolksnomySchema,
|
|
2177
2197
|
keywordSchema,
|
|
2198
|
+
labelSchema,
|
|
2178
2199
|
languageSchema,
|
|
2179
2200
|
linkEntityTypeSchema,
|
|
2180
2201
|
linkSchema,
|
|
2202
|
+
modeExistenceSchema,
|
|
2181
2203
|
noteEntityTypeSchema,
|
|
2182
2204
|
noteSchema,
|
|
2183
2205
|
organizationEntityTypeSchema,
|
package/dist/index.mjs
CHANGED
|
@@ -20,7 +20,6 @@ var schemaContext = {
|
|
|
20
20
|
fabio: "https://purl.org/spar/fabio/",
|
|
21
21
|
frbroo: "http://iflastandards.info/ns/fr/frbr/frbroo/",
|
|
22
22
|
wikidata: "http://www.wikidata.org/entity/",
|
|
23
|
-
crm: "http://www.cidoc-crm.org/cidoc-crm/",
|
|
24
23
|
crmdig: "http://www.ics.forth.gr/isl/CRMdig/",
|
|
25
24
|
citing: "edit:citing",
|
|
26
25
|
correcting: "edit:correcting",
|
|
@@ -41,11 +40,11 @@ var schemaContext = {
|
|
|
41
40
|
},
|
|
42
41
|
certainty: {
|
|
43
42
|
"@type": "@id",
|
|
44
|
-
"@id": "
|
|
43
|
+
"@id": "http://temp.lincsproject.ca/certainty"
|
|
45
44
|
},
|
|
46
45
|
precision: {
|
|
47
46
|
"@type": "@id",
|
|
48
|
-
"@id": "
|
|
47
|
+
"@id": "http://temp.lincsproject.ca/precision"
|
|
49
48
|
},
|
|
50
49
|
contributor: "dcterms:contributor",
|
|
51
50
|
entityType: {
|
|
@@ -56,19 +55,13 @@ var schemaContext = {
|
|
|
56
55
|
"@type": "@id",
|
|
57
56
|
"@id": "crm:P2_has_type"
|
|
58
57
|
},
|
|
59
|
-
modeExistence:
|
|
60
|
-
description: "rdfs:comment",
|
|
61
|
-
identifiedBy: "crm:P1_is_identified_by",
|
|
62
|
-
title: "crm:P190_has_symbolic_content",
|
|
63
|
-
usedSpecificObject: "crm:P16_used_specific_object",
|
|
64
|
-
softwareVersion: "schema:softwareVersion",
|
|
65
|
-
status: {
|
|
58
|
+
modeExistence: {
|
|
66
59
|
"@type": "@id",
|
|
67
|
-
"@id": "
|
|
60
|
+
"@id": "edit:ModeExistence"
|
|
68
61
|
},
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
62
|
+
description: "rdfs:comment",
|
|
63
|
+
title: "crm:P190_has_symbolic_content",
|
|
64
|
+
softwareVersion: "schema:softwareVersion"
|
|
72
65
|
}
|
|
73
66
|
};
|
|
74
67
|
|
|
@@ -94,7 +87,7 @@ var softwareIdDescription = "The IRI that identifies the agent (software).";
|
|
|
94
87
|
var Software = z.object({
|
|
95
88
|
id: z.string().url().describe(softwareIdDescription),
|
|
96
89
|
type: z.literal("Software").describe("The type of the Agent."),
|
|
97
|
-
|
|
90
|
+
P16_used_specific_object: z.string().url().optional().describe("The URI that identifies the agent (software)"),
|
|
98
91
|
label: z.string().min(1).describe("The name of the software."),
|
|
99
92
|
softwareVersion: z.string().optional().describe("The software version.")
|
|
100
93
|
}).describe("Software Agent");
|
|
@@ -104,7 +97,7 @@ var softwareSchema = {
|
|
|
104
97
|
properties: {
|
|
105
98
|
id: { type: "string", format: "uri", description: softwareIdDescription },
|
|
106
99
|
type: { type: "string", const: "Software" },
|
|
107
|
-
|
|
100
|
+
P16_used_specific_object: { type: "string", format: "uri" },
|
|
108
101
|
label: { type: "string", minLength: 1, description: "The name of the software." },
|
|
109
102
|
softwareVersion: { type: "string", description: "The software version." }
|
|
110
103
|
},
|
|
@@ -1257,7 +1250,7 @@ var languageSchema = {
|
|
|
1257
1250
|
maxLength: 3
|
|
1258
1251
|
};
|
|
1259
1252
|
var sourceIdDescription = "The IRI that identifies the Target source.";
|
|
1260
|
-
var
|
|
1253
|
+
var isIdentifiedBy = z23.object({
|
|
1261
1254
|
id: z23.string().url(),
|
|
1262
1255
|
type: z23.literal("crm:E33_E41_Linguistic_Appellation"),
|
|
1263
1256
|
title: z23.string().min(1, { message: "The title cannot be empty" }).describe("The title of the document being annotated.")
|
|
@@ -1268,12 +1261,12 @@ var Source = z23.object({
|
|
|
1268
1261
|
format: z23.union([Format, z23.array(Format).min(1)]).optional().describe(
|
|
1269
1262
|
"The formats of the Web Resource's content. The value of the property should and array of media-types of the format, following the [rfc6838] specification."
|
|
1270
1263
|
),
|
|
1271
|
-
|
|
1264
|
+
P1_is_identified_by: isIdentifiedBy.optional(),
|
|
1272
1265
|
language: z23.union([Language, z23.array(Language).min(1)]).optional().describe(
|
|
1273
1266
|
"The languages of the Web Resource's content. The value of the property should be an array of language code following the [bcp47] specification."
|
|
1274
1267
|
)
|
|
1275
1268
|
}).describe("Web Annotation Target");
|
|
1276
|
-
var
|
|
1269
|
+
var isIndentifyBySchema = {
|
|
1277
1270
|
type: "object",
|
|
1278
1271
|
description: "indentifyBy",
|
|
1279
1272
|
properties: {
|
|
@@ -1306,7 +1299,7 @@ var sourceSchema = {
|
|
|
1306
1299
|
}
|
|
1307
1300
|
]
|
|
1308
1301
|
},
|
|
1309
|
-
|
|
1302
|
+
P1_is_identified_by: { ...isIndentifyBySchema, nullable: true },
|
|
1310
1303
|
language: {
|
|
1311
1304
|
type: ["string", "array"],
|
|
1312
1305
|
nullable: true,
|
|
@@ -1528,7 +1521,6 @@ var definitionSchema = {
|
|
|
1528
1521
|
|
|
1529
1522
|
// src/v1/schema/root.ts
|
|
1530
1523
|
import { z as z26 } from "zod";
|
|
1531
|
-
var Status = ["edit:statusDraft", "edit:statusApproved", "edit:statusPublished"];
|
|
1532
1524
|
var Motivation = [
|
|
1533
1525
|
"oa:identifying",
|
|
1534
1526
|
"oa:describing",
|
|
@@ -1541,6 +1533,7 @@ var Motivation = [
|
|
|
1541
1533
|
var WebAnnotation = z26.object({
|
|
1542
1534
|
"@context": z26.tuple([
|
|
1543
1535
|
z26.literal("http://www.w3.org/ns/anno.jsonld").describe("W3C Web Annotation Context."),
|
|
1536
|
+
z26.literal("https://www.cidoc-crm.org/cidoc-crm/json-ld_context.jsonld").describe("CIDOC Web Annotation Context."),
|
|
1544
1537
|
z26.literal(contextUri).describe("LINCS Web Annotation Context.")
|
|
1545
1538
|
]).describe(
|
|
1546
1539
|
"The context that determines the meaning of the JSON as an Annotation. The itens should point to a URI containing the defiintion used in this schema."
|
|
@@ -1560,7 +1553,7 @@ var WebAnnotation = z26.object({
|
|
|
1560
1553
|
certainty: Certainty.optional(),
|
|
1561
1554
|
precision: Precision.optional(),
|
|
1562
1555
|
label: z26.string().min(1, { message: "The label cannot be empty" }).optional().describe("The descriptive label for the annotation"),
|
|
1563
|
-
|
|
1556
|
+
P2_has_type: z26.union([z26.string().min(3), z26.array(z26.string().min(3)).min(1)]).optional()
|
|
1564
1557
|
}).describe("Web Annotation Root");
|
|
1565
1558
|
var webAnnotationSchema = {
|
|
1566
1559
|
$id: schemaId,
|
|
@@ -1569,10 +1562,11 @@ var webAnnotationSchema = {
|
|
|
1569
1562
|
properties: {
|
|
1570
1563
|
"@context": {
|
|
1571
1564
|
type: "array",
|
|
1572
|
-
minItems:
|
|
1573
|
-
maxItems:
|
|
1565
|
+
minItems: 3,
|
|
1566
|
+
maxItems: 3,
|
|
1574
1567
|
items: [
|
|
1575
1568
|
{ type: "string", const: "http://www.w3.org/ns/anno.jsonld" },
|
|
1569
|
+
{ type: "string", const: "https://www.cidoc-crm.org/cidoc-crm/json-ld_context.jsonld" },
|
|
1576
1570
|
{ type: "string", const: contextUri }
|
|
1577
1571
|
],
|
|
1578
1572
|
description: "The context that determines the meaning of the JSON as an Annotation. The itens should point to a URI containing the defiintion used in this schema."
|
|
@@ -1632,7 +1626,20 @@ var webAnnotationSchema = {
|
|
|
1632
1626
|
certainty: certaintySchema,
|
|
1633
1627
|
precision: precisionSchema,
|
|
1634
1628
|
label: { type: "string" },
|
|
1635
|
-
|
|
1629
|
+
P2_has_type: {
|
|
1630
|
+
oneOf: [
|
|
1631
|
+
{ type: "string", minLength: 3 },
|
|
1632
|
+
{
|
|
1633
|
+
type: "array",
|
|
1634
|
+
minItems: 1,
|
|
1635
|
+
items: {
|
|
1636
|
+
type: "string",
|
|
1637
|
+
minLength: 3
|
|
1638
|
+
},
|
|
1639
|
+
uniqueItems: true
|
|
1640
|
+
}
|
|
1641
|
+
]
|
|
1642
|
+
}
|
|
1636
1643
|
},
|
|
1637
1644
|
required: ["@context", "id", "type", "motivation", "created", "generator", "target", "body"],
|
|
1638
1645
|
additionalProperties: false,
|
|
@@ -1847,15 +1854,17 @@ __export(v1_exports, {
|
|
|
1847
1854
|
DATE_RANGE_PATTERN: () => DATE_RANGE_PATTERN,
|
|
1848
1855
|
Date: () => Date,
|
|
1849
1856
|
DateEntityType: () => DateEntityType,
|
|
1857
|
+
Description: () => Description,
|
|
1850
1858
|
Event: () => Event,
|
|
1851
1859
|
EventEntityType: () => EventEntityType,
|
|
1852
|
-
IdentifiedBy: () => IdentifiedBy,
|
|
1853
1860
|
Keyword: () => Keyword,
|
|
1854
1861
|
KeywordEntityType: () => KeywordEntityType,
|
|
1855
1862
|
KeywordFolksnomy: () => KeywordFolksnomy,
|
|
1856
1863
|
KeywordFolksnomyEntityType: () => KeywordFolksnomyEntityType,
|
|
1864
|
+
Label: () => Label,
|
|
1857
1865
|
Link: () => Link,
|
|
1858
1866
|
LinkEntityType: () => LinkEntityType,
|
|
1867
|
+
ModeExistence: () => ModeExistence,
|
|
1859
1868
|
Motivation: () => Motivation,
|
|
1860
1869
|
Note: () => Note,
|
|
1861
1870
|
NoteEntityType: () => NoteEntityType,
|
|
@@ -1873,7 +1882,6 @@ __export(v1_exports, {
|
|
|
1873
1882
|
Selector: () => Selector,
|
|
1874
1883
|
Software: () => Software,
|
|
1875
1884
|
Source: () => Source,
|
|
1876
|
-
Status: () => Status,
|
|
1877
1885
|
Target: () => Target,
|
|
1878
1886
|
TextPositionSelector: () => TextPositionSelector,
|
|
1879
1887
|
TextPositionSelectorExtended: () => TextPositionSelectorExtended,
|
|
@@ -1906,17 +1914,21 @@ __export(v1_exports, {
|
|
|
1906
1914
|
dateSchema: () => dateSchema,
|
|
1907
1915
|
definitionSchema: () => definitionSchema,
|
|
1908
1916
|
defsId: () => defsId,
|
|
1917
|
+
descriptionSchema: () => descriptionSchema,
|
|
1909
1918
|
eventEntityTypeSchema: () => eventEntityTypeSchema,
|
|
1910
1919
|
eventSchema: () => eventSchema,
|
|
1911
1920
|
formatSchema: () => formatSchema,
|
|
1912
|
-
|
|
1921
|
+
isIdentifiedBy: () => isIdentifiedBy,
|
|
1922
|
+
isIndentifyBySchema: () => isIndentifyBySchema,
|
|
1913
1923
|
keywordEntityTypeSchema: () => keywordEntityTypeSchema,
|
|
1914
1924
|
keywordFolksnomyEntityTypeSchema: () => keywordFolksnomyEntityTypeSchema,
|
|
1915
1925
|
keywordFolksnomySchema: () => keywordFolksnomySchema,
|
|
1916
1926
|
keywordSchema: () => keywordSchema,
|
|
1927
|
+
labelSchema: () => labelSchema,
|
|
1917
1928
|
languageSchema: () => languageSchema,
|
|
1918
1929
|
linkEntityTypeSchema: () => linkEntityTypeSchema,
|
|
1919
1930
|
linkSchema: () => linkSchema,
|
|
1931
|
+
modeExistenceSchema: () => modeExistenceSchema,
|
|
1920
1932
|
noteEntityTypeSchema: () => noteEntityTypeSchema,
|
|
1921
1933
|
noteSchema: () => noteSchema,
|
|
1922
1934
|
organizationEntityTypeSchema: () => organizationEntityTypeSchema,
|
|
@@ -1963,15 +1975,17 @@ export {
|
|
|
1963
1975
|
DATE_RANGE_PATTERN,
|
|
1964
1976
|
Date,
|
|
1965
1977
|
DateEntityType,
|
|
1978
|
+
Description,
|
|
1966
1979
|
Event,
|
|
1967
1980
|
EventEntityType,
|
|
1968
|
-
IdentifiedBy,
|
|
1969
1981
|
Keyword,
|
|
1970
1982
|
KeywordEntityType,
|
|
1971
1983
|
KeywordFolksnomy,
|
|
1972
1984
|
KeywordFolksnomyEntityType,
|
|
1985
|
+
Label,
|
|
1973
1986
|
Link,
|
|
1974
1987
|
LinkEntityType,
|
|
1988
|
+
ModeExistence,
|
|
1975
1989
|
Motivation,
|
|
1976
1990
|
Note,
|
|
1977
1991
|
NoteEntityType,
|
|
@@ -1989,7 +2003,6 @@ export {
|
|
|
1989
2003
|
Selector,
|
|
1990
2004
|
Software,
|
|
1991
2005
|
Source,
|
|
1992
|
-
Status,
|
|
1993
2006
|
Target,
|
|
1994
2007
|
TextPositionSelector,
|
|
1995
2008
|
TextPositionSelectorExtended,
|
|
@@ -2022,17 +2035,21 @@ export {
|
|
|
2022
2035
|
dateSchema,
|
|
2023
2036
|
definitionSchema,
|
|
2024
2037
|
defsId,
|
|
2038
|
+
descriptionSchema,
|
|
2025
2039
|
eventEntityTypeSchema,
|
|
2026
2040
|
eventSchema,
|
|
2027
2041
|
formatSchema,
|
|
2028
|
-
|
|
2042
|
+
isIdentifiedBy,
|
|
2043
|
+
isIndentifyBySchema,
|
|
2029
2044
|
keywordEntityTypeSchema,
|
|
2030
2045
|
keywordFolksnomyEntityTypeSchema,
|
|
2031
2046
|
keywordFolksnomySchema,
|
|
2032
2047
|
keywordSchema,
|
|
2048
|
+
labelSchema,
|
|
2033
2049
|
languageSchema,
|
|
2034
2050
|
linkEntityTypeSchema,
|
|
2035
2051
|
linkSchema,
|
|
2052
|
+
modeExistenceSchema,
|
|
2036
2053
|
noteEntityTypeSchema,
|
|
2037
2054
|
noteSchema,
|
|
2038
2055
|
organizationEntityTypeSchema,
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
"fabio": "https://purl.org/spar/fabio/",
|
|
8
8
|
"frbroo": "http://iflastandards.info/ns/fr/frbr/frbroo/",
|
|
9
9
|
"wikidata": "http://www.wikidata.org/entity/",
|
|
10
|
-
"crm": "http://www.cidoc-crm.org/cidoc-crm/",
|
|
11
10
|
"crmdig": "http://www.ics.forth.gr/isl/CRMdig/",
|
|
12
11
|
"citing": "edit:citing",
|
|
13
12
|
"correcting": "edit:correcting",
|
|
@@ -28,11 +27,11 @@
|
|
|
28
27
|
},
|
|
29
28
|
"certainty": {
|
|
30
29
|
"@type": "@id",
|
|
31
|
-
"@id": "
|
|
30
|
+
"@id": "http://temp.lincsproject.ca/certainty"
|
|
32
31
|
},
|
|
33
32
|
"precision": {
|
|
34
33
|
"@type": "@id",
|
|
35
|
-
"@id": "
|
|
34
|
+
"@id": "http://temp.lincsproject.ca/precision"
|
|
36
35
|
},
|
|
37
36
|
"contributor": "dcterms:contributor",
|
|
38
37
|
"entityType": {
|
|
@@ -43,18 +42,12 @@
|
|
|
43
42
|
"@type": "@id",
|
|
44
43
|
"@id": "crm:P2_has_type"
|
|
45
44
|
},
|
|
46
|
-
"modeExistence":
|
|
47
|
-
"description": "rdfs:comment",
|
|
48
|
-
"identifiedBy": "crm:P1_is_identified_by",
|
|
49
|
-
"title": "crm:P190_has_symbolic_content",
|
|
50
|
-
"usedSpecificObject": "crm:P16_used_specific_object",
|
|
51
|
-
"softwareVersion": "schema:softwareVersion",
|
|
52
|
-
"status": {
|
|
45
|
+
"modeExistence": {
|
|
53
46
|
"@type": "@id",
|
|
54
|
-
"@id": "
|
|
47
|
+
"@id": "edit:ModeExistence"
|
|
55
48
|
},
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
49
|
+
"description": "rdfs:comment",
|
|
50
|
+
"title": "crm:P190_has_symbolic_content",
|
|
51
|
+
"softwareVersion": "schema:softwareVersion"
|
|
59
52
|
}
|
|
60
53
|
}
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"type": "string",
|
|
41
41
|
"const": "Software"
|
|
42
42
|
},
|
|
43
|
-
"
|
|
43
|
+
"P16_used_specific_object": {
|
|
44
44
|
"type": "string",
|
|
45
45
|
"format": "uri"
|
|
46
46
|
},
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
}
|
|
124
124
|
]
|
|
125
125
|
},
|
|
126
|
-
"
|
|
126
|
+
"P1_is_identified_by": {
|
|
127
127
|
"type": "object",
|
|
128
128
|
"description": "indentifyBy",
|
|
129
129
|
"properties": {
|
|
@@ -5,13 +5,17 @@
|
|
|
5
5
|
"properties": {
|
|
6
6
|
"@context": {
|
|
7
7
|
"type": "array",
|
|
8
|
-
"minItems":
|
|
9
|
-
"maxItems":
|
|
8
|
+
"minItems": 3,
|
|
9
|
+
"maxItems": 3,
|
|
10
10
|
"items": [
|
|
11
11
|
{
|
|
12
12
|
"type": "string",
|
|
13
13
|
"const": "http://www.w3.org/ns/anno.jsonld"
|
|
14
14
|
},
|
|
15
|
+
{
|
|
16
|
+
"type": "string",
|
|
17
|
+
"const": "https://www.cidoc-crm.org/cidoc-crm/json-ld_context.jsonld"
|
|
18
|
+
},
|
|
15
19
|
{
|
|
16
20
|
"type": "string",
|
|
17
21
|
"const": "https://wa.lincsproject.ca/v1/ns/anno.jsonld"
|
|
@@ -119,12 +123,21 @@
|
|
|
119
123
|
"label": {
|
|
120
124
|
"type": "string"
|
|
121
125
|
},
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
"P2_has_type": {
|
|
127
|
+
"oneOf": [
|
|
128
|
+
{
|
|
129
|
+
"type": "string",
|
|
130
|
+
"minLength": 3
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"type": "array",
|
|
134
|
+
"minItems": 1,
|
|
135
|
+
"items": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"minLength": 3
|
|
138
|
+
},
|
|
139
|
+
"uniqueItems": true
|
|
140
|
+
}
|
|
128
141
|
]
|
|
129
142
|
}
|
|
130
143
|
},
|