Skip to content

Data Model

This page is auto-generated from zenodo_schema.yaml at build time.

Dataset Fields

Field Label Type Required Description
title Title text Title of the work from Zenodo
notes Description text (markdown) Description of the work (HTML stripped from Zenodo)
tag_string Tags text Free-form tags for convenience
source_url Source URL text URL of the original record at the source repository (e.g. Zenodo)
doi DOI text Digital Object Identifier URL
canonical_id Canonical ID text Persistent identifier (DOI URL) used as @id in ODIS JSON-LD export
resource_type Resource Type text Schema.org type from Zenodo
license_id License text License definitions and additional information can be found at http://opendefinition.org/
date_published Date Published date Publication date (YYYY-MM-DD)
date_created Date Created text Record creation timestamp (ISO 8601)
date_modified Date Modified text Record modification timestamp (ISO 8601)
publisher_name Publisher text Name of the publisher (typically Zenodo)
authors Authors (JSON) JSON array Authors as JSON array. Example: [{"author_name": "Name", "author_orcid": "https://orcid.org/..."}]
contributors Contributors (JSON) JSON array Contributors as JSON array
funding Funding (JSON) JSON array Funding information as JSON array
keywords Keywords text Comma-separated keywords
temporal_coverage Temporal Coverage text ISO 8601 date or date range
language Language text
spatial_point_latitude Latitude text Decimal degrees (-90 to 90)
spatial_point_longitude Longitude text Decimal degrees (-180 to 180)
spatial_box Bounding Box text Format miny minx maxy maxx (lat long coordinates)
spatial_description Spatial Description text Human-readable location description
zenodo_record_id Zenodo Record ID text Numeric ID from Zenodo URL
harvest_timestamp Harvest Timestamp text When this record was harvested from Zenodo
content_size Content Size text File size if applicable

Product Types

Controlled vocabulary for the product_type field.

Value Label
dataset Dataset
publication Publication
software Software
presentation Presentation
poster Poster
image Image/Figure
video Video
lesson Lesson
physical_object Physical Object
other Other

Thematic Areas

Controlled vocabulary for the thematic_tags field.

Value Label
Biodiversity Biodiversity
Climate Change Climate Change
Ocean Acidification Ocean Acidification
Marine Protected Areas Marine Protected Areas
eDNA eDNA
Invasives Invasives
Fisheries Fisheries
Pollution Pollution
Coastal Management Coastal Management
Deep Sea Deep Sea
Coral Reefs Coral Reefs
Species Distribution Species Distribution
Near-Realtime Near-Realtime

Spatial Coverage

The spatial_coverage_type field determines which spatial fields are used:

Type Fields used
point spatial_point_latitude, spatial_point_longitude
box spatial_box (format: miny minx maxy maxx)

JSON Array Fields

The authors, contributors, and funding fields store structured data as JSON arrays.

authors

Key Description
author_name Full name
author_given_name Given name
author_family_name Family name
author_orcid ORCID URL
author_affiliation_name Affiliation name
author_affiliation_ror ROR ID

Example:

[{"author_name": "Jane Doe", "author_orcid": "https://orcid.org/0000-0001-2345-6789", "author_affiliation_name": "VLIZ"}]

contributors

Key Description
contributor_name Full name
contributor_given_name Given name
contributor_family_name Family name
contributor_orcid ORCID URL
contributor_affiliation_name Affiliation name
contributor_affiliation_ror ROR ID

Example:

[{"contributor_name": "John Smith", "contributor_affiliation_name": "OBIS Secretariat"}]

funding

Key Description
funder_name Funder name
funder_id Funder ID
grant_name Grant name
grant_id Grant ID
grant_url Grant URL

Example:

[{"funder_name": "European Commission", "grant_id": "12345", "grant_name": "Marine Biodiversity Project"}]

Data Pipeline

Source API (Zenodo, future: GBIF, Dryad, etc.)
    ↓ mapper (Python function: API response → standard dict)
CKAN (storage, curation UI, search, user management)
    ↓ odis_export extension (CKAN dataset → Schema.org JSON-LD)
ODIS (discovery, federated search)

Adding a new source requires writing one mapper file in ckanext-doi-import/ckanext/doi_import/mappers/.