Working with DataCite Metadata

DataCite is a leading global non-profit organisation that provides persistent identifiers (DOIs) for research data and other research outputs. Organisations within the research community join DataCite as members to be able to assign DOIs to all their research outputs. This way, their outputs become discoverable, and associated metadata is made. In European Union-funded research, many researchers and projects use Zenodo as a permanent repository for their data; Zenodo is a member of DataCite and uses DataCite definitions to describe the datasets.

DataCite can be seen as an alternative to the more general and more widely used Dublin Core. Some metadata properties can be mapped to Dublin Core directly; others have similar but not equal fields. DataCite defines special properties, for example, FundingReference, which is not easily described in Dublin Core.

The datacite() function creates a bibentry object with DataCite metadata

library(dataset)
iris_datacite <- datacite(
   Title = "Iris Dataset",
   Creator = person(family="Anderson", given ="Edgar", role = "aut"),
   Publisher = "American Iris Society",
   PublicationYear = 1935,
   Geolocation = "US",
   Language = "en")

A bibentry object is easily printed or exported into various formats, for example, Bibtex.

print(iris_datacite, "Bibtex")
#> @Misc{,
#>   title = {Iris Dataset},
#>   author = {Edgar Anderson},
#>   publisher = {American Iris Society},
#>   year = {1935},
#>   date = {:tba},
#>   language = {en},
#>   alternateidentifier = {:unas},
#>   relatedidentifier = {:unas},
#>   format = {:tba},
#>   rights = {:tba},
#>   geolocation = {US},
#>   fundingreference = {:unas},
#> }

The dataset package has an internal version of the famous dataset, iris. With as_datacite() you can retrieve the DataCite metadata of an existing dataset object into bibentry, list, or dataset format.

as_datacite(iris_dataset, "list")
#> $Title
#> [1] "Iris Dataset"
#> 
#> $Creator
#> [1] "Edgar Anderson [aut]"
#> 
#> $Identifier
#> [1] "https://doi.org/10.5281/zenodo.10396807"
#> 
#> $Publisher
#> [1] "American Iris Society"
#> 
#> $PublicationYear
#> [1] "1935"
#> 
#> $Subject
#> NULL
#> 
#> $Type
#> [1] "Dataset"
#> 
#> $Contributor
#> NULL
#> 
#> $DateList
#> [1] ":tba"
#> 
#> $Language
#> [1] "en"
#> 
#> $AlternateIdentifier
#> [1] ":unas"
#> 
#> $RelatedIdentifier
#> [1] ":unas"
#> 
#> $Format
#> [1] "application/r-rds"
#> 
#> $Version
#> [1] "0.1.0"
#> 
#> $Rights
#> [1] ":unas"
#> 
#> $Description
#> [1] "The famous (Fisher's or Anderson's) iris data set."
#> 
#> $Geolocation
#> [1] ":unas"
#> 
#> $FundingReference
#> [1] ":unas"

Adding a datacite object created with datacite() to an existing dataset is not yet implemented.