A class for working with data resources. You can read or iterate tabular resources
using the iter/ read methods and all resource as bytes using
rowIter/ rowRead methods.
# Resource.load(descriptor = list(), basePath = NA, strict = FALSE, dataPackage = list())
R6Class object.
Object of R6Class.
Resource$new(descriptor = descriptor, strict = strict)Use Resource.load to instantiate Resource class.
iter(keyed, extended, cast = TRUE, relations = FALSE, stream = FALSE)Only for tabular resources - Iter through the table data and emits rows cast based on table schema. Data casting could be disabled.
keyed Iter keyed rows - TRUE/ FALSE.
extended Iter extended rows - TRUE/FALSE.
cast Disable data casting if FALSE.
relations If TRUE foreign key fields will be checked and resolved to its references.
stream Return Readable Stream of table rows if TRUE.
read(keyed, extended, cast = TRUE, relations = FALSE, limit)Only for tabular resources. Read the whole table and returns as list of rows. Count of rows could be limited.
keyed Flag to emit keyed rows - TRUE/FALSE.
extended Flag to emit extended rows - TRUE/FALSE.
cast Disable data casting if FALSE.
relations If TRUE foreign key fields will be checked and resolved to its references.
limit Integer limit of rows to return if specified.
checkRelations()Only for tabular resources. It checks foreign keys and raises an exception if there are integrity issues.
Returns TRUE if no issues.
rawIter(stream = FALSE)Iterate over data chunks as bytes. If stream is TRUE Iterator will be returned.
stream Iterator will be returned.
rawRead()Returns resource data as bytes.
infer()Infer resource metadata like name, format, mediatype, encoding, schema and profile. It commits this changes into resource instance. Returns resource descriptor.
commit(strict)Update resource instance if there are in-place changes in the descriptor. Returns TRUE on success and FALSE if not modified.
strict Boolean - Alter strict mode for further work.
save(target)For now only descriptor will be saved. Save resource to target destination.
target String path where to save a resource.
validReturns validation status. It always TRUE in strict mode.
errorsReturns validation errors. It always empty in strict mode.
profileReturns an instance of Profile class.
descriptorReturns list of resource descriptor.
nameReturns a string of resource name.
inlineReturns TRUE if resource is inline.
localReturns TRUE if resource is local.
remoteReturns TRUE if resource is remote.
multipartReturns TRUE if resource is multipart.
tabularReturns TRUE if resource is tabular.
sourceReturns a list/string of data/path property respectively.
headersReturns a string of data source headers.
schemaReturns a Schema instance to interact with data schema. Read API documentation - tableschema.Schema or Schema
The Data Resource format describes a data resource such as an individual file or table. The essence of a Data Resource is a locator for the data it describes. A range of other properties can be declared to provide a richer set of metadata.
Packaged data resources are described in the resources property of the package descriptor.
This property MUST be an array of objects. Each object MUST follow the Data Resource specification.
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT,
SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL
in this package documents are to be interpreted as described in RFC 2119.
new()Resource$new(descriptor, basePath, strict = FALSE, dataPackage = list())
iter()Resource$iter(relations = FALSE, options = list())
read()Resource$read(relations = FALSE, ...)
checkRelations()Resource$checkRelations()
rawIter()Resource$rawIter(stream = FALSE)
rawRead()Resource$rawRead()
infer()Resource$infer()
commit()Resource$commit(strict = NULL)
save()Resource$save(target)
clone()The objects of this class are cloneable with this method.
Resource$clone(deep = FALSE)
deepWhether to make a deep clone.