The datacite subpackage¶
The datacite subpackage provides Pydantic models for a DataCite/Invenio record.
The hierarchy below starts with DataCite and shows which classes are used by other
classes. Types from common.py and vocabularies.py are intentionally left out.
Modules¶
- metadata_models (all classes from
metadata_*modules in one page) - datacite_record
- datacite
- access
- files
- metadata
- metadata_people
- metadata_identifiers
- metadata_dates
- metadata_additional_titles
- metadata_additional_descriptions
- metadata_funding
- metadata_location
- metadata_reference
- metadata_rights
- metadata_subjects
- tombstone
Class hierarchy¶
DataCite [datacite_record.py]
├── access: Access [access.py]
│ └── embargo: Embargo | None [access.py]
├── metadata: Metadata [metadata.py]
│ ├── creators: list[Creator] [metadata_people.py]
│ │ └── Creator
│ │ ├── person_or_org: PersonOrOrganization
│ │ │ └── identifiers: PersonOrOrganizationIdentifier | None
│ │ └── affiliations: list[Affiliation]
│ ├── contributors: list[Contributor] [metadata_people.py]
│ │ └── Contributor
│ │ └── inherits from Creator
│ ├── additional_titles: list[AdditionalTitle] [metadata_additional_titles.py]
│ │ └── AdditionalTitle
│ │ └── type: AdditionalTitleType
│ ├── additional_descriptions: list[AdditionalDescription] [metadata_additional_descriptions.py]
│ │ └── AdditionalDescription
│ │ └── type: AdditionalDescriptionType
│ ├── rights: Rights | None [metadata_rights.py]
│ ├── subjects: list[Subject] [metadata_subjects.py]
│ ├── dates: list[Date] [metadata_dates.py]
│ │ └── Date
│ │ └── type: DateType | None
│ ├── identifiers: list[AlternateIdentifier] [metadata_identifiers.py]
│ ├── related_identifiers: list[RelatedIdentifier] [metadata_identifiers.py]
│ ├── locations: list[Location] [metadata_location.py]
│ │ └── Location
│ │ └── features: GeoJSONFeature
│ │ └── GeoJSONFeature
│ │ ├── geometry: Geometry | None
│ │ └── identifiers: list[GeoLocationIdentifier]
│ ├── funding: list[FundingReference] [metadata_funding.py]
│ │ └── FundingReference
│ │ ├── funder: Funder
│ │ └── award: Award | None
│ │ └── Award
│ │ ├── funder: Funder | None
│ │ └── identifiers: list[AwardIdentifier]
│ └── references: list[GeneralReference] [metadata_reference.py]
├── files: FilesRecord [files.py]
│ └── entries: dict[str, DataCiteFile] | None
│ └── DataCiteFile
│ └── links: FileLinks
└── tombstone: Tombstone | None [tombstone.py]
Notes¶
DataCite, as defined in indatacite_record.py, is the root record model for the whole subpackage. It is available asgamslib.datacite.Datacite.Contributorinherits fromCreatorand reuses theperson_or_organdaffiliationsstructure frommetadata_people.py.Funderis used in two places: directly byFundingReferenceand optionally insideAward.FilesRecordmodels the record-levelfilessection, whileMetadatacontains the actual descriptive DataCite metadata.- Helper/value classes from
common.pyandvocabularies.pyare omitted here on purpose.