ZenodoRecord

ZenodoRecord

Format

R6Class object.

Value

Object of R6Class for modelling an ZenodoRecord

Note

Internal method. Prefer using addCreator or addContributor

Internal method. Prefer using removeCreator or removeContributor

See examples in download_zenodo utility function.

Author

Emmanuel Blondel <emmanuel.blondel1@gmail.com>

Super class

zen4R::zen4RLogger -> ZenodoRecord

Public fields

created

record creation date

updated

record update date

revision_id

revision id

is_draft

is draft

is_published

is published

status

record status

versions

versions

access

access policies

files

list of files associated to the record

id

record id

links

list of links associated to the record

metadata

metadata elements associated to the record

parent

parent record

pids

pids

stats

stats

Methods

Public methods

Inherited methods


Method new()

method is used to instantiate a ZenodoRecord

Usage

ZenodoRecord$new(obj = NULL, logger = "INFO")

Arguments

obj

an optional list object to create the record

logger

a logger to print log messages. It can be either NULL, "INFO" (with minimum logs), or "DEBUG" (for complete curl http calls logs)


Method getStats()

Get record statistics

Usage

ZenodoRecord$getStats()

Returns

statistics as data.frame


Method getId()

Get the record Id

Usage

ZenodoRecord$getId()

Returns

the Id, object of class character


Method getParentId()

Get the parent record Id

Usage

ZenodoRecord$getParentId()

Returns

the parent Id, object of class character


Method getConceptId()

Get the concept record Id

Usage

ZenodoRecord$getConceptId()

Returns

the concept Id, object of class character


Method setDOI()

Set the DOI. This method can be used if a DOI has been already assigned outside Zenodo.

Usage

ZenodoRecord$setDOI(doi, provider = NULL, client = NULL)

Arguments

doi

DOI to set for the record

provider

DOI provider

client

DOI client


Method getDOI()

Get the record DOI.

Usage

ZenodoRecord$getDOI()

Returns

the DOI, object of class character


Method getConceptDOI()

Get the concept (generic) DOI. The concept DOI is a generic DOI common to all versions of a Zenodo record.

Usage

ZenodoRecord$getConceptDOI()

Returns

the concept DOI, object of class character


Method setAccessPolicyRecord()

Set the access policy for record, among values "public" (default) or "restricted" In Zenodo, in principle, the access policy 'restricted' is not available for records.

Usage

ZenodoRecord$setAccessPolicyRecord(access = c("public", "restricted"))

Arguments

access

access policy ('public' or 'restricted')


Method setAccessPolicyFiles()

Set the access policy for files, among values "public" (default) or "restricted"

Usage

ZenodoRecord$setAccessPolicyFiles(access = c("public", "restricted"))

Arguments

access

access policy ('public' or 'restricted')


Method setAccessPolicyEmbargo()

Set access policy embargo options

Usage

ZenodoRecord$setAccessPolicyEmbargo(active = FALSE, until = NULL, reason = "")

Arguments

active

whether embargo is active or not. Default is FALSE

until

embargo date, object of class Date. Default is NULL. Must be provided if embargo is active

reason

embargo reason, object of class character. Default is an empty string


Method setResourceType()

Set the resource type (mandatory).

Usage

ZenodoRecord$setResourceType(resourceType)

Arguments

resourceType

record resource type


Method setUploadType()

Set the upload type (mandatory). Deprecated since zen4R 1.0

Usage

ZenodoRecord$setUploadType(uploadType)

Arguments

uploadType

record upload type among the following values: 'publication', 'poster', 'presentation', 'dataset', 'image', 'video', 'software', 'lesson', 'physicalobject', 'other'


Method setPublicationType()

Set the publication type (mandatory if upload type is 'publication'). Deprecated since zen4R 1.0

Usage

ZenodoRecord$setPublicationType(publicationType)

Arguments

publicationType

record publication type among the following values: 'annotationcollection', 'book', 'section', 'conferencepaper', 'datamanagementplan', 'article', 'patent', 'preprint', 'deliverable', 'milestone', 'proposal', 'report', 'softwaredocumentation', 'taxonomictreatment', 'technicalnote', 'thesis', 'workingpaper', 'other'


Method setImageType()

Set the image type (mandatory if image type is 'image'). Deprecated since zen4R 1.0

Usage

ZenodoRecord$setImageType(imageType)

Arguments

imageType

record publication type among the following values: 'figure','plot', 'drawing','diagram','photo', or 'other'


Method setPublisher()

Set the publisher

Usage

ZenodoRecord$setPublisher(publisher)

Arguments

publisher

publisher object of class character


Method setPublicationDate()

Set the publication date. For more information on the accepted format, please check https://inveniordm.docs.cern.ch/reference/metadata/#publication-date-1

Usage

ZenodoRecord$setPublicationDate(publicationDate)

Arguments

publicationDate

object of class character


Method addDate()

Add date

Usage

ZenodoRecord$addDate(date, type, description = NULL)

Arguments

date

date

type

type of date, among following values: 'accepted', 'available', 'collected', 'copyrighted', 'created', 'issued', 'other', 'submitted', 'updated', 'valid', 'withdrawn'

description

free text, specific information about the date


Method removeDate()

Remove a date

Usage

ZenodoRecord$removeDate(date, type)

Arguments

date

the date to remove

type

the date type of the date to be removed

Returns

TRUE if removed, FALSE otherwise


Method setTitle()

Set the record title.

Usage

ZenodoRecord$setTitle(title)

Arguments

title

object of class character


Method addAdditionalTitle()

Add additional record title

Usage

ZenodoRecord$addAdditionalTitle(title, type, lang = "eng")

Arguments

title

title free text

type

type of title, among following values: alternative-title, subtitle, translated-title, other

lang

language id

Returns

TRUE if added, FALSE otherwise


Method removeAdditionalTitle()

Removes additional record title.

Usage

ZenodoRecord$removeAdditionalTitle(title, type, lang = "eng")

Arguments

title

title free text

type

type of title, among following values: abstract, methods, series-information, table-of-contents, technical-info, other

lang

language id

Returns

TRUE if removed, FALSE otherwise


Method setDescription()

Set the record description

Usage

ZenodoRecord$setDescription(description)

Arguments

description

object of class character


Method addAdditionalDescription()

Add additional record description

Usage

ZenodoRecord$addAdditionalDescription(description, type, lang = "eng")

Arguments

description

description free text

type

type of description, among following values: abstract, methods, series-information, table-of-contents, technical-info, other

lang

language id

Returns

TRUE if added, FALSE otherwise


Method removeAdditionalDescription()

Removes additional record description

Usage

ZenodoRecord$removeAdditionalDescription(description, type, lang = "eng")

Arguments

description

description free text

type

type of description, among following values: abstract, methods, series-information, table-of-contents, technical-info, other

lang

language id

Returns

TRUE if removed, FALSE otherwise


Method addPersonOrOrg()

Add a person or organization for the record. For persons, the approach is to use the firstname and lastname arguments, that by default will be concatenated for Zenodo as lastname, firstname. For organizations, use the name argument.

Usage

ZenodoRecord$addPersonOrOrg(
  firstname = NULL,
  lastname = NULL,
  name = paste(lastname, firstname, sep = ", "),
  orcid = NULL,
  gnd = NULL,
  isni = NULL,
  ror = NULL,
  role = NULL,
  affiliations = NULL,
  sandbox = FALSE,
  type
)

Arguments

firstname

person first name

lastname

person last name

name

organization name

orcid

person or organization ORCID (optional)

gnd

person or organization GND (optional)

isni

person or organization ISNI (optional)

ror

person or organization ROR (optional)

role

role, values among: contactperson, datacollector, datacurator, datamanager, distributor, editor, funder, hostinginstitution, producer, projectleader, projectmanager, projectmember, registrationagency, registrationauthority, relatedperson, researcher, researchgroup, rightsholder, supervisor, sponsor, workpackageleader, other

affiliations

person or organization affiliations (optional)

sandbox

Use the Zenodo sandbox infrastructure as basis to control available affiliations. Default is FALSE

type

type of person or org (creators/contributors)

Returns

TRUE if added, FALSE otherwise


Method removePersonOrOrg()

Removes a person or organization by a property. The by parameter should be the name of the person or organization property ('name', 'affiliation','orcid','gnd','isni','ror').

Usage

ZenodoRecord$removePersonOrOrg(by, property, type)

Arguments

by

property used as criterion to remove the person or organization

property

property value used to remove the person or organization

type

type of person or org (creators / contributors)

Returns

TRUE if removed, FALSE otherwise


Method addCreator()

Add a creator for the record. For persons, the approach is to use the firstname and lastname arguments, that by default will be concatenated for Zenodo as lastname, firstname. For organizations, use the name argument.

Usage

ZenodoRecord$addCreator(
  firstname = NULL,
  lastname = NULL,
  name = paste(lastname, firstname, sep = ", "),
  orcid = NULL,
  gnd = NULL,
  isni = NULL,
  ror = NULL,
  role = NULL,
  affiliations = NULL,
  sandbox = FALSE
)

Arguments

firstname

person first name

lastname

person last name

name

organization name

orcid

creator ORCID (optional)

gnd

creator GND (optional)

isni

creator ISNI (optional)

ror

creator ROR (optional)

role

role, values among: contactperson, datacollector, datacurator, datamanager, distributor, editor, funder, hostinginstitution, producer, projectleader, projectmanager, projectmember, registrationagency, registrationauthority, relatedperson, researcher, researchgroup, rightsholder, supervisor, sponsor, workpackageleader, other

affiliations

creator affiliations (optional)

sandbox

Use the Zenodo sandbox infrastructure as basis to control available affiliations. Default is FALSE

Returns

TRUE if added, FALSE otherwise


Method removeCreatorByName()

Removes a creator by name.

Usage

ZenodoRecord$removeCreatorByName(name)

Arguments

name

creator name

Returns

TRUE if removed, FALSE otherwise


Method removeCreatorByAffiliation()

Removes a creator by affiliation.

Usage

ZenodoRecord$removeCreatorByAffiliation(affiliation)

Arguments

affiliation

creator affiliation

Returns

TRUE if removed, FALSE otherwise


Method removeCreatorByORCID()

Removes a creator by ORCID.

Usage

ZenodoRecord$removeCreatorByORCID(orcid)

Arguments

orcid

creator ORCID

Returns

TRUE if removed, FALSE otherwise


Method removeCreatorByGND()

Removes a creator by GND.

Usage

ZenodoRecord$removeCreatorByGND(gnd)

Arguments

gnd

creator GND

Returns

TRUE if removed, FALSE otherwise


Method removeCreatorByISNI()

Removes a creator by ISNI.

Usage

ZenodoRecord$removeCreatorByISNI(isni)

Arguments

isni

creator ISNI

Returns

TRUE if removed, FALSE otherwise


Method removeCreatorByROR()

Removes a creator by ROR.

Usage

ZenodoRecord$removeCreatorByROR(ror)

Arguments

ror

creator ROR

Returns

TRUE if removed, FALSE otherwise


Method addContributor()

Add a contributor for the record. For persons, the approach is to use the firstname and lastname arguments, that by default will be concatenated for Zenodo as lastname, firstname. For organizations, use the name argument.

Usage

ZenodoRecord$addContributor(
  firstname = NULL,
  lastname = NULL,
  name = paste(lastname, firstname, sep = ", "),
  orcid = NULL,
  gnd = NULL,
  isni = NULL,
  ror = NULL,
  role = NULL,
  affiliations = NULL,
  sandbox = FALSE
)

Arguments

firstname

person first name

lastname

person last name

name

organization name

orcid

contributor ORCID (optional)

gnd

contributor GND (optional)

isni

contributor ISNI (optional)

ror

contributor ROR (optional)

role

role, values among: contactperson, datacollector, datacurator, datamanager, distributor, editor, funder, hostinginstitution, producer, projectleader, projectmanager, projectmember, registrationagency, registrationauthority, relatedperson, researcher, researchgroup, rightsholder, supervisor, sponsor, workpackageleader, other

affiliations

contributor affiliations (optional)

sandbox

Use the Zenodo sandbox infrastructure as basis to control available affiliations. Default is FALSE

Returns

TRUE if added, FALSE otherwise


Method removeContributorByName()

Removes a contributor by name.

Usage

ZenodoRecord$removeContributorByName(name)

Arguments

name

contributor name

Returns

TRUE if removed, FALSE otherwise


Method removeContributorByAffiliation()

Removes a contributor by affiliation.

Usage

ZenodoRecord$removeContributorByAffiliation(affiliation)

Arguments

affiliation

contributor affiliation

Returns

TRUE if removed, FALSE otherwise


Method removeContributorByORCID()

Removes a contributor by ORCID.

Usage

ZenodoRecord$removeContributorByORCID(orcid)

Arguments

orcid

contributor ORCID

Returns

TRUE if removed, FALSE otherwise


Method removeContributorByGND()

Removes a contributor by GND.

Usage

ZenodoRecord$removeContributorByGND(gnd)

Arguments

gnd

contributor GND

Returns

TRUE if removed, FALSE otherwise


Method removeContributorByISNI()

Removes a contributor by ISNI.

Usage

ZenodoRecord$removeContributorByISNI(isni)

Arguments

isni

contributor ISNI

Returns

TRUE if removed, FALSE otherwise


Method removeContributorByROR()

Removes a contributor by ROR.

Usage

ZenodoRecord$removeContributorByROR(ror)

Arguments

ror

contributor ROR

Returns

TRUE if removed, FALSE otherwise


Method addRight()

Add right/license. Please see https://inveniordm.docs.cern.ch/reference/metadata/#rights-licenses-0-n

Usage

ZenodoRecord$addRight(
  id = NULL,
  title = NULL,
  description = NULL,
  link = NULL,
  sandbox = FALSE
)

Arguments

id

license id

title

license title

description

a multi-lingual list

link

license link

sandbox

Use the Zenodo sandbox infrastructure as basis to control available licenses. Default is FALSE


Method setLicense()

Set license. The license should be set with the Zenodo id of the license. If not recognized by Zenodo, the function will return an error. The list of licenses can fetched with the ZenodoManager and the function $getLicenses().

Usage

ZenodoRecord$setLicense(licenseId, sandbox = FALSE)

Arguments

licenseId

a license Id

sandbox

Use the Zenodo sandbox infrastructure as basis to control available licenses. Default is FALSE

Returns

TRUE if set, FALSE otherwise


Method setVersion()

Set record version.

Usage

ZenodoRecord$setVersion(version)

Arguments

version

the record version to set


Method addLanguage()

Adds a language.

Usage

ZenodoRecord$addLanguage(language)

Arguments

language

ISO 639-2 or 639-3 code


Method setLanguage()

Set the language

Usage

ZenodoRecord$setLanguage(language)

Arguments

language

ISO 639-2 or 639-3 code


Method addRelatedIdentifier()

Adds a related identifier with a given scheme and relation type.

Usage

ZenodoRecord$addRelatedIdentifier(
  identifier,
  scheme,
  relation_type,
  resource_type = NULL
)

Arguments

identifier

identifier

scheme

scheme among following values: ark, arxiv, bibcode, doi, ean13, eissn, handle, igsn, isbn, issn, istc, lissn, lsid, pubmed id, purl, upc, url, urn, w3id

relation_type

relation type among following values: iscitedby, cites, issupplementto, issupplementedby, iscontinuedby, continues, isdescribedby, describes, hasmetadata, ismetadatafor, isnewversionof, ispreviousversionof, ispartof, haspart, isreferencedby, references, isdocumentedby, documents, iscompiledby, compiles, isvariantformof, isoriginalformof, isidenticalto, isalternateidentifier, isreviewedby, reviews, isderivedfrom, issourceof, requires, isrequiredby, isobsoletedby, obsoletes

resource_type

optional resource type

Returns

TRUE if added, FALSE otherwise


Method removeRelatedIdentifier()

Removes a related identifier with a given scheme/relation_type

Usage

ZenodoRecord$removeRelatedIdentifier(identifier, scheme, relation_type)

Arguments

identifier

identifier

scheme

scheme among following values: ark, arxiv, bibcode, doi, ean13, eissn, handle, igsn, isbn, issn, istc, lissn, lsid, pubmed id, purl, upc, url, urn, w3id

relation_type

relation type among following values: iscitedby, cites, issupplementto, issupplementedby, iscontinuedby, continues, isdescribedby, describes, hasmetadata, ismetadatafor, isnewversionof, ispreviousversionof, ispartof, haspart, isreferencedby, references, isdocumentedby, documents, iscompiledby, compiles, isvariantformof, isoriginalformof, isidenticalto, isalternateidentifier, isreviewedby, reviews, isderivedfrom, issourceof, requires, isrequiredby, isobsoletedby, obsoletes

Returns

TRUE if removed, FALSE otherwise


Method setReferences()

Set references

Usage

ZenodoRecord$setReferences(references)

Arguments

references

a vector or list of references to set for the record


Method addReference()

Add a reference

Usage

ZenodoRecord$addReference(reference)

Arguments

reference

the reference to add

Returns

TRUE if added, FALSE otherwise


Method removeReference()

Remove a reference

Usage

ZenodoRecord$removeReference(reference)

Arguments

reference

the reference to remove

Returns

TRUE if removed, FALSE otherwise


Method setSubjects()

Set subjects

Usage

ZenodoRecord$setSubjects(subjects)

Arguments

subjects

a vector or list of subjects to set for the record


Method setKeywords()

Set keywords

Usage

ZenodoRecord$setKeywords(keywords)

Arguments

keywords

a vector or list of keywords to set for the record


Method addSubject()

Add a subject

Usage

ZenodoRecord$addSubject(subject)

Arguments

subject

the subject to add

Returns

TRUE if added, FALSE otherwise


Method addKeyword()

Add a keyword

Usage

ZenodoRecord$addKeyword(keyword)

Arguments

keyword

the keyword to add

Returns

TRUE if added, FALSE otherwise


Method removeSubject()

Remove a subject

Usage

ZenodoRecord$removeSubject(subject)

Arguments

subject

the subject to remove

Returns

TRUE if removed, FALSE otherwise


Method removeKeyword()

Remove a keyword

Usage

ZenodoRecord$removeKeyword(keyword)

Arguments

keyword

the keyword to remove

Returns

TRUE if removed, FALSE otherwise


Method setNotes()

Set notes. HTML is not allowed

Usage

ZenodoRecord$setNotes(notes)

Arguments

notes

object of class character


Method addFunding()

Adds funding. Used internally, prefer using addGrant instead.

Usage

ZenodoRecord$addFunding(funder = NULL, grant = NULL, sandbox = FALSE)

Arguments

funder

funder id or name

grant

grant id or title

sandbox

Use the Zenodo sandbox infrastructure as basis to control available grants. Default is FALSE


Method addGrant()

Adds a grant to the record metadata.

Usage

ZenodoRecord$addGrant(grant, sandbox = FALSE)

Arguments

grant

grant to add. The grant should be set with the id of the grant. If not recognized by Zenodo, the function will return an warning only. The list of grants can fetched with the ZenodoManager and the function $getAwards().

sandbox

Use the Zenodo sandbox infrastructure as basis to control available grants. Default is FALSE

Returns

TRUE if added, FALSE otherwise


Method setGrants()

Set a vector of character strings identifying grants

Usage

ZenodoRecord$setGrants(grants, sandbox = FALSE)

Arguments

grants

a vector or list of grants Values should among known grants The list of grants can fetched with the ZenodoManager and the function $getAwards(). Each grant should be set with the Zenodo id of the grant If not recognized by Zenodo, the function will raise a warning only.

sandbox

Use the Zenodo sandbox infrastructure as basis to control available grants. Default is FALSE


Method removeGrant()

Removes a grant from the record metadata.

Usage

ZenodoRecord$removeGrant(grant)

Arguments

grant

grant to remove. The grant should be set with the Zenodo id of the grant

Returns

TRUE if removed, FALSE otherwise


Method setJournalTitle()

Set Journal title to the record metadata

Usage

ZenodoRecord$setJournalTitle(title)

Arguments

title

a title, object of class character


Method setJournalVolume()

Set Journal volume to the record metadata

Usage

ZenodoRecord$setJournalVolume(volume)

Arguments

volume

a volume


Method setJournalIssue()

Set Journal issue to the record metadata

Usage

ZenodoRecord$setJournalIssue(issue)

Arguments

issue

an issue


Method setJournalPages()

Set Journal pages to the record metadata

Usage

ZenodoRecord$setJournalPages(pages)

Arguments

pages

number of pages


Method setConferenceTitle()

Set conference title to the record metadata

Usage

ZenodoRecord$setConferenceTitle(title)

Arguments

title

conference title, object of class character


Method setConferenceAcronym()

Set conference acronym to the record metadata

Usage

ZenodoRecord$setConferenceAcronym(acronym)

Arguments

acronym

conference acronym, object of class character


Method setConferenceDates()

Set conference dates to the record metadata

Usage

ZenodoRecord$setConferenceDates(dates)

Arguments

dates

conference dates, object of class character


Method setConferencePlace()

Set conference place to the record metadata

Usage

ZenodoRecord$setConferencePlace(place)

Arguments

place

conference place, object of class character


Method setConferenceUrl()

Set conference url to the record metadata

Usage

ZenodoRecord$setConferenceUrl(url)

Arguments

url

conference url, object of class character


Method setConferenceSession()

Set conference session to the record metadata

Usage

ZenodoRecord$setConferenceSession(session)

Arguments

session

conference session, object of class character


Method setConferenceSessionPart()

Set conference session part to the record metadata

Usage

ZenodoRecord$setConferenceSessionPart(part)

Arguments

part

conference session part, object of class character


Method setImprintPublisher()

Set imprint publisher to the record metadata

Usage

ZenodoRecord$setImprintPublisher(publisher)

Arguments

publisher

the publisher, object of class character


Method setImprintISBN()

Set imprint ISBN to the record metadata

Usage

ZenodoRecord$setImprintISBN(isbn)

Arguments

isbn

the ISBN, object of class character


Method setImprintPlace()

Set imprint place to the record metadata

Usage

ZenodoRecord$setImprintPlace(place)

Arguments

place

the place, object of class character


Method setPartofTitle()

Set title to which record is part of

Usage

ZenodoRecord$setPartofTitle(title)

Arguments

title

the title, object of class character


Method setPartofPages()

Set pages to which record is part of

Usage

ZenodoRecord$setPartofPages(pages)

Arguments

pages

the pages, object of class character


Method setThesisUniversity()

Set thesis university

Usage

ZenodoRecord$setThesisUniversity(university)

Arguments

university

the university, object of class character


Method addThesisSupervisor()

Adds thesis supervisor

Usage

ZenodoRecord$addThesisSupervisor(
  firstname,
  lastname,
  affiliation = NULL,
  orcid = NULL,
  gnd = NULL
)

Arguments

firstname

supervisor first name

lastname

supervisor last name

affiliation

supervisor affiliation (optional)

orcid

supervisor ORCID (optional)

gnd

supervisor GND (optional)


Method removeThesisSupervisor()

Removes a thesis supervisor by a property. The by parameter should be the name of the thesis supervisor property ('name' - in the form 'lastname, firstname', 'affiliation', 'orcid' or 'gnd').

Usage

ZenodoRecord$removeThesisSupervisor(by, property)

Arguments

by

property used as criterion to remove the thesis supervisor

property

property value used to remove the thesis supervisor

Returns

TRUE if removed, FALSE otherwise


Method removeThesisSupervisorByName()

Removes a thesis supervisor by name.

Usage

ZenodoRecord$removeThesisSupervisorByName(name)

Arguments

name

thesis supervisor name

Returns

TRUE if removed, FALSE otherwise


Method removeThesisSupervisorByAffiliation()

Removes a thesis supervisor by affiliation

Usage

ZenodoRecord$removeThesisSupervisorByAffiliation(affiliation)

Arguments

affiliation

thesis supervisor affiliation

Returns

TRUE if removed, FALSE otherwise


Method removeThesisSupervisorByORCID()

Removes a thesis supervisor by ORCID

Usage

ZenodoRecord$removeThesisSupervisorByORCID(orcid)

Arguments

orcid

thesis supervisor ORCID

Returns

TRUE if removed, FALSE otherwise


Method removeThesisSupervisorByGND()

Removes a thesis supervisor by GND

Usage

ZenodoRecord$removeThesisSupervisorByGND(gnd)

Arguments

gnd

thesis supervisor GND

Returns

TRUE if removed, FALSE otherwise


Method addLocation()

Adds a location to the record metadata.

Usage

ZenodoRecord$addLocation(place, description = NULL, lat = NULL, lon = NULL)

Arguments

place

place (required)

description

description

lat

latitude

lon

longitude


Method removeLocation()

Removes a grant from the record metadata.

Usage

ZenodoRecord$removeLocation(place)

Arguments

place

place (required)

Returns

TRUE if removed, FALSE otherwise


Method exportAs()

Exports record to a file by format.

Usage

ZenodoRecord$exportAs(format, filename, append_format = TRUE)

Arguments

format

the export format to use. Possibles values are: BibTeX, CSL, DataCite, DublinCore, DCAT, JSON, JSON-LD, GeoJSON, MARCXML

filename

the target filename (without extension)

append_format

wether format name has to be appended to the filename. Default is TRUE (for backward compatibility reasons). Set it to FALSE if you want to use only the filename.

Returns

the writen file name (with extension)


Method exportAsBibTeX()

Exports record as BibTeX

Usage

ZenodoRecord$exportAsBibTeX(filename)

Arguments

filename

the target filename (without extension)

Returns

the writen file name (with extension)


Method exportAsCSL()

Exports record as CSL

Usage

ZenodoRecord$exportAsCSL(filename)

Arguments

filename

the target filename (without extension)

Returns

the writen file name (with extension)


Method exportAsDataCite()

Exports record as DataCite

Usage

ZenodoRecord$exportAsDataCite(filename)

Arguments

filename

the target filename (without extension)

Returns

the writen file name (with extension)


Method exportAsDublinCore()

Exports record as DublinCore

Usage

ZenodoRecord$exportAsDublinCore(filename)

Arguments

filename

the target filename (without extension)

Returns

the writen file name (with extension)


Method exportAsDCAT()

Exports record as DCAT

Usage

ZenodoRecord$exportAsDCAT(filename)

Arguments

filename

the target filename (without extension)

Returns

the writen file name (with extension)


Method exportAsJSON()

Exports record as JSON

Usage

ZenodoRecord$exportAsJSON(filename)

Arguments

filename

the target filename (without extension)

Returns

the writen file name (with extension)


Method exportAsJSONLD()

Exports record as JSONLD

Usage

ZenodoRecord$exportAsJSONLD(filename)

Arguments

filename

the target filename (without extension)


Method exportAsGeoJSON()

Exports record as GeoJSON

Usage

ZenodoRecord$exportAsGeoJSON(filename)

Arguments

filename

the target filename (without extension)

Returns

the writen file name (with extension)


Method exportAsMARCXML()

Exports record as MARCXML

Usage

ZenodoRecord$exportAsMARCXML(filename)

Arguments

filename

the target filename (without extension)

Returns

the writen file name (with extension)


Method exportAsAllFormats()

Exports record in all Zenodo record export formats. This function will create one file per Zenodo metadata formats.

Usage

ZenodoRecord$exportAsAllFormats(filename)

Arguments

filename

the target filename (without extension)


Method listFiles()

list files attached to the record

Usage

ZenodoRecord$listFiles(pretty = TRUE)

Arguments

pretty

whether a pretty output (data.frame) should be returned (default TRUE), otherwise the raw list of files is returned.

Returns

the files, as data.frame or list


Method downloadFiles()

Downloads files attached to the record

Usage

ZenodoRecord$downloadFiles(
  path = ".",
  files = list(),
  parallel = FALSE,
  parallel_handler = NULL,
  cl = NULL,
  quiet = FALSE,
  overwrite = TRUE,
  timeout = 60,
  ...
)

Arguments

path

target download path (by default it will be the current working directory)

files

(list of) file(s) to download. If not specified, by default all files will be downloaded.

parallel

whether download has to be done in parallel using the chosen parallel_handler. Default is FALSE

parallel_handler

The parallel handler to use eg. mclapply. To use a different parallel handler (such as eg parLapply or parSapply), specify its function in parallel_handler argument. For cluster-based parallel download, this is the way to proceed. In that case, the cluster should be created earlier by the user with makeCluster and passed as cl argument. After downloading all files, the cluster will be stopped automatically.

cl

an optional cluster for cluster-based parallel handlers

quiet

(default is FALSE) can be set to suppress informative messages (not warnings).

overwrite

(default is TRUE) can be set to FALSE to avoid re-downloading existing files.

timeout

(default is 60s) see download.file.

...

arguments inherited from parallel::mclapply or the custom parallel_handler can be added (eg. mc.cores for mclapply)


Method print()

Prints a ZenodoRecord

Usage

ZenodoRecord$print(..., format = "internal", depth = 1)

Arguments

...

any other parameter. Not used

format

format to use for printing. By default, internal uses an zen4R internal printing method. Other methods available are those supported by Zenodo for record export, and can be used only if the record has already been published (with a DOI). Attemps to print using a Zenodo export format for a record will raise a warning message and revert to "internal" format

depth

an internal depth parameter for indentation of print statements, in case of listing or recursive use of print


Method toDCEntry()

Maps to an atom4R DCEntry. Note: applies only to published records.

Usage

ZenodoRecord$toDCEntry()

Returns

an object of class DCEntry


Method getFirstDOI()

Get DOI of the first record version.

Usage

ZenodoRecord$getFirstDOI()

Returns

the first DOI, object of class character


Method getLastDOI()

Get DOI of the latest record version.

Usage

ZenodoRecord$getLastDOI()

Returns

the last DOI, object of class character


Method getVersions()

Get record versions with creation/publication date, version (ordering number) and DOI.

Usage

ZenodoRecord$getVersions()

Returns

a data.frame with the record versions


Method clone()

The objects of this class are cloneable with this method.

Usage

ZenodoRecord$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.