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/digitalobjects/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
50 changes: 50 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,50 @@
# Release Notes
southeo marked this conversation as resolved.
Show resolved Hide resolved

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:hasIdentifications` will contain an array of `ods:Identification` classes.
If the property contains a single class it will just be the capitalised class name.

## Classes are singular
All classes are now singular, for example `ods:Identification` instead of `ods:Identifications`.
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.

southeo marked this conversation as resolved.
Show resolved Hide resolved
## Other
Small changes in description for some terms.
dwc:institutionName is not a Darwin Core term, converted to ods:institutionName.
southeo marked this conversation as resolved.
Show resolved Hide resolved
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,182 @@
{
"$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": "DigitalObject Version 0.3.0",
"type": "object",
"properties": {
"@id": {
"type": "string",
"description": "The unique identifier of the object",
"pattern": "https:\\/\\/doi\\.org\\/10\\.\\d+\\/[-\\w]+",
"examples": [
"https://doi.org/10.22/XXX-XXX-XXX"
]
},
"@type": {
"type": "string",
"description": "The type of the object",
"const": "ods:DigitalEntity"
},
"ods:ID": {
southeo marked this conversation as resolved.
Show resolved Hide resolved
"type": "string",
"description": "The unique digital identifier of the object",
"pattern": "https:\\/\\/doi\\.org\\/10\\.\\d+\\/[-\\w]+",
"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": 0,
southeo marked this conversation as resolved.
Show resolved Hide resolved
"examples": [
1
]
},
"ods:created": {
"type": "string",
"description": "The timestamp that the object version was created in DiSSCo",
"format": "date-time",
"examples": [
]
TomDijkema marked this conversation as resolved.
Show resolved Hide resolved
},
"ods:type": {
"type": "string",
"description": "The DOI or handle to the FDO type of the object",
southeo marked this conversation as resolved.
Show resolved Hide resolved
"pattern": "https:\\/\\/doi\\.org\\/10\\.\\d+\\/[-\\w]+",
"examples": [
"https://doi.org/10.15468/1a2b3c"
]
},
"dcterms:type": {
"type": "string",
southeo marked this conversation as resolved.
Show resolved Hide resolved
"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",
southeo marked this conversation as resolved.
Show resolved Hide resolved
"pattern": "^(https:\\/\\/ror.org\\/\\w{9})|(https:\\/\\/www.wikidata.org/wiki/Q\\w{6})",
"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",
"$comment": "Create a enum for this?"
southeo marked this conversation as resolved.
Show resolved Hide resolved
},
"dcterms:license": {
"type": "string",
"description": "https://purl.org/dc/terms/license"
},
"dcterms:description": {
"type": "string",
"description": "https://purl.org/dc/terms/description"
},
"dcterms:rights": {
southeo marked this conversation as resolved.
Show resolved Hide resolved
"type": "string",
"description": "https://purl.org/dc/terms/rights",
"$comment": "What is the difference with dcterms:license?"
},
"ods:rightsURI": {
"type": "string",
"format": "uri",
"$comment": "What is the difference with dcterms:license? or dcterms:rights?. dcterms:rights is already recommended to be a URI"
southeo marked this conversation as resolved.
Show resolved Hide resolved
},
"dcterms:accessRights": {
"type": "string",
"description": "https://purl.org/dc/terms/accessRights",
"$comment": "What is the difference with dcterms:license?"
},
"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": "Potery"
southeo marked this conversation as resolved.
Show resolved Hide resolved
}
Loading
Loading