Darwin Core v1.0¶
Darwin Core is a biodiversity data standard maintained by Biodiversity Information Standards (TDWG). It provides a standardized vocabulary for sharing information about biological occurrences, including species observations, specimen records, and sampling events.
Darwin Core centers on the Occurrence entity - evidence of an organism at a particular place and time. It supports both observational data (human or machine observations) and physical specimens (preserved, fossil, or living).
The standard is widely adopted by biodiversity data aggregators including GBIF (Global Biodiversity Information Facility), iDigBio, and VertNet.
flowchart TB
subgraph core["Core"]
OCC[Occurrence]
ORG[Organism]
MS[MaterialSample]
end
subgraph event["Event Context"]
EVT[Event]
LOC[Location]
end
subgraph taxonomy["Taxonomy"]
ID[Identification]
TAX[Taxon]
end
subgraph extensions["Extensions"]
MOF[MeasurementOrFact]
GEO[GeologicalContext]
RR[ResourceRelationship]
end
%% Occurrence relationships
OCC --> EVT
OCC --> ID
OCC --> ORG
%% Event relationships
EVT --> LOC
%% Identification relationships
ID --> TAX
classDef core fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
classDef event fill:#fff3e0,stroke:#ff9800,stroke-width:2px
classDef tax fill:#e3f2fd,stroke:#2196f3,stroke-width:2px
classDef ext fill:#fce4ec,stroke:#e91e63,stroke-width:2px
class OCC,ORG,MS core
class EVT,LOC event
class ID,TAX tax
class MOF,GEO,RR ext
Entities¶
| Category | Entities |
|---|---|
| Core | Occurrence, Organism, MaterialSample |
| Event Context | Event, Location |
| Taxonomy | Identification, Taxon |
| Extensions | MeasurementOrFact, GeologicalContext, ResourceRelationship |
Key Concepts¶
Occurrence-centric: Darwin Core is built around the Occurrence entity, which represents evidence of an organism at a specific location and time. Every record describes what was observed or collected, where, when, and by whom.
Basis of Record: Each occurrence has a basisOfRecord field that categorizes the type of evidence:
PreservedSpecimen- Museum specimenFossilSpecimen- Paleontological specimenLivingSpecimen- Living collection specimenHumanObservation- Field observation by a personMachineObservation- Camera trap, acoustic sensor, etc.MaterialSample- DNA sample, tissue sample
Taxonomic Identification: Identifications link occurrences to taxa. Multiple identifications can exist for a single occurrence, representing different determinations over time. The Taxon entity holds the full taxonomic hierarchy from kingdom to subspecies.
Location and Georeferencing: The Location entity captures both named places (country, state, locality) and coordinates (decimal latitude/longitude). It supports uncertainty measures and different coordinate systems for georeferencing quality assessment.
Validation Rules¶
The Darwin Core profile includes validation rules for:
- Coordinate ranges (latitude -90 to 90, longitude -180 to 180)
- Elevation and depth consistency (minimum cannot exceed maximum)
- Controlled vocabularies for basisOfRecord, occurrenceStatus, taxonRank
- Positive coordinate uncertainty values
Use Cases¶
- Biodiversity databases: GBIF, iDigBio, VertNet, ALA
- Natural history collections: Digitization and sharing of museum specimens
- Citizen science: iNaturalist, eBird observation records
- Ecological research: Species distribution modeling, conservation assessments
- Environmental monitoring: Long-term population and community studies
Entity-Relationship Diagram¶
erDiagram
Occurrence {
string occurrenceID PK
string basisOfRecord
integer individualCount
string sex
string lifeStage
string occurrenceStatus
string recordedBy
}
Event {
string eventID PK
string occurrenceID FK
string eventDate
string habitat
string samplingProtocol
}
Location {
string locationID
string eventID FK
string country
string stateProvince
string locality
float decimalLatitude
float decimalLongitude
string geodeticDatum
}
Identification {
string identificationID
string occurrenceID FK
string identifiedBy
string dateIdentified
string identificationVerificationStatus
}
Taxon {
string taxonID PK
string identificationID FK
string scientificName
string kingdom
string phylum
string class
string order
string family
string genus
string taxonRank
}
Organism {
string organismID PK
string occurrenceID FK
string organismName
string organismScope
}
MaterialSample {
string materialSampleID PK
string preparations
string disposition
}
MeasurementOrFact {
string measurementID
string measurementType
string measurementValue
string measurementUnit
}
GeologicalContext {
string geologicalContextID
string earliestEonOrLowestEonothem
string latestEraOrHighestErathem
string formation
}
ResourceRelationship {
string resourceRelationshipID
string resourceID FK
string relatedResourceID FK
string relationshipOfResource
}
Occurrence ||--o| Event : event
Occurrence ||--o{ Identification : identifications
Occurrence ||--o| Organism : organism
Event ||--o| Location : location
Identification ||--o| Taxon : taxon
References¶
| Resource | URL |
|---|---|
| Darwin Core Standard | https://dwc.tdwg.org/ |
| Darwin Core Terms | https://dwc.tdwg.org/terms/ |
| TDWG (Biodiversity Information Standards) | https://www.tdwg.org/ |
| GBIF (uses Darwin Core) | https://www.gbif.org/ |
| Darwin Core GitHub | https://github.com/tdwg/dwc |
Usage¶
from metaseed import darwin_core
dwc = darwin_core()
# Create Occurrence
occurrence = dwc.Occurrence(
occurrenceID="urn:catalog:UWBM:Bird:89776",
basisOfRecord="HumanObservation",
individualCount=1,
occurrenceStatus="present",
recordedBy="John Smith"
)
# Create Event linked to Occurrence
event = dwc.Event(
eventID="EVT-2024-001",
occurrenceID="urn:catalog:UWBM:Bird:89776",
eventDate="2024-06-15",
samplingProtocol="point count"
)
# Create Location linked to Event
location = dwc.Location(
locationID="LOC-001",
eventID="EVT-2024-001",
decimalLatitude=45.5231,
decimalLongitude=-122.6765,
geodeticDatum="WGS84",
country="United States",
locality="Forest Park"
)