Skip to content

DataCite metadata model classes

This page bundles all classes from the metadata_* modules that are used inside Metadata.

from gamslib.datacite.metadata import Metadata

Root metadata class

gamslib.datacite.metadata.Metadata

Bases: BaseModel

Represents the metadata for a record.

id instance-attribute

id

title instance-attribute

title

publication_date instance-attribute

publication_date

creators instance-attribute

creators

additional_titles class-attribute instance-attribute

additional_titles = Field(default_factory=list)

description class-attribute instance-attribute

description = None

additional_descriptions class-attribute instance-attribute

additional_descriptions = Field(default_factory=list)

rights class-attribute instance-attribute

rights = None

copyright class-attribute instance-attribute

copyright = None

contributors class-attribute instance-attribute

contributors = Field(default_factory=list)

subjects class-attribute instance-attribute

subjects = Field(default_factory=list)

languages class-attribute instance-attribute

languages = Field(default_factory=list)

dates class-attribute instance-attribute

dates = Field(default_factory=list)

version class-attribute instance-attribute

version = ''

publisher class-attribute instance-attribute

publisher = 'GAMS'

identifiers class-attribute instance-attribute

identifiers = Field(default_factory=list)

related_identifiers class-attribute instance-attribute

related_identifiers = Field(default_factory=list)

sizes class-attribute instance-attribute

sizes = Field(default_factory=list)

formats class-attribute instance-attribute

formats = Field(default_factory=list)

locations class-attribute instance-attribute

locations = Field(default_factory=list)

funding class-attribute instance-attribute

funding = Field(default_factory=list)

references class-attribute instance-attribute

references = Field(default_factory=list)

validate_publication_date classmethod

validate_publication_date(value)

Validate publication_date using the shared EDTF rules.

People and contributors

gamslib.datacite.metadata_people.PersonOrOrganizationIdentifier

Bases: BaseModel

Represents a person or organization identifier.

scheme instance-attribute

scheme

identifier instance-attribute

identifier

normalize_scheme classmethod

normalize_scheme(value)

Normalize identifier schemes to lowercase.

gamslib.datacite.metadata_people.PersonOrOrganization

Bases: BaseModel

Represents a person or organization used in creator-like fields.

type instance-attribute

type

given_name class-attribute instance-attribute

given_name = None

family_name class-attribute instance-attribute

family_name = None

name class-attribute instance-attribute

name = None

identifiers class-attribute instance-attribute

identifiers = None

validate_name_fields

validate_name_fields()

Validate required/forbidden name fields based on the type value.

gamslib.datacite.metadata_people.Affiliation

Bases: BaseModel

Represents an affiliation for a person or organization.

id class-attribute instance-attribute

id = None

name class-attribute instance-attribute

name = None

validate_exactly_one_field

validate_exactly_one_field()

Validate that exactly one of id or name is provided.

gamslib.datacite.metadata_people.Creator

Bases: BaseModel

Represents a creator for a record.

person_or_org instance-attribute

person_or_org

role class-attribute instance-attribute

role = None

affiliations class-attribute instance-attribute

affiliations = Field(default_factory=list)

gamslib.datacite.metadata_people.Contributor

Bases: Creator

Represents a contributor for a record.

role instance-attribute

role

person_or_org instance-attribute

person_or_org

affiliations class-attribute instance-attribute

affiliations = Field(default_factory=list)

Identifier classes

gamslib.datacite.metadata_identifiers.AlternateIdentifier

Bases: BaseModel

Represents an alternate identifier for a record.

identifier instance-attribute

identifier

scheme instance-attribute

scheme

gamslib.datacite.metadata_identifiers.RelatedIdentifier

Bases: BaseModel

Represents a related identifier for a record.

identifier instance-attribute

identifier

scheme instance-attribute

scheme

relation_type instance-attribute

relation_type

resource_type class-attribute instance-attribute

resource_type = None

Descriptive classes

gamslib.datacite.metadata_dates.DateType

Bases: BaseModel

Identifies the type of a date.

id instance-attribute

id

title instance-attribute

title

gamslib.datacite.metadata_dates.Date

Bases: BaseModel

Represents a date for a record.

date instance-attribute

date

type class-attribute instance-attribute

type = None

description class-attribute instance-attribute

description = None

validate_date classmethod

validate_date(value)

Validate date values using the shared EDTF rules.

gamslib.datacite.metadata_subjects.Subject

Bases: BaseModel

Represents a subject for a record.

id class-attribute instance-attribute

id = None

subject class-attribute instance-attribute

subject = None

validate_id_or_subject_field

validate_id_or_subject_field()

Validate that exactly one of id or subject is provided.

gamslib.datacite.metadata_rights.Rights

Bases: BaseModel

Represents the rights information for a record.

id class-attribute instance-attribute

id = None

title class-attribute instance-attribute

title = None

description class-attribute instance-attribute

description = None
link = None

validate_id_or_title_field

validate_id_or_title_field()

Validate that exactly one of id or title is provided.

Additional titles and descriptions

gamslib.datacite.metadata_additional_titles.AdditionalTitleType

Bases: BaseModel

Identifies the type of an additional title.

id instance-attribute

id

title instance-attribute

title

gamslib.datacite.metadata_additional_titles.AdditionalTitle

Bases: BaseModel

Represents an additional title for a record.

title instance-attribute

title

type instance-attribute

type

lang class-attribute instance-attribute

lang = None

gamslib.datacite.metadata_additional_descriptions.AdditionalDescriptionType

Bases: BaseModel

Identifies the type of an additional description.

id instance-attribute

id

title instance-attribute

title

gamslib.datacite.metadata_additional_descriptions.AdditionalDescription

Bases: BaseModel

Represents an additional description for a record.

description instance-attribute

description

type instance-attribute

type

lang class-attribute instance-attribute

lang = None

Location, funding, and references

gamslib.datacite.metadata_location.GeoLocationIdentifier

Bases: BaseModel

A geolocation identifier.

Compatible with the DataCite schema for GeoLocation.

scheme instance-attribute

scheme

identifier instance-attribute

identifier

gamslib.datacite.metadata_location.Geometry

Bases: BaseModel

A a GeoJSON geometry.

Compatible with the DataCite schema for GeoLocation.

type instance-attribute

type

coordinates instance-attribute

coordinates

gamslib.datacite.metadata_location.GeoJSONFeature

Bases: BaseModel

A class representing a GeoJSON feature.

Compatible with the DataCite schema for GeoLocation.

geometry class-attribute instance-attribute

geometry = None

identifiers class-attribute instance-attribute

identifiers = Field(default_factory=list)

place class-attribute instance-attribute

place = None

description class-attribute instance-attribute

description = None

gamslib.datacite.metadata_location.Location

Bases: BaseModel

A location class compatible with the DataCite schema for GeoLocation.

features instance-attribute

features

gamslib.datacite.metadata_funding.Funder

Bases: BaseModel

A class representing a funding reference.

Compatible with the DataCite schema for FundingReference.

id class-attribute instance-attribute

id = None

name class-attribute instance-attribute

name = None

validate_id_or_name classmethod

validate_id_or_name(v, values)

Validate that either 'id' or 'name' is provided, but not both.

gamslib.datacite.metadata_funding.AwardIdentifier

Bases: BaseModel

A class representing an award identifier.

Compatible with the DataCite schema for FundingReference.

scheme instance-attribute

scheme

identifier instance-attribute

identifier

gamslib.datacite.metadata_funding.Award

Bases: BaseModel

A class representing an award, compatible with the DataCite schema for FundingReference.

id class-attribute instance-attribute

id = None

title class-attribute instance-attribute

title = None

funder class-attribute instance-attribute

funder = None

number instance-attribute

number

identifiers class-attribute instance-attribute

identifiers = Field(default_factory=list)

gamslib.datacite.metadata_funding.FundingReference

Bases: BaseModel

A class representing a funding reference.

Compatible with the DataCite schema for FundingReference.

funder instance-attribute

funder

award class-attribute instance-attribute

award = None

gamslib.datacite.metadata_reference.GeneralReference

Bases: BaseModel

General reference for related identifiers, funding, and references.

reference instance-attribute

reference

identifier class-attribute instance-attribute

identifier = None

scheme class-attribute instance-attribute

scheme = None