diff --git a/data-model/Dockerfile b/data-model/Dockerfile index ec44405..414d2cf 100644 --- a/data-model/Dockerfile +++ b/data-model/Dockerfile @@ -19,8 +19,13 @@ COPY ./fdo-profiles/0.1.0/tettris-service/schema/ schema-root/schemas/fdo-profil COPY ./fdo-profiles/0.1.0/tombstone/schema/ schema-root/schemas/fdo-profiles/0.1.0/ COPY ./fdo-profiles/0.1.0/virtual-collections/schema/ schema-root/schemas/fdo-profiles/0.1.0/ -COPY digitalobjects/0.1.0/digital-specimens/schema schema-root/schemas/digitalobjects/0.1.0/digital-specimens -COPY digitalobjects/0.1.0/shared-models/schema schema-root/schemas/digitalobjects/0.1.0/shared-models -COPY digitalobjects/0.1.0/digital-media-objects/schema schema-root/schemas/digitalobjects/0.1.0/digital-media-objects +COPY ./annotations/0.1.0/schema/annotation.json schema-root/schemas/fdo-types/0.1.0/annotation.json +COPY ./fdo-types/0.1.0/digital-specimens/schema schema-root/schemas/fdo-types/0.1.0/digital-specimens +COPY ./fdo-types/0.1.0/shared-models/schema schema-root/schemas/fdo-types/0.1.0/shared-models +COPY ./fdo-types/0.1.0/digital-media-objects/schema schema-root/schemas/fdo-types/0.1.0/digital-media-objects +COPY ./fdo-types/0.1.0/machine-annotation-services/schema schema-root/schemas/fdo-types/0.1.0/machine-annotation-services +COPY ./fdo-types/0.1.0/mappings/schema schema-root/schemas/fdo-types/0.1.0/mappings +COPY ./fdo-types/0.1.0/source-systems/schema schema-root/schemas/fdo-types/0.1.0/source-systems +COPY ./fdo-types/0.1.0/virtual-collections/schema schema-root/schemas/fdo-types/0.1.0/vitual-collections -COPY digitalobjects/0.2.0/digital-specimens/schema schema-root/schemas/digitalobjects/0.2.0/digital-specimens \ No newline at end of file +COPY ./fdo-types/0.2.0/digital-specimens/schema schema-root/schemas/digitalobjects/0.2.0/digital-specimens \ No newline at end of file diff --git a/data-model/annotations/0.1.0/schema/annotation.json b/data-model/annotations/0.1.0/schema/annotation.json index 1282b88..7b22373 100644 --- a/data-model/annotations/0.1.0/schema/annotation.json +++ b/data-model/annotations/0.1.0/schema/annotation.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/annotations/0.1.0/annotation.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/annotation.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment": "Annotation Version 0.1.0", "title": "Annotation", diff --git a/data-model/digitalobjects/0.1.0/digital-media-objects/examples/example-digital-media.json b/data-model/fdo-types/0.1.0/digital-media-objects/examples/example-digital-media.json similarity index 100% rename from data-model/digitalobjects/0.1.0/digital-media-objects/examples/example-digital-media.json rename to data-model/fdo-types/0.1.0/digital-media-objects/examples/example-digital-media.json diff --git a/data-model/digitalobjects/0.1.0/digital-media-objects/schema/digital-entity.json b/data-model/fdo-types/0.1.0/digital-media-objects/schema/digital-entity.json similarity index 87% rename from data-model/digitalobjects/0.1.0/digital-media-objects/schema/digital-entity.json rename to data-model/fdo-types/0.1.0/digital-media-objects/schema/digital-entity.json index cfd1804..8310202 100644 --- a/data-model/digitalobjects/0.1.0/digital-media-objects/schema/digital-entity.json +++ b/data-model/fdo-types/0.1.0/digital-media-objects/schema/digital-entity.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-media-objects/digital-entity.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-media-objects/digital-entity.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment":"DigitalObject Version 0.1.0", "type": "object", @@ -137,31 +137,31 @@ "assertions": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/assertions.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/assertions.json" } }, "citations": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/citations.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/citations.json" } }, "identifiers": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/identifiers.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/identifiers.json" } }, "entityRelationships": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/entity-relationships.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/entity-relationships.json" } }, "agents": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/agent.json" } } }, diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/examples/example-mineral.json b/data-model/fdo-types/0.1.0/digital-specimens/examples/example-mineral.json similarity index 100% rename from data-model/digitalobjects/0.1.0/digital-specimens/examples/example-mineral.json rename to data-model/fdo-types/0.1.0/digital-specimens/examples/example-mineral.json diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/examples/example-multiple-fossil.json b/data-model/fdo-types/0.1.0/digital-specimens/examples/example-multiple-fossil.json similarity index 100% rename from data-model/digitalobjects/0.1.0/digital-specimens/examples/example-multiple-fossil.json rename to data-model/fdo-types/0.1.0/digital-specimens/examples/example-multiple-fossil.json diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/examples/example-specimen.json b/data-model/fdo-types/0.1.0/digital-specimens/examples/example-specimen.json similarity index 100% rename from data-model/digitalobjects/0.1.0/digital-specimens/examples/example-specimen.json rename to data-model/fdo-types/0.1.0/digital-specimens/examples/example-specimen.json diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/intro.md b/data-model/fdo-types/0.1.0/digital-specimens/intro.md similarity index 100% rename from data-model/digitalobjects/0.1.0/digital-specimens/intro.md rename to data-model/fdo-types/0.1.0/digital-specimens/intro.md diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/chronometric-age.json b/data-model/fdo-types/0.1.0/digital-specimens/schema/chronometric-age.json similarity index 97% rename from data-model/digitalobjects/0.1.0/digital-specimens/schema/chronometric-age.json rename to data-model/fdo-types/0.1.0/digital-specimens/schema/chronometric-age.json index b4bae56..ef932fa 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/chronometric-age.json +++ b/data-model/fdo-types/0.1.0/digital-specimens/schema/chronometric-age.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/chronometric-age.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/chronometric-age.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment":"DigitalObject Version 0.1.0", "type": "object", diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/digital-specimen.json b/data-model/fdo-types/0.1.0/digital-specimens/schema/digital-specimen.json similarity index 89% rename from data-model/digitalobjects/0.1.0/digital-specimens/schema/digital-specimen.json rename to data-model/fdo-types/0.1.0/digital-specimens/schema/digital-specimen.json index 7ea6316..5f5b6de 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/digital-specimen.json +++ b/data-model/fdo-types/0.1.0/digital-specimens/schema/digital-specimen.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/digital-specimen.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/digital-specimen.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment":"DigitalObject Version 0.1.0", "type": "object", @@ -269,55 +269,55 @@ "materialEntity": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/material-entity.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/material-entity.json" } }, "dwc:identification": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/identifications.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/identifications.json" } }, "assertions": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/assertions.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/assertions.json" } }, "occurrences": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/occurrences.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/occurrences.json" } }, "entityRelationships": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/entity-relationships.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/entity-relationships.json" } }, "citations": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/citations.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/citations.json" } }, "identifiers": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/identifiers.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/identifiers.json" } }, "chronometricAge": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/chronometric-age.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/chronometric-age.json" } }, "agents": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/agent.json" } } }, diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/events.json b/data-model/fdo-types/0.1.0/digital-specimens/schema/events.json similarity index 89% rename from data-model/digitalobjects/0.1.0/digital-specimens/schema/events.json rename to data-model/fdo-types/0.1.0/digital-specimens/schema/events.json index 8e4e733..dbaf696 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/events.json +++ b/data-model/fdo-types/0.1.0/digital-specimens/schema/events.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/events.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/events.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment": "DigitalObject Version 0.1.0", "type": "object", @@ -96,12 +96,12 @@ "$comment": "Not part of DWC or the UM?" }, "location": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/location.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/location.json" }, "agents": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/agent.json" } } } diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/identifications.json b/data-model/fdo-types/0.1.0/digital-specimens/schema/identifications.json similarity index 97% rename from data-model/digitalobjects/0.1.0/digital-specimens/schema/identifications.json rename to data-model/fdo-types/0.1.0/digital-specimens/schema/identifications.json index 1a88e2c..c347c92 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/identifications.json +++ b/data-model/fdo-types/0.1.0/digital-specimens/schema/identifications.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/identifications.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/identifications.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment": "DigitalObject Version 0.1.0", "type": "object", @@ -96,13 +96,13 @@ "citations": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/citations.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/citations.json" } }, "agents": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/agent.json" } }, "taxonIdentifications": { diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/location.json b/data-model/fdo-types/0.1.0/digital-specimens/schema/location.json similarity index 98% rename from data-model/digitalobjects/0.1.0/digital-specimens/schema/location.json rename to data-model/fdo-types/0.1.0/digital-specimens/schema/location.json index 6198d09..140c3c1 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/location.json +++ b/data-model/fdo-types/0.1.0/digital-specimens/schema/location.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/location.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/location.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment":"DigitalObject Version 0.1.0", "type": "object", @@ -258,7 +258,7 @@ "agents": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/agent.json" } } } diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/material-entity.json b/data-model/fdo-types/0.1.0/digital-specimens/schema/material-entity.json similarity index 78% rename from data-model/digitalobjects/0.1.0/digital-specimens/schema/material-entity.json rename to data-model/fdo-types/0.1.0/digital-specimens/schema/material-entity.json index 3bb6775..b47f416 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/material-entity.json +++ b/data-model/fdo-types/0.1.0/digital-specimens/schema/material-entity.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/material-entity.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/material-entity.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment":"DigitalObject Version 0.1.0", "type": "object", @@ -84,43 +84,43 @@ "identifications": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/identifications.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/identifications.json" } }, "assertions": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/assertions.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/assertions.json" } }, "entityRelationships": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/entity-relationships.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/entity-relationships.json" } }, "citations": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/citations.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/citations.json" } }, "identifiers": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/identifiers.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/identifiers.json" } }, "events": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/events.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/events.json" } }, "agents": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/agent.json" } } } diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/occurrences.json b/data-model/fdo-types/0.1.0/digital-specimens/schema/occurrences.json similarity index 95% rename from data-model/digitalobjects/0.1.0/digital-specimens/schema/occurrences.json rename to data-model/fdo-types/0.1.0/digital-specimens/schema/occurrences.json index b9341f6..1f7d952 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/occurrences.json +++ b/data-model/fdo-types/0.1.0/digital-specimens/schema/occurrences.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/occurrences.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/occurrences.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment":"DigitalObject Version 0.1.0", "type": "object", @@ -238,11 +238,11 @@ "assertions": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/assertions.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/assertions.json" } }, "location": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/location.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/digital-specimens/location.json" } } } \ No newline at end of file diff --git a/data-model/fdo-types/0.1.0/machine-annotation-services/schema/mas.json b/data-model/fdo-types/0.1.0/machine-annotation-services/schema/mas.json new file mode 100644 index 0000000..cad6446 --- /dev/null +++ b/data-model/fdo-types/0.1.0/machine-annotation-services/schema/mas.json @@ -0,0 +1,143 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/machine-annotation-service/mas.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "description": "Automated annotation services that enhance biodiversity data", + "properties": { + "id": { + "type": "string", + "description": "PID of the Machine Annotation Service" + }, + "version": { + "type": "integer", + "minimum": 1 + }, + "created": { + "type": "string", + "description": "Timestamp of MAS creation. Internally generated" + }, + "machineAnnotationService": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the MAS" + }, + "containerImage": { + "type": "string", + "description": "URI of the image of the containerized application", + "example": [ + "public.ecr.aws/dissco/mindat-georeferencing" + ] + }, + "containerTag": { + "type": "string", + "description": "Tag of the image", + "example": [ + "sha-cb76994" + ] + }, + "targetDigitalObjectFilters": { + "type": "object", + "description": "Filters describing the criteria that must be met in order to apply the MAS. No filters implies the MAS may run on *any* digital object. Field names are given in JSON paths, and accepted values for that field are provided as an arrays", + "example": [ + { + "$.ods:type": [ + "https://doi.org/21.T11148/894b1e6cad57e921764e" + ], + "$.ods:topicDiscipline": [ + "Astrogeology", + "Geology", + "Palaeontology", + "Other Geodiversity", + "Unclassified" + ], + "$.occurrences[*].location.dwc:locality": [ + "*" + ] + } + ] + }, + "serviceDescription": { + "type": "string", + "description": "Human-readable description of the MAS" + }, + "serviceState": { + "type": "string", + "description": "The current status of the service", + "example": [ + "Alpha", + "Production" + ] + }, + "sourceCodeRepository": { + "type": "string", + "description": "Link to code base of MAS" + }, + "serviceAvailability": { + "type": "string", + "description": "Availability commitment of the service provider as described in the SLA" + }, + "codeMaintainer": { + "type": "string", + "description": "Party maintaining the code" + }, + "codeLicense": { + "type": "string", + "$comment": "May be enum", + "description": "License of the service", + "example": "https://opensource.org/licenses/Apache-2.0" + }, + "dependencies": { + "type": "array", + "items": "string", + "description": "Other MAS that this MAS depends on", + "$comment": "Not yet enforced" + }, + "supportContact": { + "type": "string", + "description": "Human-readable contact information for MAS support" + }, + "slaDocumentation": { + "type": "string", + "description": "Link to SLA documentation" + }, + "topicName": { + "type": "string", + "description": "Kafka topic through which the MAS recieves messages. Defaults to PID of MAS" + }, + "batchingPermitted": { + "type": "boolean", + "description": "Whether or not this MAS can create Batch Annotations. MAS outputs must then comply with batchMetadata, see https://schemas.dissco.tech/schemas/annotations/0.1.0/annotation-event.json" + }, + "timeToLive": { + "type": "integer", + "minimum": 3600, + "description": "Time in milliseconds the MAS message may remain in the Kafka Queue before being marked as timed out. Min 1 hour." + } + }, + "required": [ + "name", + "containerImage", + "containerTag", + "batchingPermitted", + "timeToLive" + ] + }, + "administrator": { + "type": "string", + "description": "User id of the client registering the MAS" + }, + "deleted": { + "type": "string", + "description": "timestamp MAS was deleted, if applicable" + } + }, + "required": [ + "id", + "version", + "created", + "machineAnnotationService", + "administrator" + ] +} \ No newline at end of file diff --git a/data-model/fdo-types/0.1.0/mappings/schema/mappings.json b/data-model/fdo-types/0.1.0/mappings/schema/mappings.json new file mode 100644 index 0000000..d73497d --- /dev/null +++ b/data-model/fdo-types/0.1.0/mappings/schema/mappings.json @@ -0,0 +1,58 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/mappings/mappings.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "PID of the mapping" + }, + "version": { + "type": "integer", + "minimum": 1 + }, + "created": { + "type": "string", + "description": "Timestamp of creation. Internally generated" + }, + "deleted": { + "type": "string", + "description": "timestamp MAS was deleted, if applicable" + }, + "creator": { + "type": "string", + "description": "User id of the client registering the MAS" + }, + "mapping": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "fieldMapping": { + "type": "object" + }, + "sourceDataStandard": { + "enum": [ + "dwc", + "abcd", + "abcdefg" + ] + } + }, + "required": [ + "sourceDataStandard" + ] + } + }, + "required": [ + "id", + "version", + "created", + "creator", + "mapping" + ] +} \ No newline at end of file diff --git a/data-model/digitalobjects/0.1.0/shared-models/schema/agent.json b/data-model/fdo-types/0.1.0/shared-models/schema/agent.json similarity index 89% rename from data-model/digitalobjects/0.1.0/shared-models/schema/agent.json rename to data-model/fdo-types/0.1.0/shared-models/schema/agent.json index 404b204..9c92a47 100644 --- a/data-model/digitalobjects/0.1.0/shared-models/schema/agent.json +++ b/data-model/fdo-types/0.1.0/shared-models/schema/agent.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/agent.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "$comment": "", @@ -63,7 +63,7 @@ "identifiers": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/identifiers.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/identifiers.json" } } }, diff --git a/data-model/digitalobjects/0.1.0/shared-models/schema/assertions.json b/data-model/fdo-types/0.1.0/shared-models/schema/assertions.json similarity index 83% rename from data-model/digitalobjects/0.1.0/shared-models/schema/assertions.json rename to data-model/fdo-types/0.1.0/shared-models/schema/assertions.json index bfd0169..e17cc8b 100644 --- a/data-model/digitalobjects/0.1.0/shared-models/schema/assertions.json +++ b/data-model/fdo-types/0.1.0/shared-models/schema/assertions.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/assertions.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/assertions.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "$comment": "Looks like Measurement or Fact but terminology is different, no ontology yet?", @@ -40,7 +40,7 @@ "agents": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/agent.json" } } }, diff --git a/data-model/digitalobjects/0.1.0/shared-models/schema/citations.json b/data-model/fdo-types/0.1.0/shared-models/schema/citations.json similarity index 90% rename from data-model/digitalobjects/0.1.0/shared-models/schema/citations.json rename to data-model/fdo-types/0.1.0/shared-models/schema/citations.json index 25e99b7..3749b65 100644 --- a/data-model/digitalobjects/0.1.0/shared-models/schema/citations.json +++ b/data-model/fdo-types/0.1.0/shared-models/schema/citations.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/citations.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/citations.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { @@ -60,7 +60,7 @@ "agents": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/agent.json" } } } diff --git a/data-model/digitalobjects/0.1.0/shared-models/schema/entity-relationships.json b/data-model/fdo-types/0.1.0/shared-models/schema/entity-relationships.json similarity index 86% rename from data-model/digitalobjects/0.1.0/shared-models/schema/entity-relationships.json rename to data-model/fdo-types/0.1.0/shared-models/schema/entity-relationships.json index c6c5f7f..565d229 100644 --- a/data-model/digitalobjects/0.1.0/shared-models/schema/entity-relationships.json +++ b/data-model/fdo-types/0.1.0/shared-models/schema/entity-relationships.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/entity-relationships.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/entity-relationships.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { @@ -33,7 +33,7 @@ "agents": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + "$ref": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/agent.json" } } }, diff --git a/data-model/digitalobjects/0.1.0/shared-models/schema/identifiers.json b/data-model/fdo-types/0.1.0/shared-models/schema/identifiers.json similarity index 90% rename from data-model/digitalobjects/0.1.0/shared-models/schema/identifiers.json rename to data-model/fdo-types/0.1.0/shared-models/schema/identifiers.json index 3259f63..2210026 100644 --- a/data-model/digitalobjects/0.1.0/shared-models/schema/identifiers.json +++ b/data-model/fdo-types/0.1.0/shared-models/schema/identifiers.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/identifiers.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/shared-models/identifiers.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { diff --git a/data-model/fdo-types/0.1.0/source-systems/schema/source-systems.json b/data-model/fdo-types/0.1.0/source-systems/schema/source-systems.json new file mode 100644 index 0000000..fc3a34a --- /dev/null +++ b/data-model/fdo-types/0.1.0/source-systems/schema/source-systems.json @@ -0,0 +1,64 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/source-systems/source-systems.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "PID of the Source System" + }, + "version": { + "type": "integer", + "minimum": 1 + }, + "created": { + "type": "string", + "description": "Timestamp of creation. Internally generated" + }, + "deleted": { + "type": "string", + "description": "timestamp MAS was deleted, if applicable" + }, + "creator": { + "type": "string", + "description": "User id of the client registering the MAS" + }, + "sourceSystem": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "endpoint": { + "type": "string", + "description": "Endpoint from which data may be retrieved" + }, + "translatorType": { + "enum": [ + "dwca", + "biocase" + ] + }, + "mappingId": { + "type": "string", + "description": "PID of the mapping required by this source system." + } + }, + "required": [ + "endpoint", + "translatorType", + "mapping" + ] + } + }, + "required": [ + "id", + "version", + "created", + "creator", + "mapping" + ] +} \ No newline at end of file diff --git a/data-model/digitalobjects/0.1.0/tettris-service/schema/tettris-service.json b/data-model/fdo-types/0.1.0/tettris-service/schema/tettris-service.json similarity index 97% rename from data-model/digitalobjects/0.1.0/tettris-service/schema/tettris-service.json rename to data-model/fdo-types/0.1.0/tettris-service/schema/tettris-service.json index e9d7f4b..d14253d 100644 --- a/data-model/digitalobjects/0.1.0/tettris-service/schema/tettris-service.json +++ b/data-model/fdo-types/0.1.0/tettris-service/schema/tettris-service.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/tettris-service.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/tettris-service.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "$comment": "https://docs.google.com/document/d/1jbeVkUgoKXEmXKGlaHfJVxNRBk_aNBMSNdgPzLSqjGc/edit?usp=sharing", diff --git a/data-model/virtualcollections/v.0.1.0/schemas/virtualcollections.json b/data-model/fdo-types/0.1.0/virtual-collections/schema/virtual-collections.json similarity index 98% rename from data-model/virtualcollections/v.0.1.0/schemas/virtualcollections.json rename to data-model/fdo-types/0.1.0/virtual-collections/schema/virtual-collections.json index b60e839..48164b1 100644 --- a/data-model/virtualcollections/v.0.1.0/schemas/virtualcollections.json +++ b/data-model/fdo-types/0.1.0/virtual-collections/schema/virtual-collections.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/virtualcollections/virtualcollections.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.1.0/virtualcollections/virtualcollections.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment": "DigitalObject Version 0.1.0", "type": "object", diff --git a/data-model/digitalobjects/0.2.0/RELEASE_NOTES.md b/data-model/fdo-types/0.2.0/RELEASE_NOTES.md similarity index 100% rename from data-model/digitalobjects/0.2.0/RELEASE_NOTES.md rename to data-model/fdo-types/0.2.0/RELEASE_NOTES.md diff --git a/data-model/digitalobjects/0.2.0/digital-specimens/schema/digital-specimen.json b/data-model/fdo-types/0.2.0/digital-specimens/schema/digital-specimen.json similarity index 100% rename from data-model/digitalobjects/0.2.0/digital-specimens/schema/digital-specimen.json rename to data-model/fdo-types/0.2.0/digital-specimens/schema/digital-specimen.json diff --git a/data-model/digitalobjects/0.2.0/digital-specimens/schema/events.json b/data-model/fdo-types/0.2.0/digital-specimens/schema/events.json similarity index 100% rename from data-model/digitalobjects/0.2.0/digital-specimens/schema/events.json rename to data-model/fdo-types/0.2.0/digital-specimens/schema/events.json diff --git a/data-model/digitalobjects/0.2.0/digital-specimens/schema/identifications.json b/data-model/fdo-types/0.2.0/digital-specimens/schema/identifications.json similarity index 100% rename from data-model/digitalobjects/0.2.0/digital-specimens/schema/identifications.json rename to data-model/fdo-types/0.2.0/digital-specimens/schema/identifications.json diff --git a/data-model/digitalobjects/0.2.0/digital-specimens/schema/location.json b/data-model/fdo-types/0.2.0/digital-specimens/schema/location.json similarity index 100% rename from data-model/digitalobjects/0.2.0/digital-specimens/schema/location.json rename to data-model/fdo-types/0.2.0/digital-specimens/schema/location.json diff --git a/data-model/digitalobjects/0.2.0/digital-specimens/schema/material-entity.json b/data-model/fdo-types/0.2.0/digital-specimens/schema/material-entity.json similarity index 100% rename from data-model/digitalobjects/0.2.0/digital-specimens/schema/material-entity.json rename to data-model/fdo-types/0.2.0/digital-specimens/schema/material-entity.json diff --git a/data-model/digitalobjects/0.2.0/digital-specimens/schema/occurrences.json b/data-model/fdo-types/0.2.0/digital-specimens/schema/occurrences.json similarity index 100% rename from data-model/digitalobjects/0.2.0/digital-specimens/schema/occurrences.json rename to data-model/fdo-types/0.2.0/digital-specimens/schema/occurrences.json