Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 0.3.0 for specimen and media #94

Merged
merged 12 commits into from
Jun 7, 2024
6 changes: 5 additions & 1 deletion data-model/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,8 @@ COPY ./fdo-types/0.1.0/mappings/schema schema-root/schemas/fdo-types/0.1.0/mappi
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 ./fdo-types/0.2.0/digital-specimens/schema schema-root/schemas/digitalobjects/0.2.0/digital-specimens
COPY ./fdo-types/0.2.0/digital-specimens/schema schema-root/schemas/fdo-types/0.2.0/digital-specimens

COPY ./fdo-types/0.3.0/digital-specimens/schema schema-root/schemas/fdo-types/0.3.0/digital-specimens
COPY ./fdo-types/0.3.0/shared-models/schema schema-root/schemas/fdo-types/0.3.0/shared-models
COPY ./fdo-types/0.3.0/digital-media-objects/schema schema-root/schemas/fdo-types/0.3.0/digital-media-objects
53 changes: 53 additions & 0 deletions data-model/fdo-types/0.3.0/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Release Notes

New version 0.3.0 for all files concerning the digital specimen.

## ODS Prefix
ODS prefix for all terms which still weren't assigned to a ontology.

## ID capitalised
All terms that contain ID are now capitalised, for example `ods:ID` instead of `ods:id`.
This makes it more in line with Darin Core from which we borrow most of our terms.

## Added Organism terms
Added terms for dwc:Organism class and put them on the top level.
They can be used to indicate that this specimen is from a particular organism.
We could use this to group all specimen from a single organism together.

## Updated classes to be in line with best practices
All class are now capitalised.
When there will a property contains an array of classes it will start with `has`.
So the term `ods:hasIdentification` will contain an array of `ods:Identification` classes.
If the property contains a single class it will just be the capitalised class name.

## Updated ODS boolean field to use the format isXYZ
As the terms which contain an array of object are called hasXYZ we needed a new format for boolean fields.
We followed LTC and use the format isXYZ for boolean fields.

## Classes are singular
All classes are now singular, for example `ods:Identification` instead of `ods:Identification`.
This also changed the file names to singular `citations.json` became `citation.json`

## Added jsonld properties
Each class now contains a required `@type` property to indicate the type of the class.
Optionally (except for the `ods:DigitalSpecimen` class) a `@id` property which can be used for the identifier.
This is an additional property, it does not replace the id terms, such as `dwc:taxonID`.

## EntityRelationship contains Darwin Core terms
Instead of using new ODS terms we will reuse Darwin Core terms for indicating relationships.
Most new terms come from the Darwin Core ResourceRelationship class.

## Assertion contains Darwin Core terms
Instead of minting new Assertion terms in the ODS namespace we decided to reuse Darwin Core terms.
Most of these terms come from the MeasurementOrFact class.

## Identifier more based on gbif:AlternativeIdentifier DWCA extension
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
Institution name is not part of the Darwin Core standard, so we changed it to ods:InstitutionName.

## Other
Small changes in description for some terms.
Fixed the regex for some of the terms.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"@id": "https://doi.org/10.22/ABC-DEF-GHI",
"@type": "ods:DigitalSpecimen",
"ods:ID": "https://doi.org/10.22/ABC-DEF-GHI",
"ods:version": 1,
"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",
"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"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
{
"$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/digital-media-objects/digital-entity.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$comment": "Digital Entity Version 0.3.0",
"type": "object",
"properties": {
"@id": {
"type": "string",
"description": "The unique identifier of the object",
"pattern": "^https:\/\/doi\\.org\/[\\w\\.]+\/(\\w){3}-(\\w){3}-(\\w){3}",
"examples": [
"https://doi.org/10.22/XXX-XXX-XXX"
]
},
"@type": {
"type": "string",
"description": "The type of the object, in this cas ods:DigitalEntity",
"const": "ods:DigitalEntity"
},
"ods:ID": {
"type": "string",
"description": "The unique digital identifier of the object",
"pattern": "^https://doi\\.org/[\\w\\.]+/(\\w){3}-(\\w){3}-(\\w){3}",
"examples": [
"https://hdl.handle.net.org/20.5000.1025/XXX-XXX-XXX"
]
},
"ods:version": {
"type": "integer",
"description": "The version of the object, each change generates a new version",
"minimum": 1,
"examples": [
1
]
},
"ods:created": {
"type": "string",
"description": "The timestamp that the object version was created in DiSSCo",
"format": "date-time",
"examples": [
]
},
"ods:type": {
"type": "string",
"description": "The DOI to the FDO type of the object",
"pattern": "^https://doi\\.org/[\\w\\.]+/(\\w){3}-(\\w){3}-(\\w){3}",
"examples": [
"https://doi.org/10.15468/1a2b3c"
]
},
"dcterms:type": {
"description": "https://purl.org/dc/terms/type",
"enum": [
"Collection",
"Dataset",
"Event",
"Image",
"InteractiveResource",
"MovingImage",
"PhysicalObject",
"Service",
"Software",
"Sound",
"StillImage",
"Text"
]
},
"ac:accessURI": {
"type": "string",
"description": "https://rs.tdwg.org/ac/terms/accessURI",
"examples": [
]
},
"dwc:institutionID": {
"type": "string",
"description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID",
"pattern": "^(https?:\/\/ror\\.org\/0\\w{6}[0-9]{2})|^(https?:\/\/www\\.wikidata\\.org\/wiki\/Q\\w+)",
"examples": [
"https://ror.org/015hz7p22"
]
},
"ods:institutionName": {
"type": "string",
"description": "Full museum name according to ROR or Wikidata",
"examples": [
"National Museum of Natural History"
]
},
"dcterms:format": {
"type": "string",
"description": "https://purl.org/dc/terms/format"
},
"dcterms:license": {
"type": "string",
"description": "https://purl.org/dc/terms/license"
},
"dcterms:description": {
"type": "string",
"description": "https://purl.org/dc/terms/description"
},
"dcterms:rights": {
"type": "string",
"description": "https://purl.org/dc/terms/rights"
},
"dcterms:accessRights": {
"type": "string",
"description": "https://purl.org/dc/terms/accessRights"
},
"dcterms:rightsHolder": {
"type": "string",
"description": "https://purl.org/dc/terms/rightsHolder"
},
"dcterms:source": {
"type": "string",
"description": "https://purl.org/dc/terms/source"
},
"dcterms:creator": {
"type": "string",
"description": "https://purl.org/dc/elements/1.1/creator"
},
"dcterms:created": {
"type": "string",
"description": "https://purl.org/dc/terms/created"
},
"dcterms:modified": {
"type": "string",
"description": "https://purl.org/dc/terms/modified"
},
"ods:hasAssertion": {
"type": "array",
"items": {
"type": "object",
"$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertion.json"
}
},
"ods:hasCitation": {
"type": "array",
"items": {
"type": "object",
"$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citation.json"
}
},
"ods:hasIdentifier": {
"type": "array",
"items": {
"type": "object",
"$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifier.json"
}
},
"ods:hasEntityRelationship": {
"type": "array",
"items": {
"type": "object",
"$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationship.json"
}
},
"ods:hasAgent": {
"type": "array",
"items": {
"type": "object",
"$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/agent.json"
}
}
},
"required": [
"@id",
"@type",
"ods:ID",
"ods:version",
"ods:created",
"ac:accessURI"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"@id": "7cd7b542-5053-4d9c-a698-ff4f9f6e6fd0",
"@type": "ods:ChronometricAge",
"chrono:chronometricAgeID": "7cd7b542-5053-4d9c-a698-ff4f9f6e6fd0",
"chrono:uncalibratedChronometricAge": "150 BP",
"chrono:earliestChronometricAge": 2500,
"chrono:earliestChronometricAgeReferenceSystem": "BP",
"chrono:latestChronometricAge": 3000,
"chrono:latestChronometricAgeReferenceSystem": "BP",
"chrono:chronometricAgeUncertaintyInYears": 500,
"chrono:materialDated": "Pottery"
}
Loading
Loading