Schema {tableschema.r} | R Documentation |
Schema class
Description
A model of a schema with helpful methods for working with the schema and supported data.
Schema instances can be initialized with a schema source as a url to a JSON file or a JSON object.
The schema is initially validated (see validate).
By default validation errors will be stored in $errors
but in a strict mode it will be instantly raised.
Usage
# Schema.load(descriptor, strict=FALSE)
Arguments
descriptor |
schema descriptor, a JSON string, URL or file |
strict |
flag to alter validation behaviour:
|
Format
R6Class
object.
Value
Object of R6Class
.
Methods
Schema$new(descriptor = descriptor, strict = strict)
-
Use
Schema.load
to instantiateSchema
class. getField(name)
-
Get schema field by name.
name
String with schema field name.(Field/NULL)
ReturnsField
instance orNULL
if not found.
addField(descriptor)
-
Add new field to schema. The schema descriptor will be validated with newly added field descriptor.
descriptor
List of field descriptor.TableSchemaError
Raises any error occured in the process.(Field/NULL)
Returns addedField
instance orNULL
if not added.
removeField(name)
-
Remove field resource by name. The schema descriptor will be validated after field descriptor removal.
name
String with schema field name.TableSchemaError
Raises any error occured in the process.(Field/NULL)
Returns removedField
instances orNULL
if not found.
castRow(row)
-
Cast row based on field types and formats.
row
Data row as a list of values.(any)
Returns cast data row.
infer(rows, headers=1)
-
Cast row based on field types and formats.
rows
List of lists representing rows.headers
data sample headers, one of:row number containing headers (
rows
should contain headers rows)list of headers (
rows
should NOT contain headers rows)
{Object}
Returns Table Schema descriptor.
commit(strict)
-
Cast row based on field types and formats.
strict
Boolean, alter strict mode for further work.TableSchemaError
Raises any error occured in the process.(Boolean)
ReturnsTRUE
on success andFALSE
if not modified.
save(target)
-
Cast row based on field types and formats.
target
String, path where to save a descriptor.TableSchemaError
Raises any error occured in the process.(Boolean)
ReturnsTRUE
on success.
Properties
valid
Returns validation status. It always
TRUE
in strict mode.errors
Returns validation errors. It always empty in strict mode.
descriptor
Returns list of schema descriptor.
primaryKey
Returns string list of schema primary key.
foreignKeys
Returns list of schema foreign keys.
fields
Returns list of
Field
instances.fieldNames
Returns a list of field names.
Language
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.
See Also
Schema.load
,
Table Schema Specifications