| MNode-class | R Documentation |
MNode provides functions that interact with a DataONE Member Node (MN). A MN is a repository that provides access for reading and writing data and metadata using the DataONE MN service API. The MN API includes functions for retrieving data and metadata based on its unique persistent identifier (pid), as well as for creating, updating, and archiving these data and metadata objects.
Methods that perform write operations (such as createObject and updateObject) on the MN generally
require authentication. For MNs that have implemented the DataONE API version 2.0 and higher, these operations can utilize an
authentication token to provide credentials for write operations in DataONE.
The authentication token is obtained from DataONE (see your account profile on https://search.dataone.org).
See the vignette("v01-dataone-overview") for details.
endpointThe url to access node services, which is the baseURL plus the version string
MNode(): Create a MNode object representing a DataONE Member Node repository
createObject(): Create an object on a Member Node
getObject(): Get the bytes associated with an object on the Member Node
getCapabilities(): Get the node capabilities description, and store the information in the MNode
generateIdentifier(): Get a unique identifier that is generated by the Member Node repository and guaranteed to be unique
getPackage(): Download a data package from a member node
updateObject(): Update an object to a Member Node, by creating a new object that replaces an original
updateSystemMetadata(): Update the system metadata associated with an object
dataone() package description.
## Not run:
library(dataone)
library(uuid)
library(digest)
cn <- CNode("STAGING")
mn <- getMNode(cn, "urn:node:mnStageUCSB2")
mnid <- mn@identifier
# Have Dataone create an identifier for you (requires authentication)
\dontrun{
newid <- generateIdentifier(mn, "UUID")
}
# Create an identifier manually
newid <- paste("urn:uuid:", UUIDgenerate(), sep="")
testdf <- data.frame(x=1:10,y=11:20)
csvfile <- paste(tempfile(), ".csv", sep="")
write.csv(testdf, csvfile, row.names=FALSE)
f <- "text/csv"
size <- file.info(csvfile)$size
sha256 <- digest(csvfile, algo="sha256", serialize=FALSE, file=TRUE)
sysmeta <- new("SystemMetadata", identifier=newid, formatId=f, size=size,
checksum=sha256, originMemberNode=mnid, authoritativeMemberNode=mnid)
# Upload data to DataONE (requires authentication)
\dontrun{
response <- createObject(mn, newid, csvfile, sysmeta)
}
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.