diff --git a/content/page/specs.md b/content/page/specs.md index 1a2836f5e4f04018d7a6eec42d7d50bc4ffa9969..4e522c87c9dd76515d4d952dcbb6bfd47e64c23b 100644 --- a/content/page/specs.md +++ b/content/page/specs.md @@ -92,6 +92,7 @@ It is REQUIRED to be served at the corresponding [endpoint](#collection). | Field Name | Cardinality | Type | Description | |----|----|----|----| +| @context | 1 | URL | the JSON-LD context of this object. MUST be `https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/collection.jsonld` | | textapi | 1 | semver | the TextAPI version covered by the implementation | | title | 1 | \[[Title Object](#title-object)\] | the title of the collection | | collector | 1 | \[[Actor Object](#actor-object)\] | a personal entity responsible for the collection (collector) | @@ -108,6 +109,7 @@ An item that represents a complete manifest (i.e. that has the type `full`) MUST | Field Name | Cardinality | Type | Description | |----|----|----|----| +| @context | 1 | URL | the JSON-LD context of this object. MUST be `https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/sequence.jsonld` | | id | 1 | URL | URL to find a [Manifest Object](#manifest-object), [Collection Object](#collection-object) or [Item Object](#item-object) | | type | 1 | string | one of `collection`, `manifest`, `item` | @@ -131,6 +133,7 @@ It is REQUIRED to be served at the corresponding [endpoint](#manifest). | Field Name | Cardinality | Type | Description | |----|----|----|----| +| @context | 1 | URL | the JSON-LD context of this object. MUST be `https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/manifest.jsonld` | | textapi | 1 | semver | version number satisfied by the implementation | | id | 1 | URL | URL pointing to this manifest | | label | 1 | string | human-readable name or title | @@ -152,6 +155,7 @@ versions. | Field Name | Cardinality | Type | Description | |----|----|----|----| +| @context | 1 | URL | the JSON-LD context of this object. MUST be `https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/repository.jsonld` | | label | ? | string | the label as given by the hosting institution | | url | 1 | URL | URL pointing to the website of the institution | | baseUrl | 1 | URL | a base URL where `id` can be resolved | @@ -161,6 +165,7 @@ versions. | Field Name | Cardinality | Type | Description | |----|----|----|----| +| @context | 1 | URL | the JSON-LD context of this object. MUST be `https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/actor.jsonld` | | role | 1 | [string] | the role of a personal entity in relation to the parent object, MUST be `collector` in case of collections | | name | 1 | string | the principal name of the person | | id | ? | string | internal identifier | @@ -184,6 +189,7 @@ It is recommended that a [IIIF Image API](https://iiif.io/api/image/2.0/) servic | Field Name | Cardinality | Type | Description | |----|----|----|----| +| @context | 1 | URL | the JSON-LD context of this object. MUST be `https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/image.jsonld` | | id | 1 | URL | URL pointing to the image | | manifest | ? | URL | URL pointing to the image's manifest object | | license | 1 | [License Object](#license-object) | the license for the image that MUST be used | @@ -206,6 +212,7 @@ be added on request. | Field Name | Cardinality | Type | Description | |----|----|----|----| +| @context | 1 | URL | the JSON-LD context of this object. MUST be `https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/support.jsonld` | | type | 1 | one of `font`, `css` | | mime | 1 | MIME type | the MIME type for the resource | | url | 1 | URL | URL pointing to the resource | @@ -220,6 +227,7 @@ Any other (sliced) material is either a `section` or a `page`. | Field Name | Cardinality | Type | Description | |----|----|----|----| +| @context | 1 | URL | the JSON-LD context of this object. MUST be `https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/item.jsonld` | | textapi | 1 | semver | version number satisfied by the implementation | | title | ? | \[[Title Object](#title-object)\] | the title of the item | | type | 1 | string | one of `section`, `page`, `full` | @@ -236,6 +244,7 @@ Any other (sliced) material is either a `section` or a `page`. | Field Name | Cardinality | Type | Description | |----|----|----|----| +| @context | 1 | URL | the JSON-LD context of this object. MUST be `https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/content.jsonld` | | url | 1 | URL | URL pointing to the content | | type | 1 | MIME type | a MIME type. If several Content Objects with the same MIME type are provided, these SHOULD be distinguished with a [MIME type parameter](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#structure_of_a_mime_type) where the key is type and the value can be freely chosen, e.g. text/html;type=transcription. | | integrity | ? | [Data Integrity Object](#data-integrity-object) | information on data integrity | @@ -244,6 +253,7 @@ Any other (sliced) material is either a `section` or a `page`. | Field Name | Cardinality | Type | Description | |----|----|----|----| +| @context | 1 | URL | the JSON-LD context of this object. MUST be `https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/title.jsonld` | | title | 1 | string | a single title | | type | 1 | string | one of `main`, `sub`. if several titles are provided, at least one of them MUST have the type `main` | @@ -251,6 +261,7 @@ Any other (sliced) material is either a `section` or a `page`. | Field Name | Cardinality | Type | Description | |----|----|----|----| +| @context | 1 | URL | the JSON-LD context of this object. MUST be `https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/idref.jsonld` | | base | ? | URL | the base URL to the authority file | | type | 1 | string | short title of the referenced authority | | id | 1 | string | the main ID referenced | diff --git a/jsonld/actor.jsonld b/jsonld/actor.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..24cfff7e8d2cb1dc0e4c64dd40e088c6e8dfab34 --- /dev/null +++ b/jsonld/actor.jsonld @@ -0,0 +1,7 @@ +{ + "@context": + { + "role": "https://schema.org/roleName", + "name": "https://schema.org/name" + } +} diff --git a/jsonld/collection.jsonld b/jsonld/collection.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..c8fdeac5a087da599a56899da6a11782adc72fd5 --- /dev/null +++ b/jsonld/collection.jsonld @@ -0,0 +1,13 @@ +{ + "@context": + { + "textapi": "https://schema.org/version", + "title": "http://purl.org/dc/terms/title", + "collector": "https://schema.org/Person", + "description": + { + "@id": "http://purl.org/dc/terms/description", + "@type": "xsd:string" + } + } +} diff --git a/jsonld/content.jsonld b/jsonld/content.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..349f16b864a1621d28ea3b0bc44bf4b69bbc7d97 --- /dev/null +++ b/jsonld/content.jsonld @@ -0,0 +1,7 @@ +{ + "@context": + { + "url": "https://schema.org/url", + "type": "https://schema.org/fileFormat" + } +} diff --git a/jsonld/idref.jsonld b/jsonld/idref.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..2c22a7ab2227b5ee1a5992c1ea512caefd58cc4c --- /dev/null +++ b/jsonld/idref.jsonld @@ -0,0 +1,6 @@ +{ + "@context": + { + "type": "https://schema.org/name" + } +} diff --git a/jsonld/image.jsonld b/jsonld/image.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..7779dec8c6d84300a17182cd16e1d7850b534756 --- /dev/null +++ b/jsonld/image.jsonld @@ -0,0 +1,8 @@ +{ + "@context": + { + "id": "https:schema.org/url", + "manifest": "https:schema.org/url", + "license": "http://purl.org/dc/elements/1.1/rights" + } +} diff --git a/jsonld/integrity.jsonld b/jsonld/integrity.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..5424000961290e252358ed70cf36a5fc509adf79 --- /dev/null +++ b/jsonld/integrity.jsonld @@ -0,0 +1,7 @@ +{ + "@context": + { + "type": "https://www.wikidata.org/entity/Q218341", + "value": "https://www.wikidata.org/entity/P4092" + } +} diff --git a/jsonld/item.jsonld b/jsonld/item.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..8a2eb8f6b55155d71831e4ea80aa66fc5fc6389a --- /dev/null +++ b/jsonld/item.jsonld @@ -0,0 +1,15 @@ +{ + "@context": + { + "textapi": "https://schema.org/version", + "title": "http://purl.org/dc/terms/title", + "lang": "https://schema.org/language", + "langAlt": "https://schema.org/language", + "description": + { + "@id": "http://purl.org/dc/terms/description", + "@type": "xsd:string" + }, + "image": "https://schema.org/ImageObject" + } +} diff --git a/jsonld/license.jsonld b/jsonld/license.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..33fb48600fad7d4405207f9983060ef4e00d0f65 --- /dev/null +++ b/jsonld/license.jsonld @@ -0,0 +1,11 @@ +{ + "@context": + { + "id": "https://spdx.org/rdf/terms/#licenseId", + "notes": + { + "@id": "http://purl.org/dc/terms/description", + "@type": "xsd:string" + } + } +} diff --git a/jsonld/manifest.jsonld b/jsonld/manifest.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..fe04886719936bb579b308d23f13adae2eeeb9e4 --- /dev/null +++ b/jsonld/manifest.jsonld @@ -0,0 +1,16 @@ +{ + "@context": + { + "textapi": "https://schema.org/version", + "id": "https://schema.org/url", + "label": "https://schema.org/name", + "actor": "https://schema.org/Person", + "image": "https://schema.org/ImageObject", + "license": "http://purl.org/dc/elements/1.1/rights", + "description": + { + "@id": "http://purl.org/dc/terms/description", + "@type": "xsd:string" + } + } +} diff --git a/jsonld/metadata-value.jsonld b/jsonld/metadata-value.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..03cd4b91e140f95249e3a0acb135b54cae02685e --- /dev/null +++ b/jsonld/metadata-value.jsonld @@ -0,0 +1,7 @@ +{ + "@context": + { + "key": "https://schema.org/propertyID", + "value": "https://schema.org/value" + } +} diff --git a/jsonld/repository.jsonld b/jsonld/repository.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..9db7f6404a6d0b32ce5375814fabef949457b412 --- /dev/null +++ b/jsonld/repository.jsonld @@ -0,0 +1,7 @@ +{ + "@context": + { + "label": "https://schema.org/name", + "url": "https://schema.org/url" + } +} diff --git a/jsonld/sequence.jsonld b/jsonld/sequence.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..f0a293d787f88988874b9e9fb40404f63cd569ed --- /dev/null +++ b/jsonld/sequence.jsonld @@ -0,0 +1,6 @@ +{ + "@context": + { + "id": "https://schema.org/url" + } +} diff --git a/jsonld/support.jsonld b/jsonld/support.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..950f53fb73469fb60cbabeaddeb0b28cc7441233 --- /dev/null +++ b/jsonld/support.jsonld @@ -0,0 +1,7 @@ +{ + "@context": + { + "mime": "https://schema.org/fileFormat", + "url": "https://schema.org/url" + } +} diff --git a/jsonld/title.jsonld b/jsonld/title.jsonld new file mode 100644 index 0000000000000000000000000000000000000000..2ff4f2b40aed21f502c0659d08c2ab4fd2325603 --- /dev/null +++ b/jsonld/title.jsonld @@ -0,0 +1,6 @@ +{ + "@context": + { + "title": "https://schema.org/name" + } +} diff --git a/openapi_3.0.2_specification.yml b/openapi_3.0.2_specification.yml index 3ab115c038d95d2f3fa713d2c9c23c717c177c5f..354551ece85fc961f307802b55afeb0fba2690e1 100644 --- a/openapi_3.0.2_specification.yml +++ b/openapi_3.0.2_specification.yml @@ -228,11 +228,15 @@ components: CollectionObject: type: object required: + - \@context - textapi - title - collector - sequence properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/collection.jsonld' textapi: $ref: '#/components/schemas/TextAPIVersion' title: @@ -261,9 +265,13 @@ components: TitleMainObject: type: object required: + - \@context - title - type properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/title.jsonld' title: type: string type: @@ -273,9 +281,13 @@ components: TitleObject: type: object required: + - \@context - title - type properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/title.jsonld' title: type: string type: @@ -285,9 +297,13 @@ components: ActorObject: type: object required: + - \@context - role - name properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/actor.jsonld' role: $ref: '#/components/schemas/StringArray' name: @@ -298,9 +314,13 @@ components: type: array items: required: + - \@context - type - id properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/idref.jsonld' base: $ref: '#/components/schemas/URL' type: @@ -334,12 +354,16 @@ components: ManifestObject: type: object required: + - \@context - textapi - id - label - sequence - license properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/manifest.jsonld' textapi: $ref: '#/components/schemas/TextAPIVersion' id: @@ -359,10 +383,14 @@ components: items: type: object required: + - \@context - url - baseUrl - id properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/repository.jsonld' label: type: string url: @@ -382,10 +410,14 @@ components: items: type: object required: + - \@context - type - mime - url properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/support.jsonld' type: type: string pattern: '(font|css)' @@ -409,9 +441,13 @@ components: ImageObject: type: object required: + - \@context - id - license properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/image.jsonld' id: $ref: '#/components/schemas/URL' manifest: @@ -427,9 +463,13 @@ components: MetadataObjectValue: type: object required: + - \@context - key - value properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/metadata-value.jsonld' key: type: string value: @@ -451,8 +491,12 @@ components: LicenseObject: type: object required: + - \@context - id properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/license.jsonld' id: type: string externalDocs: @@ -466,11 +510,15 @@ components: ItemObject: type: object required: + - \@context - textapi - type - lang - content properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/item.jsonld' textapi: $ref: '#/components/schemas/TextAPIVersion' title: @@ -493,9 +541,13 @@ components: items: type: object required: + - \@context - url - type properties: + \@context: + type: string + pattern: 'https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/content.jsonld' url: $ref: '#/components/schemas/URL' type: diff --git a/schema/actor.json b/schema/actor.json index d17983a09fd22158f2a7021b36ff38c85fe8f613..06cdc901e376324e6f1a07e174c199b4b581554a 100644 --- a/schema/actor.json +++ b/schema/actor.json @@ -4,6 +4,9 @@ "title": "TextAPI: Actor", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/actor.jsonld"] + }, "role": { "description": "the role of a personal entity in relation to the parent object, MUST be collector in case of collections", "type": "array", @@ -30,7 +33,7 @@ } } }, - "required": [ "role", "name" ], + "required": [ "@context", "role", "name" ], "patternProperties": { "^x-": {} } diff --git a/schema/collection.json b/schema/collection.json index bd224b6af05e3f71a66943efc7a8963739cbc8fa..713c187909a1bab8bea11565499700820dfe4c56 100644 --- a/schema/collection.json +++ b/schema/collection.json @@ -5,6 +5,9 @@ "description": "A simple API for delivering metadata on and references to texts.", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/collection.jsonld"] + }, "textapi": { "description": "the TextAPI version covered by the implementation", "type": "string", @@ -61,7 +64,7 @@ } }, - "required": [ "textapi", "title", "collector", "sequence" ], + "required": [ "@context", "textapi", "title", "collector", "sequence" ], "patternProperties": { "^x-": {} }, diff --git a/schema/content.json b/schema/content.json index bf56c26802801ca35280839dd7a02845c990453c..edd366543bf8b3832e5e39657d0a123f71a134f0 100644 --- a/schema/content.json +++ b/schema/content.json @@ -4,6 +4,9 @@ "title": "TextAPI: Content", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/content.jsonld"] + }, "url": { "description": "URL pointing to the content", "type": "string", @@ -19,7 +22,7 @@ "$ref": "integrity.json" } }, - "required": [ "url", "type" ], + "required": [ "@context", "url", "type" ], "patternProperties": { "^x-": {} }, diff --git a/schema/idref.json b/schema/idref.json index c9dd8cc9bdf606f6726fa9195217347d2fc174d3..61a78266f3b2c7b0ddb53365a4be78ad3bf0f4e1 100644 --- a/schema/idref.json +++ b/schema/idref.json @@ -4,6 +4,9 @@ "title": "TextAPI: Idref", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/idref.jsonld"] + }, "base": { "description": "the base URL to the authority file", "type": "string", @@ -21,7 +24,7 @@ } }, - "required": [ "type", "id" ], + "required": [ "@context", "type", "id" ], "patternProperties": { "^x-": {} }, diff --git a/schema/image.json b/schema/image.json index 6ff0d2b8e0f74340a623dc2cc7d6ce1a640484a6..a87058816fa7cb33d5339a30a2e61fd0c3c8fa33 100644 --- a/schema/image.json +++ b/schema/image.json @@ -5,6 +5,9 @@ "description": "An image representing the source or its provider. It is recommended that a IIIF Image API service is available for this image for manipulations such as resizing.", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/image.jsonld"] + }, "id": { "description": "URL pointing to the image", "type": "string", @@ -20,7 +23,7 @@ "$ref": "license.json" } }, - "required": [ "id", "license" ], + "required": [ "@context", "id", "license" ], "patternProperties": { "^x-": {} }, diff --git a/schema/integrity.json b/schema/integrity.json index 76086f33c206597f2d2c5d1b055659e5a7355cd1..5e57a5834dea0f4085eb4084dd620f39f897e047 100644 --- a/schema/integrity.json +++ b/schema/integrity.json @@ -5,6 +5,9 @@ "description": "Data integrity properties to a file, esp. checksums", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/integrity.jsonld"] + }, "type": { "description": "algorithm to calculate checksum (e.g. `MD5`, `SHA-256`)", "type": "string", @@ -16,7 +19,7 @@ "minLength": 8 } }, - "required": [ "type", "value" ], + "required": [ "@context", "type", "value" ], "patternProperties": { "^x-": {} }, diff --git a/schema/item.json b/schema/item.json index 5c004ebd6dcb77e86b3e422defae7bd0a8222ac5..d67d6ce27728daab79b96abefed02eb3b3339137 100644 --- a/schema/item.json +++ b/schema/item.json @@ -5,6 +5,9 @@ "description": "This is the main object to represent a single unit as part of a text, or the complete text.", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/item.jsonld"] + }, "textapi": { "description": "the TextAPI version covered by the implementation", "type": "string", @@ -82,7 +85,7 @@ } }, - "required": [ "textapi", "type", "lang", "content" ], + "required": [ "@context", "textapi", "type", "lang", "content" ], "patternProperties": { "^x-": {} }, diff --git a/schema/license.json b/schema/license.json index 6b1e8fe69786f85b57ea77e07ccf7a4402072682..cb73bc711efec569e81100664f5a414ffefd2cf5 100644 --- a/schema/license.json +++ b/schema/license.json @@ -5,6 +5,9 @@ "description": "The license or any other appropriate rights statement the resources is served under. It is REQUIRED to use one of SPDX.", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/license.jsonld"] + }, "id": { "description": "an SPDX identifier", "type": "string", @@ -15,7 +18,7 @@ "type": "string" } }, - "required": [ "id" ], + "required": [ "@context", "id" ], "patternProperties": { "^x-": {} }, diff --git a/schema/manifest.json b/schema/manifest.json index 2395d899439294e5c5e1d3da95430eb8e175d9b8..dea5709860acad7c04e3bea77ad36acbc9a2b163 100644 --- a/schema/manifest.json +++ b/schema/manifest.json @@ -5,6 +5,9 @@ "description": "This is the main object in the schema to represent a single text, its derivatives (e.g. html) and therefore containing the metadata. It is REQUIRED to be served at the corresponding endpoint.", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/manifest.jsonld"] + }, "textapi": { "description": "the TextAPI version covered by the implementation", "type": "string", @@ -98,7 +101,7 @@ } }, - "required": [ "textapi", "id", "label", "sequence", "license" ], + "required": [ "@context", "textapi", "id", "label", "sequence", "license" ], "patternProperties": { "^x-": {} }, diff --git a/schema/metadata-value.json b/schema/metadata-value.json index 141f72f1d2578c81c3f46611bc8a5ab42bd38faa..6591dc9402c1961831ba5c86fe6e3f15c6f5583c 100644 --- a/schema/metadata-value.json +++ b/schema/metadata-value.json @@ -5,6 +5,9 @@ "description": "A set of metadata describing the source or its context. Mainly used for key-value pairs.", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/metadata-value.jsonld"] + }, "key": { "description": "label", "type": "string" diff --git a/schema/repository.json b/schema/repository.json index 5e8244566f4c50ee209eb46071fe9df514beb870..8235b8ca26a0a556dba1564253c5ec02537633f6 100644 --- a/schema/repository.json +++ b/schema/repository.json @@ -5,6 +5,9 @@ "description": "A repository archiving the source or derivates, e.g. facsimiles or digitized versions.", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/repository.jsonld"] + }, "label": { "description": "the label as given by the hosting institution", "type": "string" @@ -24,7 +27,7 @@ "type": "string" } }, - "required": [ "url", "baseUrl", "id" ], + "required": [ "@context", "url", "baseUrl", "id" ], "patternProperties": { "^x-": {} }, diff --git a/schema/sequence.json b/schema/sequence.json index 3c0c56ccb3d6dc64c67b3e960eda921b03a8b90f..df91478bda18fcec5d10625a2aa7b6bae21722b3 100644 --- a/schema/sequence.json +++ b/schema/sequence.json @@ -5,6 +5,9 @@ "description": "Represents a sequence of collections, manifests or items. Within a manifest it SHOULD contain items exclusively.", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/secuence.jsonld"] + }, "id": { "description": "URL to find a Manifest Object, Collection Object or Item Object", "type": "string", @@ -15,7 +18,7 @@ "enum": [ "collection", "manifest", "item" ] } }, - "required": [ "id", "type" ], + "required": [ "@context", "id", "type" ], "patternProperties": { "^x-": {} }, diff --git a/schema/support.json b/schema/support.json index 89be143403a38dd5ab7d6de502d4be5a0d674aed..a8dc9263c7990ba211255ae787a4eca25a94e546 100644 --- a/schema/support.json +++ b/schema/support.json @@ -5,6 +5,9 @@ "description": "Any material supporting the view is described and referenced in this object. This encompasses fonts and CSS, but also other material to support the rendering MAY be added on request.", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/support.jsonld"] + }, "type": { "description": "the type of the resource", "enum": [ "font", "css" ] @@ -24,7 +27,7 @@ "$ref": "integrity.json" } }, - "required": [ "type", "mime", "url" ], + "required": [ "@context", "type", "mime", "url" ], "patternProperties": { "^x-": {} }, diff --git a/schema/title.json b/schema/title.json index f09a2bac854e6616ed1b5e6119c28b07ba13b263..8c4b260c5af9f840e2babf0bf3e1565610b9c14a 100644 --- a/schema/title.json +++ b/schema/title.json @@ -4,6 +4,9 @@ "title": "TextAPI: Title", "type": "object", "properties": { + "@context": { + "enum": ["https://gitlab.gwdg.de/subugoe/emo/text-api/-/raw/main/jsonld/title.jsonld"] + }, "title": { "description": "a single title", "type": "string", @@ -15,7 +18,7 @@ "enum": [ "main", "sub" ] } }, - "required": [ "title", "type" ], + "required": [ "@context", "title", "type" ], "patternProperties": { "^x-": {} },