diff --git a/data-model/fdo-type/annotation/0.3.0/examples/active-annotation-example.json b/data-model/fdo-type/annotation/0.3.0/examples/active-annotation-example.json index 04dd40b..c80230b 100644 --- a/data-model/fdo-type/annotation/0.3.0/examples/active-annotation-example.json +++ b/data-model/fdo-type/annotation/0.3.0/examples/active-annotation-example.json @@ -3,6 +3,7 @@ "@type": "ods:Annotation", "ods:ID": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", "rdf:type": "ods:Annotation", + "ods:status": "ods:Active", "ods:version": 1, "oa:motivation": "oa:commenting", "oa:hasTarget": { @@ -23,15 +24,14 @@ }, "dcterms:creator": { "@id": "https://orcid.org/0000-0002-5669-2769", - "@type": "foaf:Person", - "foaf:name": "John Doe" + "@type": "schema:Person", + "schema:name": "John Doe" }, "dcterms:created": "2024-06-27T12:00:00Z", "as:generator": { "@id": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", "@type": "as:Application", - "foaf:name": "Annotation Generator Service" + "schema:name": "Annotation Generator Service" }, - "dcterms:issued": "2024-06-27T12:00:00Z", - "ods:annotationStatus": "ods:Active" + "dcterms:issued": "2024-06-27T12:00:00Z" } \ No newline at end of file diff --git a/data-model/fdo-type/annotation/0.3.0/examples/approved-annotation-example.json b/data-model/fdo-type/annotation/0.3.0/examples/approved-annotation-example.json index 7f29e44..47d137d 100644 --- a/data-model/fdo-type/annotation/0.3.0/examples/approved-annotation-example.json +++ b/data-model/fdo-type/annotation/0.3.0/examples/approved-annotation-example.json @@ -2,6 +2,7 @@ "@id": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", "@type": "ods:Annotation", "ods:ID": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", + "ods:status": "ods:Active", "rdf:type": "ods:Annotation", "ods:version": 1, "oa:motivation": "oa:commenting", @@ -30,15 +31,15 @@ "as:generator": { "@id": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", "@type": "as:Application", - "foaf:name": "Annotation Generator Service" + "schema:name": "Annotation Generator Service" }, "dcterms:issued": "2024-06-27T12:00:00Z", "ods:batchID": "batch-1234", "ods:annotationStatus": "ods:Approved", - "ods:decisionDate": "2024-06-28T12:00:00Z", - "ods:Decider": { + "ods:mergingStateChangeDate": "2024-06-28T12:00:00Z", + "ods:MergingStateChangedBy": { "@id": "https://orcid.org/0000-0002-5669-2769", - "@type": "foaf:Person", - "foaf:name": "Jane Smith" + "@type": "schema:Person", + "schema:name": "Jane Smith" } } \ No newline at end of file diff --git a/data-model/fdo-type/annotation/0.3.0/examples/tombstoned-annotation.json b/data-model/fdo-type/annotation/0.3.0/examples/tombstoned-annotation.json new file mode 100644 index 0000000..e8248b6 --- /dev/null +++ b/data-model/fdo-type/annotation/0.3.0/examples/tombstoned-annotation.json @@ -0,0 +1,49 @@ +{ + "@id": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", + "@type": "ods:Annotation", + "ods:ID": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", + "rdf:type": "ods:Annotation", + "ods:status": "ods:Tombstone", + "ods:version": 1, + "oa:motivation": "oa:commenting", + "oa:hasTarget": { + "@id": "https://hdl.handle.net/20.5000.1025/XYZ-XYZ-XYZ", + "@type": "ods:DigitalSpecimen", + "ods:ID": "https://hdl.handle.net/20.5000.1025/XYZ-XYZ-XYZ", + "ods:type": "https://doi.org/21.T11148/bbad8c4e101e8af01115", + "oa:hasSelector": { + "@type": "ods:FieldSelector", + "ods:field": "$.hasEvent[0].location.dwc:country" + } + }, + "oa:hasBody": { + "@type": "oa:TextualBody", + "oa:value": [ + "Venezuela" + ], + "dcterms:references": "https://api.gbif.org/v1/occurrence/search?occurrenceID=https://herbarium.bgbm.org/object/BW00965020&catalogNumber=B -W 00965 -02 0&basisOfRecord=PreservedSpecimen", + "ods:score": 0.9 + }, + "dcterms:creator": { + "@id": "https://orcid.org/0000-0002-5669-2769", + "@type": "schema:Person", + "schema:name": "John Doe" + }, + "dcterms:created": "2024-06-27T12:00:00Z", + "as:generator": { + "@id": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", + "@type": "as:Application", + "schema:name": "Annotation Generator Service" + }, + "dcterms:issued": "2024-06-27T12:00:00Z", + "ods:TombstoneMetadata": { + "@type": "ods:Tombstone", + "ods:tombstonedDate": "2023-06-15T14:30:00Z", + "ods:tombstonedReason": "This object was made by mistake", + "ods:TombstonedByAgent": { + "@id": "https://orcid.org/0000-0002-5669-2769", + "@type": "schema:Person", + "schema:name": "John Doe" + } + } +} \ No newline at end of file diff --git a/data-model/fdo-type/annotation/0.3.0/schema/annotation.json b/data-model/fdo-type/annotation/0.3.0/schema/annotation.json index 5f60fec..34a7f49 100644 --- a/data-model/fdo-type/annotation/0.3.0/schema/annotation.json +++ b/data-model/fdo-type/annotation/0.3.0/schema/annotation.json @@ -27,6 +27,14 @@ "https://hdl.handle.net/20.5000.1025/XXX-XXX-XXX" ] }, + "ods:status": { + "enum": [ + "ods:Draft", + "ods:Active", + "ods:Tombstone" + ], + "description": "The status of the Digital Object." + }, "ods:jobID": { "type": "string", "description": "Handle of the job record, if the annotation was produced by a Machine Annotation Service, only filled when annotation was created by a MAS", @@ -263,54 +271,13 @@ "dcterms:creator": { "type": "object", "description": "Object containing information on who created the object", - "properties": { - "@id": { - "type": "string", - "description": "The PID if the type is SoftwareAgent, the ORCID if the type is Person and the ROR if the type is Organisation.", - "examples": [ - "https://hdl.handle.net/20.5000.1025/XXX-XXX-XXX", - "https://doi.org/10.123/XXX-XXX-XXX", - "https://ror.org/0566bfb96", - "https://orcid.org/0000-0002-5669-2769" - ], - "pattern": "https://(doi\\.org/10\\.\\d+/[-a-zA-Z0-9]+$|hdl\\.handle\\.net/[a-zA-Z0-9.]+/[-a-zA-Z0-9]+$|ror\\.org/0[a-z|0-9]{6}[0-9]{2}$|orcid\\.org/\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]+)$" - }, - "@type": { - "type": "string", - "description": "The type of the creator.", - "enum": [ - "foaf:Person", - "foaf:Organisation", - "as:Application" - ] - }, - "foaf:name": { - "type": "string", - "description": "The name of the creator. http://xmlns.com/foaf/0.1/#term_name", - "examples": [ - "Gbif linker service" - ] - } - }, - "required": [ - "@id", - "@type" - ], - "additionalProperties": false + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" }, "dcterms:created": { "type": "string", "format": "date-time", "description": "The date and time when the annotation was created. https://purl.org/dc/terms/created" }, - "ods:dateTombstoned": { - "type": "string", - "description": "Timestamp Annotation was tombstoned and no longer active. Generated on request of the user. Empty as long as Annotation is active", - "format": "date-time", - "examples": [ - "2021-06-01T12:00:000Z" - ] - }, "dcterms:issued": { "type": "string", "format": "date-time", @@ -319,40 +286,7 @@ "as:generator": { "type": "object", "description": "Object containing information on who generated the object. Generated is here seen as who stored/indexed the object. In most case this will be the annotation-processing-service", - "properties": { - "@id": { - "type": "string", - "description": "The PID if the type is SoftwareAgent, the ORCID if the type is Person and the ROR if the type is Organisation.", - "examples": [ - "https://hdl.handle.net/20.5000.1025/XXX-XXX-XXX", - "https://doi.org/10.123/XXX-XXX-XXX", - "https://ror.org/0566bfb96", - "https://orcid.org/0000-0002-5669-2769" - ], - "pattern": "https://(doi\\.org/10\\.\\d+/[-a-zA-Z0-9]+$|hdl\\.handle\\.net/[a-zA-Z0-9.]+/[-a-zA-Z0-9]+$|ror\\.org/0[a-z|0-9]{6}[0-9]{2}$|orcid\\.org/\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]+)$" - }, - "@type": { - "type": "string", - "description": "The type of the creator.", - "enum": [ - "foaf:Person", - "foaf:Organisation", - "as:Application" - ] - }, - "foaf:name": { - "type": "string", - "description": "The name of the creator. http://xmlns.com/foaf/0.1/#term_name", - "examples": [ - "Gbif linker service" - ] - } - }, - "required": [ - "@id", - "@type" - ], - "additionalProperties": false + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" }, "schema:AggregateRating": { "type": "object", @@ -402,43 +336,15 @@ "format": "date-time", "description": "The date and time when the annotation was merging state was changed." }, - "ods:mergingStateChangedBy": { + "ods:MergingStateChangedBy": { "type": "object", "description": "Object containing information on who changed the merging state of the annotation.", - "properties": { - "@id": { - "type": "string", - "description": "The PID if the type is SoftwareAgent, the ORCID if the type is Person and the ROR if the type is Organisation.", - "examples": [ - "https://hdl.handle.net/20.5000.1025/XXX-XXX-XXX", - "https://doi.org/10.123/XXX-XXX-XXX", - "https://ror.org/0566bfb96", - "https://orcid.org/0000-0002-5669-2769" - ], - "pattern": "https://(doi\\.org/10\\.\\d+/[-a-zA-Z0-9]+$|hdl\\.handle\\.net/[a-zA-Z0-9.]+/[-a-zA-Z0-9]+$|ror\\.org/0[a-z|0-9]{6}[0-9]{2}$|orcid\\.org/\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]+)$" - }, - "@type": { - "type": "string", - "description": "The type of the agent who changed the merging state.", - "enum": [ - "foaf:Person", - "foaf:Organisation", - "as:Application" - ] - }, - "foaf:name": { - "type": "string", - "description": "The name of the agent who changed the merging state. http://xmlns.com/foaf/0.1/#term_name", - "examples": [ - "Gbif linker service" - ] - } - }, - "required": [ - "@id", - "@type" - ], - "additionalProperties": false + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" + }, + "ods:TombstoneMetadata": { + "type": "object", + "description": "Object containing the tombstone metadata of the object", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/tombstone-metadata.json" } }, "required": [ diff --git a/data-model/fdo-type/create-update-tombstone-event/0.3.0/examples/create-event-example.json b/data-model/fdo-type/create-update-tombstone-event/0.3.0/examples/create-event-example.json index e94dfff..7a0d5d8 100644 --- a/data-model/fdo-type/create-update-tombstone-event/0.3.0/examples/create-event-example.json +++ b/data-model/fdo-type/create-update-tombstone-event/0.3.0/examples/create-event-example.json @@ -64,17 +64,17 @@ { "@id": "https://orcid.org/0000-0002-1825-0097", "@type": "prov:Person", - "foaf:name": "John Doe" + "schema:name": "John Doe" }, { "@id": "https://hdl.handle.net/20.5000.1025/XXX-XXX-XXX", "@type": "prov:SoftwareAgent", - "foaf:name": "GBIF Linker Service" + "schema:name": "GBIF Linker Service" }, { "@id": "https://hdl.handle.net/20.5000.1025/XXX-YYY-XXX", "@type": "prov:SoftwareAgent", - "foaf:name": "Digital Specimen Processor" + "schema:name": "Digital Specimen Processor" } ] } \ No newline at end of file diff --git a/data-model/fdo-type/create-update-tombstone-event/0.3.0/examples/tombstone-event-example.json b/data-model/fdo-type/create-update-tombstone-event/0.3.0/examples/tombstone-event-example.json index 4f5850e..a8a96d0 100644 --- a/data-model/fdo-type/create-update-tombstone-event/0.3.0/examples/tombstone-event-example.json +++ b/data-model/fdo-type/create-update-tombstone-event/0.3.0/examples/tombstone-event-example.json @@ -34,17 +34,17 @@ { "@id": "https://orcid.org/0000-0002-1825-0097", "@type": "prov:Person", - "foaf:name": "John Doe" + "schema:name": "John Doe" }, { "@id": "https://hdl.handle.net/20.5000.1025/XXX-XXX-XXX", "@type": "prov:SoftwareAgent", - "foaf:name": "GBIF Linker Service" + "schema:name": "GBIF Linker Service" }, { "@id": "https://hdl.handle.net/20.5000.1025/XXX-YYY-XXX", "@type": "prov:SoftwareAgent", - "foaf:name": "Digital Specimen Processor" + "schema:name": "Digital Specimen Processor" } ] } \ No newline at end of file diff --git a/data-model/fdo-type/create-update-tombstone-event/0.3.0/examples/update-event-example.json b/data-model/fdo-type/create-update-tombstone-event/0.3.0/examples/update-event-example.json index aecae66..dd95200 100644 --- a/data-model/fdo-type/create-update-tombstone-event/0.3.0/examples/update-event-example.json +++ b/data-model/fdo-type/create-update-tombstone-event/0.3.0/examples/update-event-example.json @@ -64,17 +64,17 @@ { "@id": "https://orcid.org/0000-0002-1825-0097", "@type": "prov:Person", - "foaf:name": "John Doe" + "schema:name": "John Doe" }, { "@id": "https://hdl.handle.net/20.5000.1025/XXX-XXX-XXX", "@type": "prov:SoftwareAgent", - "foaf:name": "GBIF Linker Service" + "schema:name": "GBIF Linker Service" }, { "@id": "https://hdl.handle.net/20.5000.1025/XXX-YYY-XXX", "@type": "prov:SoftwareAgent", - "foaf:name": "Digital Specimen Processor" + "schema:name": "Digital Specimen Processor" } ] } \ No newline at end of file diff --git a/data-model/fdo-type/create-update-tombstone-event/0.3.0/schema/create-update-tombstone-event.json b/data-model/fdo-type/create-update-tombstone-event/0.3.0/schema/create-update-tombstone-event.json index 70347e0..da5fc8f 100644 --- a/data-model/fdo-type/create-update-tombstone-event/0.3.0/schema/create-update-tombstone-event.json +++ b/data-model/fdo-type/create-update-tombstone-event/0.3.0/schema/create-update-tombstone-event.json @@ -222,37 +222,7 @@ "items": { "type": "object", "description": "Based on the prov-ontology Agent Class, https://www.w3.org/ns/prov#Agent", - "properties": { - "@id": { - "type": "string", - "description": "The unique identifier of the Agent, possible values are an ORCID or a handle", - "examples": [ - "https://orcid.org/0000-0002-1825-0097", - "https://hdl.handle.net/20.5000.1025/XXX-XXX-XXX" - ] - }, - "@type": { - "description": "The type of agent", - "enum": [ - "prov:Person", - "prov:SoftwareAgent" - ] - }, - "foaf:name": { - "type": "string", - "description": "The name of the agent", - "examples": [ - "John Doe", - "GBIF Linker Service" - ] - } - }, - "required": [ - "@id", - "@type", - "foaf:name" - ], - "additionalProperties": false + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/agent/0.3.0/agent.json" } } } diff --git a/data-model/fdo-type/data-mapping/0.3.0/examples/data-mapping-example.json b/data-model/fdo-type/data-mapping/0.3.0/examples/data-mapping-example.json index f9612bf..e18a4f4 100644 --- a/data-model/fdo-type/data-mapping/0.3.0/examples/data-mapping-example.json +++ b/data-model/fdo-type/data-mapping/0.3.0/examples/data-mapping-example.json @@ -3,11 +3,16 @@ "@type": "ods:DataMapping", "ods:ID": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", "ods:type": "https://doi.org/10.15468/1a2b3c", + "ods:status": "ods:Active", "schema:version": 1, "schema:name": "Default Mapping for Herbarium of University of Coimbra (COI)", "schema:description": "The default mapping for the Herbarium of the University of Coimbra (COI) to the Darwin Core standard.", "schema:dateCreated": "2021-06-01T12:00:00Z", - "ods:creator": "e2befba6-9324-4bb4-9f41-d7dfae4a44b0", + "ods:creator": { + "@id": "e2befba6-9324-4bb4-9f41-d7dfae4a44b0", + "@type": "schema:Person", + "schema:name": "John Doe" + }, "ods:Mapping": { "ods:DefaultMapping": [ { diff --git a/data-model/fdo-type/data-mapping/0.3.0/examples/tombstoned-data-mapping-example.json b/data-model/fdo-type/data-mapping/0.3.0/examples/tombstoned-data-mapping-example.json new file mode 100644 index 0000000..bd05e3b --- /dev/null +++ b/data-model/fdo-type/data-mapping/0.3.0/examples/tombstoned-data-mapping-example.json @@ -0,0 +1,45 @@ +{ + "@id": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", + "@type": "ods:DataMapping", + "ods:ID": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", + "ods:type": "https://doi.org/10.15468/1a2b3c", + "ods:status": "ods:Tombstone", + "schema:version": 1, + "schema:name": "Default Mapping for Herbarium of University of Coimbra (COI)", + "schema:description": "The default mapping for the Herbarium of the University of Coimbra (COI) to the Darwin Core standard.", + "schema:dateCreated": "2021-06-01T12:00:00Z", + "ods:creator": { + "@id": "e2befba6-9324-4bb4-9f41-d7dfae4a44b0", + "@type": "schema:Person", + "schema:name": "John Doe" + }, + "ods:Mapping": { + "ods:DefaultMapping": [ + { + "ods:physicalSpecimenIdType": "cetaf" + }, + { + "ods:type": "ZoologyVertebrateSpecimen" + }, + { + "ods:organisationId": "https://ror.org/05xg72x27" + } + ], + "ods:FieldMapping": [ + { + "ods:physicalSpecimenId": "dwc:catalogNumber" + } + ] + }, + "ods:mappingDataStandard": "dwc", + "ods:TombstoneMetadata": { + "@type": "ods:Tombstone", + "ods:tombstonedDate": "2023-06-15T14:30:00Z", + "ods:tombstonedReason": "This object was made by mistake", + "ods:TombstonedByAgent": { + "@id": "https://orcid.org/0000-0002-5669-2769", + "@type": "schema:Person", + "schema:name": "John Doe" + } + } +} \ No newline at end of file diff --git a/data-model/fdo-type/data-mapping/0.3.0/schema/data-mapping.json b/data-model/fdo-type/data-mapping/0.3.0/schema/data-mapping.json index f2b3b5b..2997224 100644 --- a/data-model/fdo-type/data-mapping/0.3.0/schema/data-mapping.json +++ b/data-model/fdo-type/data-mapping/0.3.0/schema/data-mapping.json @@ -34,6 +34,14 @@ "https://doi.org/10.15468/1a2b3c" ] }, + "ods:status": { + "enum": [ + "ods:Draft", + "ods:Active", + "ods:Tombstone" + ], + "description": "The status of the Digital Object" + }, "schema:version": { "type": "integer", "minimum": 1, @@ -61,20 +69,10 @@ "2021-06-01T12:00:000Z" ] }, - "ods:dateTombstoned": { - "type": "string", - "description": "Timestamp Mapping was tombstoned and no longer active. Generated on request of the user", - "format": "date-time", - "examples": [ - "2021-06-01T12:00:000Z" - ] - }, - "ods:creator": { + "schema:creator": { "type": "string", "description": "The internal user ID of the creator of the Mapping", - "examples": [ - "e2befba6-9324-4bb4-9f41-d7dfae4a44b0" - ] + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" }, "ods:DefaultMapping": { "type": "array", @@ -111,6 +109,11 @@ "abcd", "abcdefg" ] + }, + "ods:TombstoneMetadata": { + "type": "object", + "description": "Object containing the tombstone metadata of the object", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/tombstone-metadata.json" } }, "required": [ @@ -119,7 +122,7 @@ "ods:type", "schema:version", "schema:dateCreated", - "ods:creator", + "schema:creator", "ods:mappingDataStandard" ], "additionalProperties": false diff --git a/data-model/fdo-type/digital-media/0.3.0/examples/digital-media-example.json b/data-model/fdo-type/digital-media/0.3.0/examples/digital-media-example.json index 6754459..7950e0a 100644 --- a/data-model/fdo-type/digital-media/0.3.0/examples/digital-media-example.json +++ b/data-model/fdo-type/digital-media/0.3.0/examples/digital-media-example.json @@ -3,12 +3,13 @@ "@type": "ods:DigitalMedia", "ods:ID": "https://doi.org/10.22/ABC-DEF-GHI", "ods:version": 1, + "ods:status": "ods:Active", "ods:created": "2024-06-05T12:34:56Z", "ods:type": "https://doi.org/10.15468/1a2b3c", "dcterms:type": "Image", "ac:accessURI": "https://example.org/digital-object/12345", - "dwc:institutionID": "https://ror.org/015hz7p22", - "ods:institutionName": "National Museum of Natural History", + "ods:organisationID": "https://ror.org/015hz7p22", + "ods:organisationName": "National Museum of Natural History", "dcterms:format": "image/jpeg", "dcterms:license": "https://creativecommons.org/licenses/by/4.0/", "dcterms:description": "A high-resolution image of a rare specimen.", diff --git a/data-model/fdo-type/digital-media/0.3.0/examples/tombstoned-digital-media-example.json b/data-model/fdo-type/digital-media/0.3.0/examples/tombstoned-digital-media-example.json new file mode 100644 index 0000000..62cbd84 --- /dev/null +++ b/data-model/fdo-type/digital-media/0.3.0/examples/tombstoned-digital-media-example.json @@ -0,0 +1,34 @@ +{ + "@id": "https://doi.org/10.22/ABC-DEF-GHI", + "@type": "ods:DigitalMedia", + "ods:ID": "https://doi.org/10.22/ABC-DEF-GHI", + "ods:version": 1, + "ods:status": "ods:Tombstoned", + "ods:created": "2024-06-05T12:34:56Z", + "ods:type": "https://doi.org/10.15468/1a2b3c", + "dcterms:type": "Image", + "ac:accessURI": "https://example.org/digital-object/12345", + "ods:organisationID": "https://ror.org/015hz7p22", + "ods:organisationName": "National Museum of Natural History", + "dcterms:format": "image/jpeg", + "dcterms:license": "https://creativecommons.org/licenses/by/4.0/", + "dcterms:description": "A high-resolution image of a rare specimen.", + "dcterms:rights": "Public domain", + "ods:rightsURI": "https://creativecommons.org/publicdomain/zero/1.0/", + "dcterms:accessRights": "Open access", + "dcterms:rightsHolder": "National Museum of Natural History", + "dcterms:source": "Museum archives", + "dcterms:creator": "Dr. John Doe", + "dcterms:created": "2024-06-05", + "dcterms:modified": "2024-06-05", + "ods:TombstoneMetadata": { + "@type": "ods:Tombstone", + "ods:tombstonedDate": "2023-06-15T14:30:00Z", + "ods:tombstonedReason": "This digital media was removed as it showed the wrong specimen", + "ods:TombstonedByAgent": { + "@id": "https://orcid.org/0000-0002-5669-2769", + "@type": "schema:Person", + "schema:name": "John Doe" + } + } +} \ No newline at end of file diff --git a/data-model/fdo-type/digital-media/0.3.0/schema/digital-media.json b/data-model/fdo-type/digital-media/0.3.0/schema/digital-media.json index bb284a6..1403e61 100644 --- a/data-model/fdo-type/digital-media/0.3.0/schema/digital-media.json +++ b/data-model/fdo-type/digital-media/0.3.0/schema/digital-media.json @@ -34,6 +34,14 @@ 1 ] }, + "ods:status": { + "enum": [ + "ods:Draft", + "ods:Active", + "ods:Tombstone" + ], + "description": "The status of the Digital Object" + }, "ods:created": { "type": "string", "description": "The timestamp that the object version was created in DiSSCo", @@ -72,15 +80,15 @@ "examples": [ ] }, - "dwc:institutionID": { + "ods:organisationID": { "type": "string", - "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", + "description": "ROR or Wikidata identifie of the organisation", "pattern": "^(https?:\/\/ror\\.org\/0\\w{6}[0-9]{2})|^(https?:\/\/www\\.wikidata\\.org\/wiki\/Q\\w+)", "examples": [ "https://ror.org/015hz7p22" ] }, - "ods:institutionName": { + "ods:organisationName": { "type": "string", "description": "Full museum name according to ROR or Wikidata", "examples": [ @@ -166,6 +174,11 @@ "type": "object", "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" } + }, + "ods:TombstoneMetadata": { + "type": "object", + "description": "Object containing the tombstone metadata of the object", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/tombstone-metadata.json" } }, "required": [ diff --git a/data-model/fdo-type/digital-specimen/0.3.0/RELEASE_NOTES.md b/data-model/fdo-type/digital-specimen/0.3.0/RELEASE_NOTES.md index b3434df..4688e7a 100644 --- a/data-model/fdo-type/digital-specimen/0.3.0/RELEASE_NOTES.md +++ b/data-model/fdo-type/digital-specimen/0.3.0/RELEASE_NOTES.md @@ -45,9 +45,26 @@ Most of these terms come from the MeasurementOrFact class. Includes more dcterms instead of ods terms. We did not copy the class as our Identifier class is broader and includes additional ods terms. -## Changed dwc:InstitutionName to ods:InstitutionName +## Changed dwc:InstitutionName to ods:OrganisationName Institution name is not part of the Darwin Core standard, so we changed it to ods:InstitutionName. +## Change InstitutionXXX terms to OrganisationXXX +Institution was determined to narrow for the usage. +Organisation fits the purpose better. + +## Added ODS status to all Digital Objects +An object can be in draft, active or tombstone state. + +## Added optional object TombstoneMetadata to all Digital Objects +This object contains information about the tombstone state of the object. +It will be present when the ODS status of the object is tombstone. + +## Reworked the ods:Agent object to be in line with international standards +Make use of schema.org terms for the Agent object. +This makes it more generic and it is now used in all Digital Objects (not just DigitalSpecimen and DigitalMedia0) +It is a bit more generic then it used to be but that also makes it more flexible. +It reduces redundancy between the different Digital Objects + ## Other Small changes in description for some terms. Fixed the regex for some of the terms. \ No newline at end of file diff --git a/data-model/fdo-type/digital-specimen/0.3.0/examples/digital-specimen-bare.json b/data-model/fdo-type/digital-specimen/0.3.0/examples/digital-specimen-bare.json index 6f3df3f..2e5e44b 100644 --- a/data-model/fdo-type/digital-specimen/0.3.0/examples/digital-specimen-bare.json +++ b/data-model/fdo-type/digital-specimen/0.3.0/examples/digital-specimen-bare.json @@ -2,6 +2,7 @@ "@id": "https://doi.org/SANDBOX/XY7-ZMP-5J4", "@type": "ods:DigitalSpecimen", "ods:version": 1, + "ods:status": "ods:Active", "ods:created": "2024-05-29T07:10:56.269509Z", "ods:type": "https://doi.org/21.T11148/894b1e6cad57e921764e", "ods:midsLevel": 1, @@ -19,8 +20,8 @@ "dcterms:modified": "2023/01/24", "dwc:basisOfRecord": "PreservedSpecimen", "dwc:preparations": "skin (air dried)", - "dwc:institutionID": "https://ror.org/0566bfb96", - "dwc:institutionName": "Naturalis Biodiversity Center", + "ods:organisationID": "https://ror.org/0566bfb96", + "ods:organisationName": "Naturalis Biodiversity Center", "dwc:recordedBy": "van Lansberge", "dwc:datasetName": "Naturalis Biodiversity Center (NL) - Aves", "dcterms:rightsHolder": "Naturalis Biodiversity Center", diff --git a/data-model/fdo-type/digital-specimen/0.3.0/examples/tombstoned-digital-specimen.json b/data-model/fdo-type/digital-specimen/0.3.0/examples/tombstoned-digital-specimen.json new file mode 100644 index 0000000..f8add70 --- /dev/null +++ b/data-model/fdo-type/digital-specimen/0.3.0/examples/tombstoned-digital-specimen.json @@ -0,0 +1,144 @@ +{ + "@id": "https://doi.org/SANDBOX/XY7-ZMP-5J4", + "@type": "ods:DigitalSpecimen", + "ods:version": 1, + "ods:status": "ods:Tombstone", + "ods:created": "2024-05-29T07:10:56.269509Z", + "ods:type": "https://doi.org/21.T11148/894b1e6cad57e921764e", + "ods:midsLevel": 1, + "ods:normalisedPhysicalSpecimenID": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559", + "ods:physicalSpecimenID": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559", + "ods:physicalSpecimenIDType": "Resolvable", + "ods:topicOrigin": "Natural", + "ods:topicDomain": "Life", + "ods:topicDiscipline": "Zoology", + "ods:isKnownToContainMedia": true, + "ods:specimenName": "Pitta versicolor Swainson, 1825", + "ods:sourceSystemID": "https://hdl.handle.net/SANDBOX/CS1-ZKQ-NZ7", + "ods:livingOrPreserved": "Preserved", + "dcterms:license": "CC0 1.0", + "dcterms:modified": "2023/01/24", + "dwc:basisOfRecord": "PreservedSpecimen", + "dwc:preparations": "skin (air dried)", + "ods:organisationID": "https://ror.org/0566bfb96", + "ods:organisationName": "Naturalis Biodiversity Center", + "dwc:recordedBy": "van Lansberge", + "dwc:datasetName": "Naturalis Biodiversity Center (NL) - Aves", + "dcterms:rightsHolder": "Naturalis Biodiversity Center", + "ods:hasMaterialEntity": [], + "ods:hasIdentification": [ + { + "@type": "dwc:Identification", + "dwc:verbatimIdentification": "Pitta versicolor concinna Gould, 1857", + "dwc:identifiedBy": "Tan D.", + "dwc:dateIdentified": "2021/12/01", + "dwc:identificationVerificationStatus": true, + "ods:hasTaxonIdentification": [ + { + "@type": "ods:TaxonIdentification", + "dwc:taxonID": "6VM3W", + "dwc:scientificName": "Pitta versicolor Swainson, 1825", + "ods:scientificNameHtmlLabel": "Pitta versicolor Swainson, 1825", + "dwc:scientificNameAuthorship": "Swainson, 1825", + "dwc:namePublishedInYear": "1825", + "dwc:taxonRank": "SPECIES", + "dwc:kingdom": "Animalia", + "dwc:phylum": "Chordata", + "dwc:class": "Aves", + "dwc:order": "Passeriformes", + "dwc:family": "Pittidae", + "dwc:genus": "Pitta Vieillot, 1816", + "dwc:specificEpithet": "versicolor", + "dwc:taxonomicStatus": "ACCEPTED", + "dwc:nomenclaturalCode": "ICZN", + "dwc:genericName": "Pitta" + } + ] + } + ], + "ods:hasAssertion": [], + "ods:hasEvents": [ + { + "@type": "ods:Event", + "dwc:organismQuantity": "1", + "dwc:organismQuantityType": "individuals", + "dwc:lifeStage": "adult", + "dwc:eventDate": "1880-09-01/1880-09-30", + "ods:Assertions": [], + "dcterms:Location": { + "dwc:stateProvince": "Alor", + "ods:GeoReference": { + "dwc:geodeticDatum": "WGS84" + }, + "ods:GeologicalContext": {} + } + } + ], + "ods:hasEntityRelationship": [ + { + "@type": "ods:EntityRelationship", + "ods:entityRelationshipType": "hasOrganisationId", + "ods:objectEntityIri": "https://ror.org/0566bfb96" + }, + { + "@type": "ods:EntityRelationship", + "ods:entityRelationshipType": "hasSourceSystemId", + "ods:objectEntityIri": "https://hdl.handle.net/SANDBOX/CS1-ZKQ-NZ7" + }, + { + "@type": "ods:EntityRelationship", + "ods:entityRelationshipType": "hasFdoType", + "ods:objectEntityIri": "https://doi.org/21.T11148/894b1e6cad57e921764e" + }, + { + "@type": "ods:EntityRelationship", + "ods:entityRelationshipType": "hasPhysicalIdentifier", + "ods:objectEntityIri": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559" + }, + { + "@type": "ods:EntityRelationship", + "ods:entityRelationshipType": "hasColId", + "ods:objectEntityIri": "https://www.catalogueoflife.org/data/taxon/6VM3W", + "ods:entityRelationshipDate": 1716966655568, + "ods:entityRelationshipCreatorName": "dissco-nusearch-service", + "ods:entityRelationshipCreatorId": "https://hdl.handle.net/TEST/123-123-123" + } + ], + "ods:hasCitation": [ + {} + ], + "ods:hasIdentifier": [ + { + "@type": "ods:Identifier", + "ods:identifierType": "dwc:occurrenceID", + "ods:identifierValue": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559" + }, + { + "@type": "ods:Identifier", + "ods:identifierType": "dwca:ID", + "ods:identifierValue": "RMNH.AVES.121559@CRS" + }, + { + "@type": "ods:Identifier", + "ods:identifierType": "dwc:catalogNumber", + "ods:identifierValue": "RMNH.AVES.121559" + } + ], + "ods:hasChronometricAge": [], + "ods:TombstoneMetadata": { + "@type": "ods:Tombstone", + "ods:tombstonedDate": "2023-06-15T14:30:00Z", + "ods:tombstonedReason": "This digital media was removed as it showed the wrong specimen", + "ods:TombstonedByAgent": { + "@id": "https://orcid.org/0000-0002-5669-2769", + "@type": "schema:Person", + "schema:name": "John Doe" + }, + "ods:hasRelatedPID": [ + { + "ods:ID": "https://doi.org/10.1234/abcd", + "ods:relationshipType": "ods:isDuplicateOf" + } + ] + } +} \ No newline at end of file diff --git a/data-model/fdo-type/digital-specimen/0.3.0/schema/digital-specimen.json b/data-model/fdo-type/digital-specimen/0.3.0/schema/digital-specimen.json index 047747c..e155457 100644 --- a/data-model/fdo-type/digital-specimen/0.3.0/schema/digital-specimen.json +++ b/data-model/fdo-type/digital-specimen/0.3.0/schema/digital-specimen.json @@ -34,6 +34,14 @@ 1 ] }, + "ods:status": { + "enum": [ + "ods:Draft", + "ods:Active", + "ods:Tombstone" + ], + "description": "The status of the Digital Object" + }, "ods:created": { "type": "string", "description": "The timestamp that the object version was created in DiSSCo", @@ -194,22 +202,22 @@ "in collection" ] }, - "dwc:institutionCode": { + "ods:organisationCode": { "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/institutionCode", + "description": "Code used by the organisation", "examples": [ "MNF" ] }, - "dwc:institutionID": { + "ods:organisationID": { "type": "string", - "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", + "description": "ROR or Wikidata identifier of the organisation", "pattern": "^(https?:\/\/ror\\.org\/0\\w{6}[0-9]{2})|^(https?:\/\/www\\.wikidata\\.org\/wiki\/Q\\w+)", "examples": [ "https://ror.org/015hz7p22" ] }, - "ods:institutionName": { + "ods:organisationName": { "type": "string", "description": "Full museum name according to ROR or Wikidata", "examples": [ @@ -244,9 +252,9 @@ "Coordinates generalized from original GPS coordinates to the nearest half degree grid cell." ] }, - "dwc:ownerInstitutionCode": { + "ods:ownerOrganisationCode": { "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/ownerInstitutionCode", + "description": "The name used by the organisation having ownership of the object", "examples": [ "InBio" ] @@ -412,6 +420,11 @@ "type": "object", "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" } + }, + "ods:TombstoneMetadata": { + "type": "object", + "description": "Object containing the tombstone metadata of the object", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/tombstone.json" } }, "required": [ @@ -426,7 +439,7 @@ "ods:physicalSpecimenID", "ods:physicalSpecimenIDType", "ods:sourceSystemID", - "dwc:institutionID" + "ods:organisationID" ], "additionalProperties": false } \ No newline at end of file diff --git a/data-model/fdo-type/digital-specimen/0.3.0/schema/material-entity.json b/data-model/fdo-type/digital-specimen/0.3.0/schema/material-entity.json index 64f1587..722ad16 100644 --- a/data-model/fdo-type/digital-specimen/0.3.0/schema/material-entity.json +++ b/data-model/fdo-type/digital-specimen/0.3.0/schema/material-entity.json @@ -42,22 +42,22 @@ "in collection" ] }, - "dwc:institutionCode": { + "ods:organisationCode": { "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/institutionCode", + "description": "Code used by the organisation", "examples": [ "MNF" ] }, - "dwc:institutionID": { + "ods:organisationID": { "type": "string", + "description": "ROR or Wikidata identifier of the organisation", "pattern": "^(https?:\/\/ror\\.org\/0\\w{6}[0-9]{2})|^(https?:\/\/www\\.wikidata\\.org\/wiki\/Q\\w+)", - "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", "examples": [ "https://ror.org/015hz7p22" ] }, - "ods:institutionName": { + "ods:organisationName": { "type": "string", "description": "Full museum name according to ROR or Wikidata", "examples": [ @@ -78,9 +78,9 @@ "https://www.gbif.org/grscicoll/collection/fbd3ed74-5a21-4e01-b86a-33d36f032d9c" ] }, - "dwc:ownerInstitutionCode": { + "ods:ownerOrganisationCode": { "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/ownerInstitutionCode", + "description": "The name used by the organisation having ownership of the object", "examples": [ "InBio" ] diff --git a/data-model/fdo-type/machine-annotation-service/0.3.0/examples/mas-example.json b/data-model/fdo-type/machine-annotation-service/0.3.0/examples/mas-example.json index d9f40c1..62df43a 100644 --- a/data-model/fdo-type/machine-annotation-service/0.3.0/examples/mas-example.json +++ b/data-model/fdo-type/machine-annotation-service/0.3.0/examples/mas-example.json @@ -3,12 +3,16 @@ "@type": "ods:MachineAnnotationService", "ods:ID": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", "ods:type": "https://doi.org/10.15468/1a2b3c", + "ods:status": "ods:Active", "schema:version": 1, "schema:name": "GBIF Linker Service", "schema:description": "A service that links GBIF records to a DiSSCo Digital Specimen. It creates an EntityRelationship indicating the relationship", "schema:dateCreated": "2021-06-01T12:00:01Z", - "ods:dateTombstoned": "2023-01-01T12:00:01Z", - "ods:creator": "e2befba6-9324-4bb4-9f41-d7dfae4a44b0", + "schema:creator": { + "@id": "e2befba6-9324-4bb4-9f41-d7dfae4a44b0", + "@type": "schema:Person", + "schema:name": "John Doe" + }, "ods:containerImage": "public.ecr.aws/dissco/mindat-georeferencing", "ods:containerTag": "sha-cb76994", "ods:TargetDigitalObjectFilter": { @@ -31,8 +35,8 @@ "schema:programmingLanguage": "Python", "ods:serviceAvailability": "99.9%", "schema:maintainer": { - "@type": "Organization", - "schema:identifier": "https://ror.org/04wxnsj81", + "@id": "https://ror.org/04wxnsj81", + "@type": "schema:Organization", "schema:name": "DiSSCo", "schema:email": "contact@dissco.eu", "schema:url": "https://www.dissco.eu" diff --git a/data-model/fdo-type/machine-annotation-service/0.3.0/schema/mas.json b/data-model/fdo-type/machine-annotation-service/0.3.0/schema/mas.json index 41c9f39..1c8047b 100644 --- a/data-model/fdo-type/machine-annotation-service/0.3.0/schema/mas.json +++ b/data-model/fdo-type/machine-annotation-service/0.3.0/schema/mas.json @@ -35,6 +35,14 @@ "https://doi.org/10.15468/1a2b3c" ] }, + "ods:status": { + "enum": [ + "ods:Draft", + "ods:Active", + "ods:Tombstone" + ], + "description": "The status of the Digital Object" + }, "schema:version": { "type": "integer", "minimum": 1, @@ -62,20 +70,10 @@ "2021-06-01T12:00:000Z" ] }, - "ods:dateTombstoned": { - "type": "string", - "description": "Timestamp Machine Annotation Service was tombstoned and no longer active. Generated on request of the user", - "format": "date-time", - "examples": [ - "2021-06-01T12:00:000Z" - ] - }, - "ods:creator": { + "schema:creator": { "type": "string", - "description": "The internal user ID of the creator of the Machine Annotation Service", - "examples": [ - "e2befba6-9324-4bb4-9f41-d7dfae4a44b0" - ] + "description": "The agent responsible for creating the Machine Annotation Service", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" }, "ods:containerImage": { "type": "string", @@ -138,34 +136,8 @@ }, "schema:maintainer": { "type": "object", - "description": "Party maintaining the code", - "properties": { - "@type": { - "description": "Type of the maintainer, https://schema.org/type", - "enum": [ - "Person", - "Organization" - ] - }, - "schema:identifier": { - "type": "string", - "description": "Identifier of the maintainer, https://schema.org/identifier. Recommendation to use ROR or ORCID" - }, - "schema:name": { - "type": "string", - "description": "Name of the maintainer, https://schema.org/name" - }, - "schema:email": { - "type": "string", - "format": "email", - "description": "Email of the maintainer, https://schema.org/email" - }, - "schema:url": { - "type": "string", - "format": "url", - "description": "URL of the maintainer, https://schema.org/url" - } - } + "description": "Party maintaining the code, could be an schema:Organisation or a schema:Person", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" }, "schema:license": { "type": "string", @@ -227,6 +199,11 @@ "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." + }, + "ods:TombstoneMetadata": { + "type": "object", + "description": "Object containing the tombstone metadata of the object", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/tombstone.json" } }, "required": [ diff --git a/data-model/fdo-type/shared-model/0.3.0/examples/tombstone-metadata-example.json b/data-model/fdo-type/shared-model/0.3.0/examples/tombstone-metadata-example.json new file mode 100644 index 0000000..e26bbd8 --- /dev/null +++ b/data-model/fdo-type/shared-model/0.3.0/examples/tombstone-metadata-example.json @@ -0,0 +1,21 @@ +{ + "@type": "ods:Tombstone", + "ods:tombstonedDate": "2023-06-15T14:30:00Z", + "ods:tombstonedReason": "This object was made by mistake", + "ods:TombstonedByAgent": { + "@id": "https://example.org/agents/agent123", + "@type": "schema:Person", + "schema:name": "John Doe", + "schema:email": "john.doe@example.org" + }, + "ods:hasRelatedPID": [ + { + "ods:ID": "https://doi.org/10.1234/abcd", + "ods:relationshipType": "ods:isDuplicateOf" + }, + { + "ods:ID": "https://doi.org/10.5678/efgh", + "ods:relationshipType": "ods:relatedTo" + } + ] +} \ No newline at end of file diff --git a/data-model/fdo-type/shared-model/0.3.0/schema/agent.json b/data-model/fdo-type/shared-model/0.3.0/schema/agent.json index abfef14..03ae317 100644 --- a/data-model/fdo-type/shared-model/0.3.0/schema/agent.json +++ b/data-model/fdo-type/shared-model/0.3.0/schema/agent.json @@ -7,61 +7,55 @@ "properties": { "@id": { "type": "string", - "description": "The identifier for the Agent object." - }, - "@type": { - "type": "string", - "const": "ods:Agent", - "description": "The type of the digital object, in this case a ods:Agent" - }, - "ods:agentRole": { - "type": "string", - "description": "Indicates the role of the agent", + "description": "The identifier for the Agent object", "examples": [ - "collector", - "preparer", - "identifier", - "recorder" + "http://www.wikidata.org/entity/Q66581882", + "https://orcid.org/0000-0002-1825-0097", + "https://hdl.handle.net/20.5000.1025/XXX-XXX-XXX" ] }, - "ods:agentType": { - "type": "string", - "description": "Indicates the type of agent", - "examples": [ - "machine", - "human", - "organisation" - ] + "@type": { + "enum": [ + "schema:Person", + "schema:Organisation", + "as:Application", + "prov:Person", + "prov:SoftwareAgent" + ], + "description": "The type of the agent, the prov ontology is only used in the prov-o createUpdateTombstoneEvent" }, - "ods:agentID": { + "schema:name": { "type": "string", - "description": "Primary identifier of the agent, additional identifiers can go in the identifiers array", + "description": "Full name of the agent", "examples": [ - "https://orcid.org/0000-0002-1825-0097" + "John Smith" ] }, - "ods:agentName": { + "schema:roleName": { "type": "string", - "description": "Full name of the agent", + "description": "Indicates the role of the agent, https://schema.org/roleName", "examples": [ - "John Smith" + "collector", + "preparer", + "identifier", + "recorder" ] }, - "ods:agentRoleBegan": { + "schema:startDate": { "type": "string", "description": "Date the agent began the role", "examples": [ "2023-10-02T12:31:34.806Z" ] }, - "ods:agentRoleEnded": { + "schema:endDate": { "type": "string", "description": "Date the agent ended the role", "examples": [ "2023-09-02T12:31:34.806Z" ] }, - "ods:agentRoleOrder": { + "ods:roleOrder": { "type": "integer", "description": "Order of the agent in the role. Can be used to indicate the order of importance", "minimum": 1, @@ -70,6 +64,16 @@ 2 ] }, + "schema:email": { + "type": "string", + "format": "email", + "description": "Email of the agent, can be present in case the agent is a maintainer of a MAS" + }, + "schema:url": { + "type": "string", + "format": "url", + "description": "URL of the agent, can be present in case the agent is a maintainer of a MAS" + }, "ods:hasIdentifier": { "type": "array", "description": "Contains zero or more ods:Identifier objects", @@ -81,9 +85,7 @@ }, "required": [ "@type", - "ods:agentRole", - "ods:agentType", - "ods:agentName" + "schema:name" ], "additionalProperties": false } \ No newline at end of file diff --git a/data-model/fdo-type/shared-model/0.3.0/schema/assertion.json b/data-model/fdo-type/shared-model/0.3.0/schema/assertion.json index 682353e..a20245f 100644 --- a/data-model/fdo-type/shared-model/0.3.0/schema/assertion.json +++ b/data-model/fdo-type/shared-model/0.3.0/schema/assertion.json @@ -86,13 +86,10 @@ "http://vocab.nerc.ac.uk/collection/P06/current/UMSQ/" ] }, - "ods:assertionByAgentName": { - "type": "string", - "description": "Name of the agent who made the assertion" - }, - "ods:assertionByAgentID": { - "type": "string", - "description": "ID of the agent who made the assertion, recommended to be a ORCID or Wikidata identifier" + "ods:AssertionByAgent": { + "type": "object", + "description": "The agent who made the assertion", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" }, "ods:assertionProtocol": { "type": "string", diff --git a/data-model/fdo-type/shared-model/0.3.0/schema/citation.json b/data-model/fdo-type/shared-model/0.3.0/schema/citation.json index 576b31c..cac1a56 100644 --- a/data-model/fdo-type/shared-model/0.3.0/schema/citation.json +++ b/data-model/fdo-type/shared-model/0.3.0/schema/citation.json @@ -33,7 +33,8 @@ }, "dcterms:creator": { "type": "string", - "description": "https://purl.org/dc/elements/1.1/creator" + "description": "The creator of the citation", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" }, "ods:citationPageNumber": { "type": "string", diff --git a/data-model/fdo-type/shared-model/0.3.0/schema/entity-relationship.json b/data-model/fdo-type/shared-model/0.3.0/schema/entity-relationship.json index b66514a..f9ae3e0 100644 --- a/data-model/fdo-type/shared-model/0.3.0/schema/entity-relationship.json +++ b/data-model/fdo-type/shared-model/0.3.0/schema/entity-relationship.json @@ -59,6 +59,11 @@ 1 ] }, + "ods:RelationshipAccordingToAgent": { + "type": "object", + "description": "The agent who created the entity relationship", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" + }, "dwc:relationshipAccordingTo": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/relationshipAccordingTo", @@ -66,13 +71,6 @@ "Sam Leeflang" ] }, - "ods:relationshipAccordingToID": { - "type": "string", - "description": "The PID of the creator, this could be a Orcid(user), PID(machine) or ROR(organisation)", - "examples": [ - "https://orcid.org/0000-0002-5669-2769" - ] - }, "dwc:relationshipRemarks": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/relationshipRemarks", diff --git a/data-model/fdo-type/shared-model/0.3.0/schema/tombstone-metadata.json b/data-model/fdo-type/shared-model/0.3.0/schema/tombstone-metadata.json new file mode 100644 index 0000000..961cd79 --- /dev/null +++ b/data-model/fdo-type/shared-model/0.3.0/schema/tombstone-metadata.json @@ -0,0 +1,67 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/tombstone-metadata.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "Tombstone Metadata object Version 0.3.0", + "title": "Tombstone Metadata", + "type": "object", + "description": "Metadata contains information on why, when and by whom a digital object was tombstoned", + "properties": { + "@type": { + "type": "string", + "const": "ods:Tombstone", + "description": "The type of the record, in this case a ods:Tombstone" + }, + "ods:tombstonedDate": { + "type": "string", + "description": "Timestamp the Digital Object was tombstoned and no longer active.", + "format": "date-time", + "examples": [ + "2021-06-01T12:00:000Z" + ] + }, + "ods:tombstonedReason": { + "type": "string", + "description": "A reason why the Digital Object was tombstoned", + "examples": [ + "This is a duplicate of XXX", + "This object was made by mistake" + ] + }, + "ods:TombstonedByAgent": { + "type": "object", + "description": "The agent who tombstoned the object", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" + }, + "ods:hasRelatedPID": { + "type": "array", + "description": "The PIDs of the object the tombstoned object is related to", + "items": { + "type": "object", + "properties": { + "ods:ID": { + "type": "string", + "description": "The PID of the related object", + "examples": [ + "https://doi.org/10.1234/abcd" + ] + }, + "ods:relationshipType": { + "type": "string", + "description": "The type of relationship between the tombstoned object and the related object", + "examples": [ + "ods:relatedTo", + "ods:isDuplicateOf" + ] + } + } + } + } + }, + "required": [ + "@type", + "ods:tombstonedDate", + "ods:tombstonedReason", + "ods:TombstonedByAgent" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/data-model/fdo-type/source-system/0.3.0/examples/source-system-example.json b/data-model/fdo-type/source-system/0.3.0/examples/source-system-example.json index 0c79266..adf3605 100644 --- a/data-model/fdo-type/source-system/0.3.0/examples/source-system-example.json +++ b/data-model/fdo-type/source-system/0.3.0/examples/source-system-example.json @@ -3,11 +3,16 @@ "@type": "ods:SourceSystem", "ods:ID": "https://hdl.handle.net/20.5000.1025/ABC-DEF-GHI", "ods:type": "https://doi.org/10.15468/1a2b3c", + "ods:status": "ods:Active", "schema:version": 1, "schema:name": "Herbarium of University of Coimbra (COI)", "schema:description": "The herbarium collection of the University of Coimbra is one of the oldest in Portugal, with specimens dating back to the 18th century.", "schema:dateCreated": "2021-06-01T12:00:00Z", - "ods:creator": "e2befba6-9324-4bb4-9f41-d7dfae4a44b0", + "schema:creator": { + "@id": "e2befba6-9324-4bb4-9f41-d7dfae4a44b0", + "@type": "schema:Person", + "schema:name": "John Doe" + }, "schema:url": "http://ipt.gbif.pt/ipt/archive.do?r=coi", "ltc:collectionManagementSystem": "Specify 7", "ods:translatorType": "dwca", diff --git a/data-model/fdo-type/source-system/0.3.0/schema/source-system.json b/data-model/fdo-type/source-system/0.3.0/schema/source-system.json index 64c05a9..80eee7c 100644 --- a/data-model/fdo-type/source-system/0.3.0/schema/source-system.json +++ b/data-model/fdo-type/source-system/0.3.0/schema/source-system.json @@ -34,6 +34,14 @@ "https://doi.org/10.15468/1a2b3c" ] }, + "ods:status": { + "enum": [ + "ods:Draft", + "ods:Active", + "ods:Tombstone" + ], + "description": "The status of the Digital Object" + }, "schema:version": { "type": "integer", "minimum": 1, @@ -61,20 +69,10 @@ "2021-06-01T12:00:000Z" ] }, - "ods:dateTombstoned": { + "schema:creator": { "type": "string", - "description": "Timestamp SourceSystem was tombstoned and no longer active. Generated on request of the user", - "format": "date-time", - "examples": [ - "2021-06-01T12:00:000Z" - ] - }, - "ods:creator": { - "type": "string", - "description": "The internal user ID of the creator of the Source System", - "examples": [ - "e2befba6-9324-4bb4-9f41-d7dfae4a44b0" - ] + "description": "The creator of the Source System", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json" }, "schema:url": { "type": "string", @@ -105,6 +103,11 @@ "examples": [ "https://hdl.handle.net/20.5000.1025/XXX-XXX-XXX" ] + }, + "ods:TombstoneMetadata": { + "type": "object", + "description": "Object containing the tombstone metadata of the object", + "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/tombstone.json" } }, "required": [ @@ -113,7 +116,7 @@ "ods:type", "schema:version", "schema:dateCreated", - "ods:creator", + "schema:creator", "schema:uri", "ods:translatorType", "ods:mappingID"