brapi_put_variables_observationVariableDbId: put /variables/{observationVariableDbId}

View source: R/brapi_put_variables_observationVariableDbId.R

brapi_put_variables_observationVariableDbIdR Documentation

put /variables/{observationVariableDbId}

Description

Update an existing Observation Variable

Usage

brapi_put_variables_observationVariableDbId(
  con = NULL,
  observationVariableDbId = "",
  additionalInfo = list(),
  commonCropName = "",
  contextOfUse = "",
  defaultValue = "",
  documentationURL = "",
  externalReferences = "",
  growthStage = "",
  institution = "",
  language = "",
  method = list(),
  observationVariableName = "",
  ontologyReference = list(),
  scale = list(),
  scientist = "",
  status = "",
  submissionTimestamp = "",
  synonyms = "",
  trait = list()
)

Arguments

con

list; required: TRUE; BrAPI connection object

observationVariableDbId

character; required: TRUE; Unique database id, which identifies the variable to be updated.

additionalInfo

list; required: FALSE; Additional arbitrary information. If provided use the following construct list(additionalProp1 = "string", additionalProp2 = "string", additionalProp3 = "string").

The Examples section shows an example on how to construct the additionalInfo argument as a list.

commonCropName

character; required: FALSE; Common name for the crop associated with the observation variable.

contextOfUse

vector of type character; required: FALSE; Indication of how trait is routinely used; default: "", when using multiple values supply as c("value1", "value2")., e.g. c( "Trial evaluation", "Nursery evaluation").

defaultValue

character; required: FALSE; Variable default value, e.g. "red", "2.3", etc.

documentationURL

character; required: FALSE; A URL to the human readable documentation of this object.

externalReferences

data.frame; required: FALSE; A data.frame of external reference ids. These are references to this piece of data in an external system. Could be a simple string or a URI. The externalReferences argument data.frame should contain the following columns:

  • referenceID character; required: TRUE; The external reference ID. Could be a simple string or a URI.

  • referenceSource character; required: TRUE; An identifier for the source system or database of this reference.

The Examples section shows an example of how to construct the externalReferences argument as a data.frame.

growthStage

character; required: FALSE; Growth stage at which measurement is made, e.g. "flowering".

institution

character; required: FALSE; Name of institution submitting the variable.

language

character; required: FALSE; 2 letter ISO 639-1 code for the language of submission of the variable, e.g. en.

method

list; required: FALSE; Method used for the observation variable . The method list can contain the following elements:

  • additionalInfo list; required: FALSE; Additional arbitrary information . If provided use the following construct list(additionalProp1 = "string", additionalProp2 = "string", additionalProp3 = "string").

    The Examples section shows an example on how to construct the additionalInfo element as a list within the method argument.

  • bibliographicalReference character; required: FALSE; Bibliographical reference describing the method. MIAPPE V1.1 (DM-91) Reference associated to the method - URI/DOI of reference describing the method.

  • description character; required: FALSE; Method description. MIAPPE V1.1 (DM-90) Method description - Textual description of the method, which may extend a method defined in an external reference with specific parameters, e.g. growth stage, inoculation precise organ (leaf number).

  • externalReferences data.frame; required: FALSE; A data.frame of external reference ids. These are references to this piece of data in an external system. Could be a simple string or a URI. The externalReferences argument data.frame should contain the following columns:

    • referenceID character; required: TRUE; The external reference ID. Could be a simple string or a URI.

    • referenceSource character; required: TRUE; An identifier for the source system or database of this reference.

    The Examples section shows an example of how to construct the externalReferences element as a data.frame within the method argument.

  • formula character; required: FALSE; For computational methods, i.e. when the method consists in assessing the trait by computing measurements, write the generic formula used for the calculation.

  • methodClass character; required: FALSE; Method class (examples: "Measurement", "Counting", "Estimation", "Computation", etc.).

  • methodDbId character; required: FALSE; Method unique identifier. The following cases exist:

    • If not provided a new method will be created (generates the methodDbId).

    • When only provided within the method list, the method will be changed to the one existing within the database with that specific methodDbId.

    • When provided with other method list elements from the method list, the existing method with that specific methodDbId will updated within the database.

  • methodName character; required: FALSE; Human readable name for the method. MIAPPE V1.1 (DM-88) Method Name of the method of observation.

  • ontologyReference list; required: FALSE; MIAPPE V1.1 (DM-85) Variable accession number - Accession number of the variable in the Crop Ontology. (DM-87) Trait accession number - Accession number of the trait in a suitable controlled vocabulary (Crop Ontology, Trait Ontology). (DM-89) Method accession number - Accession number of the method in a suitable controlled vocabulary (Crop Ontology, Trait Ontology). (DM-93) Scale accession number - Accession number of the scale in a suitable controlled vocabulary (Crop Ontology).

    The ontolgyReference list should/can contain the following elements:

    • documentationLinks data.frame; required: FALSE; Links to various ontology documentation. Each row in the documentationLinks data.frame should contain the following columns:

      • URL character; required: FALSE; A uniform resource locator specified as a valid uniform resource identifier (URI), e.g. http://purl.obolibrary.org/obo/ro.owl

      • type character; required: FALSE; one of "OBO"| "RDF"|"WEBPAGE".

    • ontologyDbId character; required: TRUE; Ontology database unique identifier.

    • ontologyName character; required: TRUE; Ontology name, e.g. the Crop Ontology.

    • version character; required: FALSE; Ontology version (no specific format).

    The Examples section shows an example of how to construct the ontologyReference element as a list within the method argument.

observationVariableName

character; required: FALSE; Variable name (usually a short name).

ontologyReference

list; required: FALSE; MIAPPE V1.1 (DM-85) Variable accession number - Accession number of the variable in the Crop Ontology. (DM-87) Trait accession number - Accession number of the trait in a suitable controlled vocabulary (Crop Ontology, Trait Ontology). (DM-89) Method accession number - Accession number of the method in a suitable controlled vocabulary (Crop Ontology, Trait Ontology). (DM-93) Scale accession number - Accession number of the scale in a suitable controlled vocabulary (Crop Ontology).

The ontolgyReference list should/can contain the following elements:

  • documentationLinks data.frame; required: FALSE; Links to various ontology documentation. Each row in the documentationLinks data.frame should contain the following columns:

    • URL character; required: FALSE; A uniform resource locator specified as a valid uniform resource identifier (URI), e.g. http://purl.obolibrary.org/obo/ro.owl

    • type character; required: FALSE; one of "OBO"| "RDF"|"WEBPAGE".

  • ontologyDbId character; required: TRUE; Ontology database unique identifier.

  • ontologyName character; required: TRUE; Ontology name, e.g. the Crop Ontology.

  • version character; required: FALSE; Ontology version (no specific format).

The Examples section shows an example of how to construct the ontologyReference argument as a list.

scale

list; required: FALSE; Scale metadata used for the observation variable. The scale list can contain the following elements:

  • additionalInfo list; required: FALSE; Additional arbitrary information . If provided use the following construct list(additionalProp1 = "string", additionalProp2 = "string", additionalProp3 = "string").

    The Examples section shows an example on how to construct the additionalInfo element as a list within the scale argument.

  • dataType character; required: FALSE; Class of the scale, entries can be:

    • "Code" - This scale class is exceptionally used to express complex traits. Code is a nominal scale that combines the expressions of the different traits composing the complex trait. For example a severity trait might be expressed by a 2 digit and 2 character code. The first 2 digits are the percentage of the plant covered by a fungus and the 2 characters refer to the delay in development, e.g. "75VD" means "75 %" of the plant is infected and the plant is very delayed.

    • "Date" - The date class is for events expressed in a time format, coded in the ISO 8601 standard extended format, where date, time and time zone information needs to be provided (check for example https://www.w3.org/TR/NOTE-datetime.

    • "Duration" - The Duration class is for time elapsed between two events expressed in a time format, e.g. days, hours, months.

    • "Nominal" - Categorical scale that can take one of a limited and fixed number of categories. There is no intrinsic ordering to the categories.

    • "Numerical" - Numerical scales express the trait with real numbers. The numerical scale defines the unit e.g. centimeter, ton per hectare, branches.

    • "Ordinal" - Ordinal scales are scales composed of ordered categories.

    • "Text" - A free text is used to express the trait.

  • decimalPlaces integer; required: FALSE; For numerical, number of decimal places to be reported.

  • externalReferences data.frame; required: FALSE; A data.frame of external reference ids. These are references to this piece of data in an external system. Could be a simple string or a URI. The externalReferences argument data.frame should contain the following columns:

    • referenceID character; required: TRUE; The external reference ID. Could be a simple string or a URI.

    • referenceSource character; required: TRUE; An identifier for the source system or database of this reference.

    The Examples section shows an example of how to construct the externalReferences element as a data.frame within the scale argument.

  • ontologyReference list; required: FALSE; MIAPPE V1.1 (DM-85) Variable accession number - Accession number of the variable in the Crop Ontology. (DM-87) Trait accession number - Accession number of the trait in a suitable controlled vocabulary (Crop Ontology, Trait Ontology). (DM-89) Method accession number - Accession number of the method in a suitable controlled vocabulary (Crop Ontology, Trait Ontology). (DM-93) Scale accession number - Accession number of the scale in a suitable controlled vocabulary (Crop Ontology).

    The ontolgyReference list should/can contain the following elements:

    • documentationLinks data.frame; required: FALSE; Links to various ontology documentation. Each row in the documentationLinks data.frame should contain the following columns:

      • URL character; required: FALSE; A uniform resource locator specified as a valid uniform resource identifier (URI), e.g. http://purl.obolibrary.org/obo/ro.owl

      • type character; required: FALSE; one of "OBO"| "RDF"|"WEBPAGE".

    • ontologyDbId character; required: TRUE; Ontology database unique identifier.

    • ontologyName character; required: TRUE; Ontology name, e.g. the Crop Ontology.

    • version character; required: FALSE; Ontology version (no specific format).

    The Examples section shows an example of how to construct the ontologyReference element as a list within the scale argument.

  • scaleDbId character; required: FALSE; Unique identifier of the scale. The following cases exist:

    • If not provided a new scale will be created (generates the scaleDbId).

    • When only provided within the scale list, the scale will be changed to the one existing within the database with that specific scaleDbId.

    • When provided with other scale list elements from the scale list, the existing scale with that specific scaleDbId will updated within the database.

  • scaleName character; required: FALSE; Name of the scale. MIAPPE V1.1 (DM-92) Scale Name of the scale associated with the variable.

  • validValues list; required: FALSE; Valid values for the scale. The validValues list can contain the following elements:

    • categories data.frame; required: FALSE; data.frame of possible values with optional labels. Each row in the categories data.frame must have the following columns:

      • label character; required: FALSE; A text label for a category.

      • value character; required: FALSE; The actual value for a category.

    • max integer; required: FALSE; Maximum value (used for field data capture control) for numerical and date scales.

    • min integer; required: FALSE; Minimum value (used for field data capture control) for numerical and date scales.

    The Examples section shows an example of how to construct the validValues element as a list within the scale argument.

scientist

character; required: FALSE; Name of scientist submitting the variable.

status

character; required: FALSE; Variable status, examples: "recommended", "obsolete", "legacy", etc.

submissionTimestamp

character; required: FALSE; The date and time when the variable was added. Coded in the ISO 8601 standard extended format, where date, time and time zone information needs to be provided (check for example https://www.w3.org/TR/NOTE-datetime).

synonyms

vector of type character; required: FALSE; Other variable names; default: "", when using multiple values supply as c( "value1", "value2").

trait

list; required: FALSE; Trait metadata used for the observation variable. The trait list can contain the following elements:

  • additionalInfo list; required: FALSE; Additional arbitrary information . If provided use the following construct list(additionalProp1 = "string", additionalProp2 = "string", additionalProp3 = "string").

    The Examples section shows an example on how to construct the additionalInfo element as a list within the trait argument.

  • alternativeAbbreviations vector of type character; required: FALSE; Other frequent abbreviations of the trait, if any. These abbreviations do not have to follow a convention; default: "", when using multiple values supply as c("value1", "value2").

  • attribute character; required: FALSE; A trait can be decomposed as "Trait" = "Entity" + "Attribute", the attribute is the observed feature (or characteristic) of the entity, e.g. for "grain colour", attribute = "colour".

  • entity character; required: FALSE; A trait can be decomposed as "Trait" = "Entity" + "Attribute", the entity is the part of the plant that the trait refers to, e.g. for "grain colour", entity = "grain".

  • externalReferences data.frame; required: FALSE; A data.frame of external reference ids. These are references to this piece of data in an external system. Could be a simple string or a URI. The externalReferences argument data.frame should contain the following columns:

    • referenceID character; required: TRUE; The external reference ID. Could be a simple string or a URI.

    • referenceSource character; required: TRUE; An identifier for the source system or database of this reference.

    The Examples section shows an example of how to construct the externalReferences element as a data.frame within the trait argument.

  • mainAbbreviation character; required: FALSE; Main abbreviation for trait name, e.g. "Carotenoid content" => "CC".

  • ontologyReference list; required: FALSE; MIAPPE V1.1 (DM-85) Variable accession number - Accession number of the variable in the Crop Ontology. (DM-87) Trait accession number - Accession number of the trait in a suitable controlled vocabulary (Crop Ontology, Trait Ontology). (DM-89) Method accession number - Accession number of the method in a suitable controlled vocabulary (Crop Ontology, Trait Ontology). (DM-93) Scale accession number - Accession number of the scale in a suitable controlled vocabulary (Crop Ontology).

    The ontolgyReference list should/can contain the following elements:

    • documentationLinks data.frame; required: FALSE; Links to various ontology documentation. Each row in the documentationLinks data.frame should contain the following columns:

      • URL character; required: FALSE; A uniform resource locator specified as a valid uniform resource identifier (URI), e.g. http://purl.obolibrary.org/obo/ro.owl

      • type character; required: FALSE; one of "OBO"| "RDF"|"WEBPAGE".

    • ontologyDbId character; required: TRUE; Ontology database unique identifier.

    • ontologyName character; required: TRUE; Ontology name, e.g. the Crop Ontology.

    • version character; required: FALSE; Ontology version (no specific format).

    The Examples section shows an example of how to construct the ontologyReference element as a list within the trait argument.

  • status character; required: FALSE; Trait status, e.g. "recommended", "obsolete", "legacy", etc..

  • synonyms vector of type character; required: FALSE; Other trait names; default: "", when using multiple values supply as c( "value1", "value2").

  • traitClass character; required: FALSE; Trait class, examples: "morphological", "phenological", "agronomical", "physiological", "abiotic stress", "biotic stress", "biochemical", "quality traits", "fertility", etc.).

  • traitDbId character; required: FALSE; The data base ID which uniquely identifies a trait. The following cases exist:

    • If not provided a new trait will be created (generates the traitDbId).

    • When only provided within the trait list, the trait will be changed to the one existing within the database with that specific traitDbId.

    • When provided with other trait list elements from the trait list, the existing trait with that specific traitDbId will updated within the database.

  • traitDescription character; required: FALSE; The description of a trait.

  • traitName character; required: FALSE; The human readable name of a trait. MIAPPE V1.1 (DM-86) Trait - Name of the (plant or environmental) trait under observation.

Details

Update an existing Observation Variable

Value

data.frame

Author(s)

Maikel Verouden

References

BrAPI SwaggerHub

See Also

Other brapi-phenotyping: brapi_get_events(), brapi_get_images_imageDbId(), brapi_get_images(), brapi_get_methods_methodDbId(), brapi_get_methods(), brapi_get_observationlevels(), brapi_get_observations_observationDbId(), brapi_get_observations_table(), brapi_get_observations(), brapi_get_observationunits_observationUnitDbId(), brapi_get_observationunits_table(), brapi_get_observationunits(), brapi_get_ontologies(), brapi_get_scales_scaleDbId(), brapi_get_scales(), brapi_get_search_images_searchResultsDbId(), brapi_get_search_observations_searchResultsDbId(), brapi_get_search_observationunits_searchResultsDbId(), brapi_get_search_variables_searchResultsDbId(), brapi_get_traits_traitDbId(), brapi_get_traits(), brapi_get_variables_observationVariableDbId(), brapi_get_variables(), brapi_post_images(), brapi_post_methods(), brapi_post_observations(), brapi_post_observationunits(), brapi_post_scales(), brapi_post_search_images(), brapi_post_search_observations(), brapi_post_search_observationunits(), brapi_post_search_variables(), brapi_post_traits(), brapi_post_variables(), brapi_put_images_imageDbId_imagecontent(), brapi_put_images_imageDbId(), brapi_put_methods_methodDbId(), brapi_put_observations_observationDbId(), brapi_put_observationunits_observationUnitDbId(), brapi_put_scales_scaleDbId(), brapi_put_traits_traitDbId()

Other Observation Variables: brapi_get_search_variables_searchResultsDbId(), brapi_get_variables_observationVariableDbId(), brapi_get_variables(), brapi_post_search_variables(), brapi_post_variables()

Examples

## Not run: 
con <- brapi_db()$testserver
con[["token"]] <- "YYYY"
additionalInfo <- list(dummyData = "TRUE",
                       example = "post_variables")
commonCropName <- "Tomatillo"
contextOfUse <- c("Trial evaluation", "Nursery evaluation")
defaultValue <- "2.0"
documentationURL <- "https://wiki.brapi.org/documentation.html"
externalReferences <-
  data.frame(referenceID = c("doi:10.155454/12341234",
                             "http://purl.obolibrary.org/obo/ro.owl",
                             "75a50e76"),
             referenceSource = c("DOI",
                                 "OBO Library",
                                 "Remote Data Collection Upload Tool"))
growthStage <- "flowering"
institution <- "The BrAPI Institute"
language <- "en"
## Use an existing method
# method <- list(methodDbId = "method_variabble1")
## Or create a new method (automatically adds a methodDbId)
method <- list(
  additionalInfo = list(dummyData = "TRUE",
                        example = "post_variables add method"),
  bibliographicalReference = "Smith, 1893, Really Cool Paper, Popular Journal",
  description = "Discriminant for root finding of quadratic functions",
  externalReferences = data.frame(
    referenceID = c("doi:10.155454/12341234",
                    "http://purl.obolibrary.org/obo/ro.owl",
                    "75a50e76"),
    referenceSource = c("DOI",
                        "OBO Library",
                        "Remote Data Collection Upload Tool")),
  formula = "b^2 - 4ac",
  methodClass = "Computation",
  methodName = "Discriminant",
  ontologyReference = list(
    documentationLinks = data.frame(
      URL = c("http://purl.obolibrary.org/obo/ro.owl",
              "https://en.wikipedia.org/wiki/Method"),
      type = c("OBO",
               "WEBPAGE")),
    ontologyDbId = "ontology_attribute1",
    ontologyName = "Ontology.org",
    version = "17"))
observationVariableName <- "Variable Name"
ontologyReference <- list(
  documentationLinks = data.frame(
    URL = c("http://purl.obolibrary.org/obo/ro.owl",
            "https://en.wikipedia.org/wiki/Variable"),
    type = c("OBO",
             "WEBPAGE")),
  ontologyDbId = "ontology_variable1",
  ontologyName = "Ontology.org",
  version = "17")
## Use an existing scale
# scale <- list(scaleDbId = "scale_variabble1")
## Or create a new scale (automatically adds a scaleDbId)
scale <- list(
  additionalInfo = list(dummyData = "TRUE",
                        example = "post_variables add scale"),
  dataType = "Numerical",
  decimalPlaces = 2,
  externalReferences = data.frame(
    referenceID = c("doi:10.155454/12341234",
                    "http://purl.obolibrary.org/obo/ro.owl",
                    "75a50e76"),
    referenceSource = c("DOI",
                        "OBO Library",
                        "Remote Data Collection Upload Tool")),
  ontologyReference = list(
    documentationLinks = data.frame(
      URL = c("http://purl.obolibrary.org/obo/ro.owl",
              "https://en.wikipedia.org/wiki/Scale"),
      type = c("OBO",
               "WEBPAGE")),
    ontologyName = "Ontology.org",
    version = "17"),
  scaleName = "Meters",
  validValues = list(
    categories = data.frame(
      label = c("low", "medium", "high"),
      value = c("0", "5", "10")),
    max = 9999,
    min = 2))
scientist <- "Dr. Bob Robertson"
status <- "recommended"
submissionTimestamp <- "2021-09-18T10:56:10.855Z"
synonyms <- c("Tomatillo Height",
              "Stalk Height")
## Use an existing trait
# trait <- list(traitDbId = "trait_variabble1")
## Or create a new trait (automatically adds a traitDbId)
trait <- list(
  additionalInfo = list(dummyData = "TRUE",
                         example = "post_variables add trait"),
  alternativeAbbreviations = c("PHght", "Hght"),
  attribute = "height",
  entity = "plant",
  externalReferences = data.frame(
    referenceID = c("doi:10.155454/12341234",
                    "http://purl.obolibrary.org/obo/ro.owl",
                    "75a50e76"),
    referenceSource = c("DOI",
                        "OBO Library",
                        "Remote Data Collection Upload Tool")),
  mainAbbreviation = "PH",
  ontologyReference = list(
    documentationLinks = data.frame(
      URL = c("http://purl.obolibrary.org/obo/ro.owl",
              "https://www.cropontology.org/terms/CO_323:0000024/"),
      type = c("OBO",
               "WEBPAGE")),
    ontologyDbId = "ontology_variable1",
    ontologyName = "Ontology.org",
    version = "17"),
  status = "recommended",
  synonyms = c("Height",
               "Plant Height",
               "Stalk Height",
               "Canopy Height"),
  traitClass = "agronomical",
  traitDescription = "The height of plant from ground to top part",
  traitName = "Plant height")
## POST /variables to add a new variable
out <- brapi_post_variables(
  con = con,
  additionalInfo = additionalInfo,
  commonCropName = commonCropName,
  contextOfUse = contextOfUse,
  defaultValue = defaultValue,
  documentationURL = documentationURL,
  externalReferences = externalReferences,
  growthStage = growthStage,
  institution = institution,
  language = language,
  method = method,
  observationVariableName = observationVariableName,
  ontologyReference = ontologyReference,
  scale = scale,
  scientist = scientist,
  submissionTimestamp = submissionTimestamp,
  synonyms = synonyms,
  trait = trait)
## Obtain the observationVariableDbId of the new variable
observationVariableDbId <- unique(out$observationVariableDbId)
methodDbId <- unique(out$method.methodDbId)
scaleDbId <- unique(out$scale.scaleDbId)
traitDbId <- unique(out$trait.traitDbId)
## Update the information of the new observation variable
brapi_put_variables_observationVariableDbId(
  con = con,
  observationVariableDbId = observationVariableDbId,
  additionalInfo = list(
    dummyData = "TRUE",
    example = "put_variables_observationVariableDbId"),
  commonCropName = "Paw Paw",
  method = list( # update method
    methodDbId = methodDbId,
    methodName = "Root finding discriminant"),
  scale = list( # replace scale
    scaleDbId = "scale_variable2"))

## End(Not run)


mverouden/brapir-v2 documentation built on April 22, 2022, 9:24 a.m.