Digital Specimen Core Resources

Digital Specimen Resources

This page contains an assortment of resources to help explain the structure and relationship of the Digital Media object.

Diagrams

Class Diagrams

                            classDiagram
 class DigitalSpecimen { 
   dcterms:identifier : string 
   ods:version : integer 
   ods:status : string 
   dcterms:modified : string 
   dcterms:created : string 
   ods:fdoType : string 
   ods:midsLevel : integer 
   ods:normalisedPhysicalSpecimenID : string 
   ods:physicalSpecimenID : string 
   ods:physicalSpecimenIDType : string 
   ods:isKnownToContainMedia : boolean 
   ods:sourceSystemID : string 
   ods:sourceSystemName : string 
   ods:metadataLanguages : array<string> 
   dcterms:license : string 
   dwc:basisOfRecord : string 
   ods:organisationCode : string 
   ods:organisationID : string 
   ods:organisationName : string 
   dwc:collectionCode : string 
   dwc:collectionID : string 
   ods:topicOrigin : string 
   ods:topicDomain : string 
   ods:topicDiscipline : string 
   ods:topicCategory : string 
   ods:specimenName : string 
   dwc:informationWithheld : string 
   dwc:preparations : string 
   dwc:disposition : string 
   ods:isMarkedAsType : boolean 
   dwc:dataGeneralizations : string 
   ods:ownerOrganisationCode : string 
   dwc:datasetName : string 
   dwc:datasetID : string 
   dcterms:accessRights : string 
   dcterms:rightsHolder : string 
   dwc:organismID : string 
   dwc:organismName : string 
   dwc:organismScope : string 
   dwc:organismRemarks : string 
   dwc:organismQuantity : string 
   dwc:organismQuantityType : string 
   dwc:dynamicProperties : string 
   ods:hasSpecimenParts : array<ods:SpecimenPart> 
   ods:hasAssertions : array<ods:Assertion> 
   ods:hasEntityRelationships : array<ods:EntityRelationship> 
   ods:hasIdentifications : array<ods:Identification> 
   ods:hasIdentifiers : array<ods:Identifier> 
   ods:hasCitations : array<ods:Citation> 
   ods:hasAgents : array<ods:Agent> 
   ods:hasEvents : array<ods:Event> 
   ods:hasTombstoneMetadata : object 
 }
 class SpecimenPart { 
   dwc:materialEntityID : string 
   dwc:recordNumber : string 
   dwc:preparations : string 
   ods:isMarkedAsType : boolean 
   ods:topicOrigin : string 
   ods:topicDomain : string 
   ods:topicDiscipline : string 
   ods:topicCategory : string 
   ods:specimenName : string 
   dwc:organismID : string 
   dwc:organismName : string 
   dwc:organismScope : string 
   dwc:organismRemarks : string 
   dwc:organismQuantity : string 
   dwc:organismQuantityType : string 
   ods:hasIdentifications : array<ods:Identification> 
   ods:hasAssertions : array<ods:Assertion> 
   ods:hasIdentifiers : array<ods:Identifier> 
   ods:hasEvents : array<ods:Event> 
   ods:hasAgents : array<ods:Agent> 
   ods:hasChronometricAges : array<ods:ChronometricAge> 
 }
 class Identification { 
   dwc:identificationID : string 
   ods:identificationType : string 
   dwc:verbatimIdentification : string 
   dwc:typeStatus : string 
   dwc:dateIdentified : string 
   ods:isVerifiedIdentification : boolean 
   dwc:identificationRemarks : string 
   dwc:identificationQualifier : string 
   ods:hasAgents : array<ods:Agent> 
   ods:hasCitations : array<ods:Citation> 
   ods:hasTaxonIdentifications : array<ods:TaxonIdentification> 
 }
 class Event { 
   dwc:behavior : string 
   dwc:sex : string 
   dwc:lifeStage : string 
   dwc:reproductiveCondition : string 
   dwc:caste : string 
   dwc:vitality : string 
   dwc:establishmentMeans : string 
   dwc:pathway : string 
   dwc:degreeOfEstablishment : string 
   dwc:georeferenceVerificationStatus : string 
   dwc:fieldNumber : string 
   dwc:eventType : string 
   dwc:eventDate : string 
   dwc:eventTime : string 
   dwc:endDayOfYear : integer 
   dwc:startDayOfYear : integer 
   dwc:verbatimEventDate : string 
   dwc:year : integer 
   dwc:month : integer 
   dwc:day : integer 
   dwc:habitat : string 
   eco:protocolDescriptions : string 
   dwc:sampleSizeValue : number 
   dwc:sampleSizeUnit : string 
   dwc:samplingProtocol : string 
   dwc:samplingEffort : string 
   dwc:fieldNotes : string 
   dwc:eventRemarks : string 
   ods:hasAssertions : array<ods:Assertion> 
   ods:hasLocation : object 
 }
 class Location { 
   dwc:locationID : string 
   dwc:continent : string 
   dwc:waterBody : string 
   dwc:islandGroup : string 
   dwc:island : string 
   dwc:country : string 
   dwc:countryCode : string 
   dwc:stateProvince : string 
   dwc:county : string 
   dwc:municipality : string 
   dwc:locality : string 
   dwc:verbatimLocality : string 
   dwc:minimumElevationInMeters : number 
   dwc:higherGeographyID : string 
   dwc:higherGeography : string 
   dwc:maximumElevationInMeters : number 
   dwc:verbatimElevation : string 
   dwc:minimumDistanceAboveSurfaceInMeters : number 
   dwc:maximumDistanceAboveSurfaceInMeters : number 
   dwc:minimumDepthInMeters : number 
   dwc:maximumDepthInMeters : number 
   dwc:verbatimDepth : string 
   dwc:verticalDatum : string 
   dwc:locationAccordingTo : string 
   dwc:locationRemarks : string 
   ods:hasGeoreference : object 
   ods:hasGeologicalContext : object 
 }
 class Agent { 
   schema:identifier : string 
   schema:name : string 
   ods:hasRoles : array<ods:Role> 
   schema:email : string 
   schema:url : string 
   ods:hasIdentifiers : array<ods:Identifier> 
 }
 class Role { 
   schema:roleName : string 
   schema:startDate : string 
   schema:endDate : string 
   schema:position : integer 
 }
 class Assertion { 
   dwc:measurementID : string 
   dwc:parentMeasurementID : string 
   dwc:measurementType : string 
   dwciri:measurementType : string 
   dwc:measurementDeterminedDate : string 
   dwc:measurementValue : string 
   dwciri:measurementValue : string 
   dwc:measurementAccuracy : string 
   dwc:measurementUnit : string 
   dwciri:measurementUnit : string 
   dwc:measurementMethod : string 
   dwciri:measurementMethod : string 
   dwc:measurementRemarks : string 
   ods:hasAgents : object 
   ods:hasCitations : array<ods:Citation> 
 }
 class Citation { 
   dcterms:identifier : string 
   dcterms:type : string 
   dcterms:date : string 
   dcterms:title : string 
   ods:pageNumber : string 
   dcterms:description : string 
   dcterms:bibliographicCitation : string 
   ods:isPeerReviewed : boolean 
   ods:hasAgents : object 
 }
 class EntityRelationship { 
   dwc:relationshipOfResource : string 
   dwc:relationshipOfResourceID : string 
   dwc:relatedResourceID : string 
   ods:relatedResourceURI : string 
   dwc:relationshipEstablishedDate : string 
   dwc:relationshipRemarks : string 
   ods:hasAgents : object 
 }
 class Identifier { 
   dcterms:title : string 
   dcterms:type : string 
   dcterms:identifier : string 
   dcterms:format : array<string> 
   dcterms:subject : array<string> 
   ods:isPartOfLabel : boolean 
   ods:gupriLevel : string 
   ods:identifierStatus : string 
 }
 class ChronometricAge { 
   chrono:chronometricAgeID : string 
   chrono:verbatimChronometricAge : string 
   chrono:uncalibratedChronometricAge : string 
   chrono:chronometricAgeConversionProtocol : string 
   chrono:earliestChronometricAge : integer 
   chrono:earliestChronometricAgeReferenceSystem : string 
   chrono:latestChronometricAge : integer 
   chrono:latestChronometricAgeReferenceSystem : string 
   chrono:chronometricAgeUncertaintyInYears : integer 
   chrono:chronometricAgeUncertaintyMethod : string 
   chrono:materialDated : string 
   chrono:materialDatedID : string 
   chrono:materialDatedRelationship : string 
   chrono:chronometricAgeDeterminedDate : string 
   chrono:chronometricAgeReferences : string 
   chrono:chronometricAgeRemarks : string 
 }
 class TombstoneMetadata { 
   ods:tombstoneDate : string 
   ods:tombstoneText : string 
   ods:hasAgents : object 
   ods:hasRelatedPIDs : array<ods:RelatedPID> 
 }
 class RelatedPID { 
   dcterms:identifier : string 
   schema:identifier : string 
   ods:relationshipType : string 
 }
 class TaxonIdentification { 
   dwc:taxonID : string 
   dwc:scientificName : string 
   dwc:scientificNameID : string 
   ods:scientificNameHTMLLabel : string 
   dwc:scientificNameAuthorship : string 
   dwc:namePublishedInYear : string 
   dwc:taxonRank : string 
   dwc:verbatimTaxonRank : string 
   dwc:taxonRemarks : string 
   dwc:kingdom : string 
   dwc:phylum : string 
   dwc:class : string 
   dwc:order : string 
   dwc:family : string 
   dwc:subfamily : string 
   dwc:genus : string 
   dwc:specificEpithet : string 
   dwc:taxonomicStatus : string 
   dwc:nomenclaturalCode : string 
   dwc:vernacularName : string 
   dwc:subgenus : string 
   dwc:acceptedNameUsage : string 
   dwc:acceptedNameUsageID : string 
   dwc:cultivarEpithet : string 
   dwc:genericName : string 
   dwc:infragenericEpithet : string 
   dwc:infraspecificEpithet : string 
   dwc:nomenclaturalStatus : string 
   dwc:originalNameUsage : string 
   dwc:subtribe : string 
   dwc:superfamily : string 
   dwc:tribe : string 
 }
 class GeologicalContext { 
   dwc:earliestEonOrLowestEonothem : string 
   dwc:latestEonOrHighestEonothem : string 
   dwc:earliestEraOrLowestErathem : string 
   dwc:latestEraOrHighestErathem : string 
   dwc:earliestPeriodOrLowestSystem : string 
   dwc:latestPeriodOrHighestSystem : string 
   dwc:earliestEpochOrLowestSeries : string 
   dwc:latestEpochOrHighestSeries : string 
   dwc:earliestAgeOrLowestStage : string 
   dwc:latestAgeOrHighestStage : string 
   dwc:lowestBiostratigraphicZone : string 
   dwc:highestBiostratigraphicZone : string 
   dwc:lithostratigraphicTerms : string 
   dwc:group : string 
   dwc:formation : string 
   dwc:member : string 
   dwc:bed : string 
 }
 class Georeference { 
   dwc:verbatimCoordinates : string 
   dwc:decimalLatitude : number 
   dwc:verbatimLatitude : string 
   dwc:decimalLongitude : number 
   dwc:verbatimLongitude : string 
   dwc:verbatimCoordinateSystem : string 
   dwc:geodeticDatum : string 
   dwc:coordinateUncertaintyInMeters : number 
   dwc:coordinatePrecision : number 
   dwc:pointRadiusSpatialFit : number 
   dwc:footprintWKT : string 
   dwc:footprintSRS : string 
   dwc:verbatimSRS : string 
   dwc:footprintSpatialFit : integer 
   dwc:georeferencedDate : string 
   dwc:georeferenceProtocol : string 
   dwc:georeferenceSources : string 
   dwc:georeferenceRemarks : string 
   ods:hasAgents : array<ods:Agent> 
 }

DigitalSpecimen -- SpecimenPart
DigitalSpecimen -- Identification
DigitalSpecimen -- Event
DigitalSpecimen -- Citation
DigitalSpecimen -- Identifier
DigitalSpecimen -- Assertion
DigitalSpecimen -- Agent
DigitalSpecimen -- EntityRelationship
DigitalSpecimen -- ChronometricAge
DigitalSpecimen -- TombstoneMetadata
TombstoneMetadata -- Agent
TombstoneMetadata -- RelatedPID
Event -- Location
Event -- Assertion
Location -- Georeference
Location -- GeologicalContext
Agent -- Identifier
Agent -- Role
Identification -- Citation
Citation -- Agent
Identification -- Agent
Identification -- TaxonIdentification
Assertion -- Agent
Assertion -- Citation
Citation -- Agent
EntityRelationship -- Agent
Georeference -- Agent
Agent -- Identifier
SpecimenPart -- Identification
SpecimenPart -- Assertion
SpecimenPart -- Agent
SpecimenPart -- ChronometricAge
SpecimenPart -- Identifier
SpecimenPart -- Event
    
                            

Entity-Relationship Diagrams

                            erDiagram
    DigitalSpecimen ||--o{ SpecimenPart : Has
    DigitalSpecimen ||--o{ Identification : Has
    DigitalSpecimen ||--o{ Event : Has
    DigitalSpecimen ||--o{ Citation : Has
    DigitalSpecimen ||--|{ Identifier : Has
    DigitalSpecimen ||--o{ Assertion : Has
    DigitalSpecimen ||--o{ Agent : Has
    DigitalSpecimen ||--o{ EntityRelationship : Has
    DigitalSpecimen ||--o{ ChronometricAge : Has
    DigitalSpecimen ||--o| TombstoneMetadata : Has
    TombstoneMetadata ||--|{ Agent : Has
    TombstoneMetadata ||--o{ RelatedPID : Has
    Event ||--o| Location : Has
    Event ||--o{ Assertion : Has
    Location ||--o| Georeference : Has
    Location ||--o| GeologicalContext : Has
    Agent ||--o{ Identifier : Has
    Agent ||--|{ Role : Has
    Identification ||--o{ Citation : Has
    Citation ||--o{ Agent : Has
    Identification ||--o{ Agent : Has
    Identification ||--o{ TaxonIdentification : Has
    Assertion ||--o{ Agent : Has
    Assertion ||--o{ Citation : Has
    EntityRelationship ||--|{ Agent : Has
    Georeference ||--o{ Agent : Has
    SpecimenPart ||--o{ Identification : Has
    SpecimenPart ||--o{ Assertion : Has
    SpecimenPart ||--o{ Agent : Has
    SpecimenPart ||--o{ ChronometricAge : Has
    SpecimenPart ||--o{ Identifier : Has
    SpecimenPart ||--o{ Event : Has
                        

Built with Mermaid.js