Skip to content

Class: Schema

Defines data type and rules for validating user provided parameter values. Subclasses (see below) define for each data type their own set of validation rules that can be used. The value MUST be validated against all rules defined in the schema.

 classDiagram
    class Schema
    click Schema href "../Schema/"
      Schema <|-- TextValidationSchema
        click TextValidationSchema href "../TextValidationSchema/"
      Schema <|-- BooleanValidationSchema
        click BooleanValidationSchema href "../BooleanValidationSchema/"
      Schema <|-- NumericIntegerValidationSchema
        click NumericIntegerValidationSchema href "../NumericIntegerValidationSchema/"
      Schema <|-- NumericDoubleValidationSchema
        click NumericDoubleValidationSchema href "../NumericDoubleValidationSchema/"
      Schema <|-- SelectValidationSchema
        click SelectValidationSchema href "../SelectValidationSchema/"

      Schema : dataType

      Schema : name

Inheritance

Attributes

Name Cardinality and Range Description Inheritance
name 1
string
The name of the schema rule direct
dataType 1
string
Indicates the expected data type for the user provided value direct

Usages

used by used in type used
Configuration schema range Schema
Setting schema range Schema

This section is only relevant for contributors of the specification

LinkML Source

Direct

Details
name: Schema
description: Defines data type and rules for validating user provided parameter values.
  Subclasses (see below) define for each data type their own set of validation rules
  that can be used. The value MUST be validated against all rules defined in the schema.
from_schema: https://specification.margo.org/data-model
attributes:
  name:
    name: name
    description: The name of the schema rule. This used in the [setting](#setting-attributes)
      to link the setting to the schema rule.
    from_schema: https://specification.margo.org/application-schema
    identifier: true
    domain_of:
    - Component
    - Parameter
    - DeploymentMetadata
    - ApplicationMetadata
    - Author
    - Organization
    - Section
    - Setting
    - Schema
    - ComponentStatus
    range: string
    required: true
  dataType:
    name: dataType
    description: Indicates the expected data type for the user provided value. Accepted
      values are string, integer, double, boolean, array[string], array[integer],
      array[double], array[boolean]. At a minimum, the provided parameter value MUST
      match the schema's data type if no other validation rules are provided.
    from_schema: https://specification.margo.org/application-schema
    domain_of:
    - Schema
    range: string
    required: true

Induced

Details
name: Schema
description: Defines data type and rules for validating user provided parameter values.
  Subclasses (see below) define for each data type their own set of validation rules
  that can be used. The value MUST be validated against all rules defined in the schema.
from_schema: https://specification.margo.org/data-model
attributes:
  name:
    name: name
    description: The name of the schema rule. This used in the [setting](#setting-attributes)
      to link the setting to the schema rule.
    from_schema: https://specification.margo.org/application-schema
    identifier: true
    alias: name
    owner: Schema
    domain_of:
    - Component
    - Parameter
    - DeploymentMetadata
    - ApplicationMetadata
    - Author
    - Organization
    - Section
    - Setting
    - Schema
    - ComponentStatus
    range: string
    required: true
  dataType:
    name: dataType
    description: Indicates the expected data type for the user provided value. Accepted
      values are string, integer, double, boolean, array[string], array[integer],
      array[double], array[boolean]. At a minimum, the provided parameter value MUST
      match the schema's data type if no other validation rules are provided.
    from_schema: https://specification.margo.org/application-schema
    alias: dataType
    owner: Schema
    domain_of:
    - Schema
    range: string
    required: true