| SwordDataverseClient {atom4R} | R Documentation |
SWORD Dataverse client class
Description
This class models an Sword service Dataverse-specific API client
Format
R6Class object.
Details
SwordDataverseClient
Value
Object of R6Class for modelling an Sword Dataverse-specific APIclient
Super classes
atom4R::atom4RLogger -> atom4R::AtomPubClient -> atom4R::SwordClient -> SwordDataverseClient
Methods
Public methods
Inherited methods
atom4R::atom4RLogger$ERROR()atom4R::atom4RLogger$INFO()atom4R::atom4RLogger$WARN()atom4R::atom4RLogger$getClass()atom4R::atom4RLogger$getClassName()atom4R::atom4RLogger$logger()atom4R::AtomPubClient$getPwd()atom4R::AtomPubClient$getToken()atom4R::AtomPubClient$getUser()atom4R::AtomPubClient$listCollections()
Method new()
This method is to instantiate an Sword API Dataverse-specific Client.
The keyring_backend can be set to use a different backend for storing
the SWORD DataVerse API user token with keyring (Default value is 'env').
The logger allows to specify the level of log (default is NULL), either "INFO"
for atom4R logs or "DEBUG" for verbose HTTP client (curl) logs.
Usage
SwordDataverseClient$new( hostname, token = NULL, logger = NULL, keyring_backend = "env" )
Arguments
hostnamehost name
tokentoken
loggerlogger
keyring_backendkeyring backend. Default is 'env'
Method getServiceDocument()
Get service document
Usage
SwordDataverseClient$getServiceDocument(force = FALSE)
Arguments
forceforce Force getting/refreshing of service document
Returns
object of class SwordServiceDocument
Method getCollectionMembers()
Get collection members
Usage
SwordDataverseClient$getCollectionMembers(collectionId)
Arguments
collectionIdcollection ID
Returns
a list of AtomFeed
Method getDataverses()
Get dataverses. Equivalent to listCollections() from AtomPubClient
Usage
SwordDataverseClient$getDataverses(pretty = FALSE)
Arguments
prettyprettify output as
data.frame. Default isFALSE
Returns
an object of class data.frame
Method getDataverse()
Get dataverse members by dataverse name. Equivlaent to getCollectionMembers()
Usage
SwordDataverseClient$getDataverse(dataverse)
Arguments
dataversedataverse name
Returns
a list of AtomFeed
Method editDataverseEntry()
Edits a dataverse entry
Usage
SwordDataverseClient$editDataverseEntry(identifier)
Arguments
identifieridentifier
Returns
an object of class AtomEntry
Method getDataverseRecord()
Get dataverse record
Usage
SwordDataverseClient$getDataverseRecord(identifier)
Arguments
identifieridentifier
Returns
an object of class AtomFeed
Method createDataverseRecord()
Creates a dataverse record
Usage
SwordDataverseClient$createDataverseRecord(dataverse, entry)
Arguments
dataversedataverse name
entryentry
thecreated AtomEntry
Method updateDataverseRecord()
Updates a dataverse record
Usage
SwordDataverseClient$updateDataverseRecord(dataverse, entry, identifier)
Arguments
dataversedataverse name
entryentry
identifieridentifier of the entry to update
thecreated AtomEntry
Method deleteDataverseRecord()
Deletes a dataverse record
Usage
SwordDataverseClient$deleteDataverseRecord(identifier)
Arguments
identifieridentifier
Returns
TRUE if deleted, or returns an error otherwise
Method publishDataverseRecord()
Publishes a dataverse record
Usage
SwordDataverseClient$publishDataverseRecord(identifier)
Arguments
identifieridentifier
Returns
the published AtomEntry
Method addFilesToDataverseRecord()
Add files to a dataverse record
Usage
SwordDataverseClient$addFilesToDataverseRecord(identifier, files)
Arguments
identifieridentifier
filesfiles
Method deleteFilesFromDataverseRecord()
Deletes files from a Dataverse record
Usage
SwordDataverseClient$deleteFilesFromDataverseRecord(identifier, files = NULL)
Arguments
identifieridentifier
filesfiles
Returns
an object of class data.frame giving each file and it's deletion status
Method clone()
The objects of this class are cloneable with this method.
Usage
SwordDataverseClient$clone(deep = FALSE)
Arguments
deepWhether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
#connect to SWORD Dataverse API
SWORD <- SwordDataverseClient$new(
hostname = "localhost:8085",
token = "<token>",
logger = "DEBUG"
)
#for detailed operations check the wiki at:
#https://github.com/eblondel/atom4R/wiki#atom4R-publish-sword-dataverse
## End(Not run)