Data descriptors

Contents

Data descriptors#

Data descriptors#

Pydantic model esgvoc.api.data_descriptors.Activity[source]#

Bases: PlainTermDataDescriptor

An ‘activity’ refers to a coordinated set of modeling experiments designed to address specific scientific questions or objectives. Each activity is focused on different aspects of climate science and utilizes various models to study a wide range of climate phenomena. Activities are often organized around key research themes and may involve multiple experiments, scenarios, and model configurations.

Show JSON schema
{
   "title": "Activity",
   "description": "An 'activity' refers to a coordinated set of modeling experiments designed to address specific     scientific questions or objectives. Each activity is focused on different aspects of climate     science and utilizes various models to study a wide range of climate phenomena.     Activities are often organized around key research themes and may involve multiple experiments,     scenarios, and model configurations.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "long_name": {
         "title": "Long Name",
         "type": "string"
      },
      "url": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Url"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "name",
      "long_name",
      "url"
   ]
}

field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field long_name: str [Required][source]#
field name: str [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

field url: str | None [Required][source]#
accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.AreaLabel[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "AreaLabel",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "label": {
         "title": "Label",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "description",
      "label"
   ]
}

field description: str [Required][source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field label: str [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.BrandedSuffix[source]#

Bases: CompositeTermDataDescriptor

Show JSON schema
{
   "title": "BrandedSuffix",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "separator": {
         "title": "Separator",
         "type": "string"
      },
      "parts": {
         "items": {
            "$ref": "#/$defs/CompositeTermPart"
         },
         "title": "Parts",
         "type": "array"
      },
      "description": {
         "title": "Description",
         "type": "string"
      }
   },
   "$defs": {
      "CompositeTermPart": {
         "additionalProperties": true,
         "description": "A reference to a term, part of a composite term.",
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "is_required": {
               "title": "Is Required",
               "type": "boolean"
            }
         },
         "required": [
            "id",
            "type",
            "is_required"
         ],
         "title": "CompositeTermPart",
         "type": "object"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "separator",
      "parts",
      "description"
   ]
}

field description: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field parts: list[CompositeTermPart] [Required][source]#

The components.

field separator: str [Required][source]#

The components separator character.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.BrandedVariable[source]#

Bases: CompositeTermDataDescriptor

Show JSON schema
{
   "title": "BrandedVariable",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "separator": {
         "title": "Separator",
         "type": "string"
      },
      "parts": {
         "items": {
            "$ref": "#/$defs/CompositeTermPart"
         },
         "title": "Parts",
         "type": "array"
      },
      "description": {
         "title": "Description",
         "type": "string"
      }
   },
   "$defs": {
      "CompositeTermPart": {
         "additionalProperties": true,
         "description": "A reference to a term, part of a composite term.",
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "is_required": {
               "title": "Is Required",
               "type": "boolean"
            }
         },
         "required": [
            "id",
            "type",
            "is_required"
         ],
         "title": "CompositeTermPart",
         "type": "object"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "separator",
      "parts",
      "description"
   ]
}

field description: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field parts: list[CompositeTermPart] [Required][source]#

The components.

field separator: str [Required][source]#

The components separator character.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.Consortium[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "Consortium",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "validation_method": {
         "default": "list",
         "title": "Validation Method",
         "type": "string"
      },
      "name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Name"
      },
      "status": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Status"
      },
      "changes": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Changes"
      },
      "members": {
         "items": {
            "$ref": "#/$defs/Member"
         },
         "title": "Members",
         "type": "array"
      },
      "url": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Url"
      },
      "description": {
         "default": "",
         "title": "Description",
         "type": "string"
      }
   },
   "$defs": {
      "Dates": {
         "additionalProperties": true,
         "properties": {
            "phase": {
               "title": "Phase",
               "type": "string"
            },
            "from": {
               "title": "From",
               "type": "integer"
            },
            "to": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "string"
                  }
               ],
               "title": "To"
            }
         },
         "required": [
            "phase",
            "from",
            "to"
         ],
         "title": "Dates",
         "type": "object"
      },
      "Member": {
         "additionalProperties": true,
         "properties": {
            "type": {
               "title": "Type",
               "type": "string"
            },
            "institution": {
               "title": "Institution",
               "type": "string"
            },
            "dates": {
               "items": {
                  "$ref": "#/$defs/Dates"
               },
               "title": "Dates",
               "type": "array"
            },
            "membership_type": {
               "title": "Membership Type",
               "type": "string"
            }
         },
         "required": [
            "type",
            "institution",
            "membership_type"
         ],
         "title": "Member",
         "type": "object"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "changes",
      "url"
   ]
}

field changes: str | None [Required][source]#
field description: str = ''[source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field members: list[Member] [Optional][source]#
field name: str | None = None[source]#
field status: str | None = None[source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

field url: str | None [Required][source]#
field validation_method: str = 'list'[source]#
accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.Date[source]#

Bases: PatternTermDataDescriptor

Show JSON schema
{
   "title": "Date",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "regex": {
         "title": "Regex",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "regex"
   ]
}

field id: str [Required][source]#

The identifier of the terms.

field regex: str [Required][source]#

The regular expression.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.DirectoryDate[source]#

Bases: PatternTermDataDescriptor

Show JSON schema
{
   "title": "DirectoryDate",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "regex": {
         "title": "Regex",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "regex"
   ]
}

field id: str [Required][source]#

The identifier of the terms.

field regex: str [Required][source]#

The regular expression.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.Experiment[source]#

Bases: PlainTermDataDescriptor

An ‘experiment’ refers to a specific, controlled simulation conducted using climate models to investigate particular aspects of the Earth’s climate system. These experiments are designed with set parameters, such as initial conditions, external forcings (like greenhouse gas concentrations or solar radiation), and duration, to explore and understand climate behavior under various scenarios and conditions.

Show JSON schema
{
   "title": "Experiment",
   "description": "An 'experiment' refers to a specific, controlled simulation conducted using climate models to     investigate particular aspects of the Earth's climate system. These experiments are designed     with set parameters, such as initial conditions, external forcings (like greenhouse gas     concentrations or solar radiation), and duration, to explore and understand climate behavior     under various scenarios and conditions.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "activity": {
         "items": {
            "type": "string"
         },
         "title": "Activity",
         "type": "array"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "tier": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "title": "Tier"
      },
      "experiment_id": {
         "title": "Experiment Id",
         "type": "string"
      },
      "sub_experiment_id": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Sub Experiment Id"
      },
      "experiment": {
         "title": "Experiment",
         "type": "string"
      },
      "required_model_components": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Required Model Components"
      },
      "additional_allowed_model_components": {
         "items": {
            "type": "string"
         },
         "title": "Additional Allowed Model Components",
         "type": "array"
      },
      "start_year": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "title": "Start Year"
      },
      "end_year": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "title": "End Year"
      },
      "min_number_yrs_per_sim": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "title": "Min Number Yrs Per Sim"
      },
      "parent_activity_id": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Parent Activity Id"
      },
      "parent_experiment_id": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Parent Experiment Id"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "description",
      "tier",
      "experiment_id",
      "sub_experiment_id",
      "experiment",
      "required_model_components",
      "start_year",
      "end_year",
      "min_number_yrs_per_sim",
      "parent_activity_id",
      "parent_experiment_id"
   ]
}

field activity: list[str] [Optional][source]#
field additional_allowed_model_components: list[str] [Optional][source]#
field description: str [Required][source]#
field drs_name: str [Required][source]#
field end_year: int | None [Required][source]#
field experiment: str [Required][source]#
field experiment_id: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field min_number_yrs_per_sim: int | None [Required][source]#
field parent_activity_id: list[str] | None [Required][source]#
field parent_experiment_id: list[str] | None [Required][source]#
field required_model_components: list[str] | None [Required][source]#
field start_year: int | None [Required][source]#
field sub_experiment_id: list[str] | None [Required][source]#
field tier: int | None [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.ForcingIndex[source]#

Bases: PatternTermDataDescriptor

Show JSON schema
{
   "title": "ForcingIndex",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "regex": {
         "title": "Regex",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "regex"
   ]
}

field id: str [Required][source]#

The identifier of the terms.

field regex: str [Required][source]#

The regular expression.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.Frequency[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "Frequency",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "long_name": {
         "title": "Long Name",
         "type": "string"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "unit": {
         "title": "Unit",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "description",
      "long_name",
      "name",
      "unit"
   ]
}

field description: str [Required][source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field long_name: str [Required][source]#
field name: str [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

field unit: str [Required][source]#
accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.GridLabel[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "GridLabel",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "short_name": {
         "title": "Short Name",
         "type": "string"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "region": {
         "title": "Region",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "description",
      "short_name",
      "name",
      "region"
   ]
}

field description: str [Required][source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field name: str [Required][source]#
field region: str [Required][source]#
field short_name: str [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.HorizontalLabel[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "HorizontalLabel",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "label": {
         "title": "Label",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "description",
      "label"
   ]
}

field description: str [Required][source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field label: str [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.InitialisationIndex[source]#

Bases: PatternTermDataDescriptor

Show JSON schema
{
   "title": "InitialisationIndex",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "regex": {
         "title": "Regex",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "regex"
   ]
}

field id: str [Required][source]#

The identifier of the terms.

field regex: str [Required][source]#

The regular expression.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.Institution[source]#

Bases: PlainTermDataDescriptor

An registered institution for WCRP modelisation MIP.

Show JSON schema
{
   "title": "Institution",
   "description": "An registered institution for WCRP modelisation MIP.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "acronyms": {
         "items": {
            "type": "string"
         },
         "title": "Acronyms",
         "type": "array"
      },
      "aliases": {
         "items": {
            "type": "string"
         },
         "title": "Aliases",
         "type": "array"
      },
      "established": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "title": "Established"
      },
      "labels": {
         "items": {
            "type": "string"
         },
         "title": "Labels",
         "type": "array"
      },
      "location": {
         "additionalProperties": true,
         "title": "Location",
         "type": "object"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "ror": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Ror"
      },
      "url": {
         "items": {
            "type": "string"
         },
         "title": "Url",
         "type": "array"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "established",
      "name",
      "ror"
   ]
}

field acronyms: list[str] [Optional][source]#
field aliases: list[str] [Optional][source]#
field drs_name: str [Required][source]#
field established: int | None [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field labels: list[str] [Optional][source]#
field location: dict [Optional][source]#
field name: str [Required][source]#
field ror: str | None [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

field url: list[str] [Optional][source]#
accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.License[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "License",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "kind": {
         "title": "Kind",
         "type": "string"
      },
      "license": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "License"
      },
      "url": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Url"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "kind",
      "license",
      "url"
   ]
}

field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field kind: str [Required][source]#
field license: str | None [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

field url: str | None [Required][source]#
accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.MipEra[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "MipEra",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "start": {
         "title": "Start",
         "type": "integer"
      },
      "end": {
         "title": "End",
         "type": "integer"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "url": {
         "title": "Url",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "start",
      "end",
      "name",
      "url"
   ]
}

field drs_name: str [Required][source]#
field end: int [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field name: str [Required][source]#
field start: int [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

field url: str [Required][source]#
accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.ModelComponent[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "ModelComponent",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "realm": {
         "additionalProperties": true,
         "title": "Realm",
         "type": "object"
      },
      "nominal_resolution": {
         "additionalProperties": true,
         "title": "Nominal Resolution",
         "type": "object"
      },
      "version": {
         "title": "Version",
         "type": "integer"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "description",
      "name",
      "realm",
      "nominal_resolution",
      "version"
   ]
}

field description: str [Required][source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field name: str [Required][source]#
field nominal_resolution: dict [Required][source]#
field realm: dict [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

field version: int [Required][source]#
accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.Organisation[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "Organisation",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name"
   ]
}

field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.PhysicIndex[source]#

Bases: PatternTermDataDescriptor

Show JSON schema
{
   "title": "PhysicIndex",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "regex": {
         "title": "Regex",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "regex"
   ]
}

field id: str [Required][source]#

The identifier of the terms.

field regex: str [Required][source]#

The regular expression.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.Product[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "Product",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "kind": {
         "title": "Kind",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "description",
      "kind"
   ]
}

field description: str [Required][source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field kind: str [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.RealisationIndex[source]#

Bases: PatternTermDataDescriptor

Show JSON schema
{
   "title": "RealisationIndex",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "regex": {
         "title": "Regex",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "regex"
   ]
}

field id: str [Required][source]#

The identifier of the terms.

field regex: str [Required][source]#

The regular expression.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.Realm[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "Realm",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "name": {
         "title": "Name",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "description",
      "name"
   ]
}

field description: str [Required][source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field name: str [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.Resolution[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "Resolution",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "value": {
         "title": "Value",
         "type": "string"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "unit": {
         "title": "Unit",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "description",
      "value",
      "name",
      "unit"
   ]
}

field description: str [Required][source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field name: str [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

field unit: str [Required][source]#
field value: str [Required][source]#
accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.Source[source]#

Bases: PlainTermDataDescriptor

A ‘source’ refers to a numerical representations of the Earth’s climate system. They simulate the interactions between the atmosphere, oceans, land surface, and ice. These models are based on fundamental physical, chemical, and biological processes and are used to understand past, present, and future climate conditions. Each source or model is typically associated with a specific research institution, center, or group. For instance, models like ‘EC-Earth’ are developed by a consortium of European institutes, while ‘GFDL-CM4’ is developed by the Geophysical Fluid Dynamics Laboratory (GFDL) in the United States.

Show JSON schema
{
   "title": "Source",
   "description": "A 'source' refers to a numerical representations of the Earth's climate system. They simulate     the interactions between the atmosphere, oceans, land surface, and ice. These models are based     on fundamental physical, chemical, and biological processes and are used to understand past,     present, and future climate conditions. Each source or model is typically associated with a     specific research institution, center, or group. For instance, models like 'EC-Earth' are     developed by a consortium of European institutes, while 'GFDL-CM4' is developed by the     Geophysical Fluid Dynamics Laboratory (GFDL) in the United States.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "activity_participation": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Activity Participation"
      },
      "cohort": {
         "items": {
            "type": "string"
         },
         "title": "Cohort",
         "type": "array"
      },
      "organisation_id": {
         "items": {
            "type": "string"
         },
         "title": "Organisation Id",
         "type": "array"
      },
      "label": {
         "title": "Label",
         "type": "string"
      },
      "label_extended": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Label Extended"
      },
      "license": {
         "additionalProperties": true,
         "title": "License",
         "type": "object"
      },
      "model_component": {
         "anyOf": [
            {
               "additionalProperties": true,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "title": "Model Component"
      },
      "release_year": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "title": "Release Year"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "activity_participation",
      "label",
      "label_extended",
      "model_component",
      "release_year"
   ]
}

field activity_participation: list[str] | None [Required][source]#
field cohort: list[str] [Optional][source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field label: str [Required][source]#
field label_extended: str | None [Required][source]#
field license: dict [Optional][source]#
field model_component: dict | None [Required][source]#
field organisation_id: list[str] [Optional][source]#
field release_year: int | None [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.SourceType[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "SourceType",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "description"
   ]
}

field description: str [Required][source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.SubExperiment[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "SubExperiment",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "description"
   ]
}

field description: str [Required][source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.Table[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "Table",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "product": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Product"
      },
      "table_date": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Table Date"
      },
      "variable_entry": {
         "items": {
            "type": "string"
         },
         "title": "Variable Entry",
         "type": "array"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "product",
      "table_date"
   ]
}

field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field product: str | None [Required][source]#
field table_date: str | None [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

field variable_entry: list[str] [Optional][source]#
accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.TemporalLabel[source]#

Bases: PlainTermDataDescriptor

Show JSON schema
{
   "title": "TemporalLabel",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "label": {
         "title": "Label",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "description",
      "label"
   ]
}

field description: str [Required][source]#
field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field label: str [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.TimeRange[source]#

Bases: CompositeTermDataDescriptor

Show JSON schema
{
   "title": "TimeRange",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "separator": {
         "title": "Separator",
         "type": "string"
      },
      "parts": {
         "items": {
            "$ref": "#/$defs/CompositeTermPart"
         },
         "title": "Parts",
         "type": "array"
      },
      "description": {
         "title": "Description",
         "type": "string"
      }
   },
   "$defs": {
      "CompositeTermPart": {
         "additionalProperties": true,
         "description": "A reference to a term, part of a composite term.",
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "is_required": {
               "title": "Is Required",
               "type": "boolean"
            }
         },
         "required": [
            "id",
            "type",
            "is_required"
         ],
         "title": "CompositeTermPart",
         "type": "object"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "separator",
      "parts",
      "description"
   ]
}

field description: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field parts: list[CompositeTermPart] [Required][source]#

The components.

field separator: str [Required][source]#

The components separator character.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.Variable[source]#

Bases: PlainTermDataDescriptor

A variable refers to a specific type of climate-related quantity or measurement that is simulated and stored in a data file. These variables represent key physical, chemical, or biological properties of the Earth system and are outputs from climate models. Each variable captures a different aspect of the climate system, such as temperature, precipitation, sea level, radiation, or atmospheric composition. Examples of Variables: tas: Near-surface air temperature (often measured at 2 meters above the surface) pr: Precipitation psl: Sea level pressure zg: Geopotential height rlut: Top-of-atmosphere longwave radiation siconc: Sea ice concentration co2: Atmospheric CO2 concentration

Show JSON schema
{
   "title": "Variable",
   "description": "A variable refers to a specific type of climate-related quantity or measurement that is     simulated and stored in a data file. These variables represent key physical, chemical, or     biological properties of the Earth system and are outputs from climate models.\nEach variable captures a different aspect of the climate system, such as temperature,     precipitation, sea level, radiation, or atmospheric composition.\nExamples of Variables: tas: Near-surface air temperature (often measured at 2 meters above     the surface) pr: Precipitation psl: Sea level pressure zg: Geopotential height rlut:     Top-of-atmosphere longwave radiation siconc: Sea ice concentration co2: Atmospheric CO2 concentration",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      },
      "validation_method": {
         "default": "list",
         "title": "Validation Method",
         "type": "string"
      },
      "long_name": {
         "title": "Long Name",
         "type": "string"
      },
      "standard_name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Standard Name"
      },
      "units": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Units"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name",
      "long_name",
      "standard_name",
      "units"
   ]
}

field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field long_name: str [Required][source]#
field standard_name: str | None [Required][source]#
field type: str [Required][source]#

The data descriptor to which the term belongs.

field units: str | None [Required][source]#
field validation_method: str = 'list'[source]#
accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.VariantLabel[source]#

Bases: CompositeTermDataDescriptor

Show JSON schema
{
   "title": "VariantLabel",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "separator": {
         "title": "Separator",
         "type": "string"
      },
      "parts": {
         "items": {
            "$ref": "#/$defs/CompositeTermPart"
         },
         "title": "Parts",
         "type": "array"
      },
      "description": {
         "title": "Description",
         "type": "string"
      }
   },
   "$defs": {
      "CompositeTermPart": {
         "additionalProperties": true,
         "description": "A reference to a term, part of a composite term.",
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "is_required": {
               "title": "Is Required",
               "type": "boolean"
            }
         },
         "required": [
            "id",
            "type",
            "is_required"
         ],
         "title": "CompositeTermPart",
         "type": "object"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "separator",
      "parts",
      "description"
   ]
}

field description: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field parts: list[CompositeTermPart] [Required][source]#

The components.

field separator: str [Required][source]#

The components separator character.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.VerticalLabel[source]#

Bases: PatternTermDataDescriptor

Show JSON schema
{
   "title": "VerticalLabel",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "regex": {
         "title": "Regex",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "regex"
   ]
}

field id: str [Required][source]#

The identifier of the terms.

field regex: str [Required][source]#

The regular expression.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Generic classes#

Pydantic model esgvoc.api.data_descriptors.data_descriptor.CompositeTermDataDescriptor[source]#

Bases: DataDescriptor

A data descriptor that describes terms composed of other terms.

Show JSON schema
{
   "title": "CompositeTermDataDescriptor",
   "description": "A data descriptor that describes terms composed of other terms.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "separator": {
         "title": "Separator",
         "type": "string"
      },
      "parts": {
         "items": {
            "$ref": "#/$defs/CompositeTermPart"
         },
         "title": "Parts",
         "type": "array"
      }
   },
   "$defs": {
      "CompositeTermPart": {
         "additionalProperties": true,
         "description": "A reference to a term, part of a composite term.",
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "is_required": {
               "title": "Is Required",
               "type": "boolean"
            }
         },
         "required": [
            "id",
            "type",
            "is_required"
         ],
         "title": "CompositeTermPart",
         "type": "object"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "separator",
      "parts"
   ]
}

field id: str [Required][source]#

The identifier of the terms.

field parts: list[CompositeTermPart] [Required][source]#

The components.

field separator: str [Required][source]#

The components separator character.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.data_descriptor.CompositeTermPart[source]#

Bases: ConfiguredBaseModel

A reference to a term, part of a composite term.

Show JSON schema
{
   "title": "CompositeTermPart",
   "description": "A reference to a term, part of a composite term.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "is_required": {
         "title": "Is Required",
         "type": "boolean"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "is_required"
   ]
}

field id: str [Required][source]#

The id of the referenced term.

field is_required: bool [Required][source]#

Denote if the term is optional as part of a composite term.

field type: str [Required][source]#

The type of the referenced term.

Pydantic model esgvoc.api.data_descriptors.data_descriptor.ConfiguredBaseModel[source]#

Bases: BaseModel

Show JSON schema
{
   "title": "ConfiguredBaseModel",
   "type": "object",
   "properties": {},
   "additionalProperties": true
}

Pydantic model esgvoc.api.data_descriptors.data_descriptor.DataDescriptor[source]#

Bases: ConfiguredBaseModel, ABC

Generic class for the data descriptor classes.

Show JSON schema
{
   "title": "DataDescriptor",
   "description": "Generic class for the data descriptor classes.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type"
   ]
}

field id: str [Required][source]#

The identifier of the terms.

field type: str [Required][source]#

The data descriptor to which the term belongs.

abstractmethod accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.data_descriptor.DataDescriptorSubSet[source]#

Bases: DataDescriptor

A sub set of the information contains in a term.

Show JSON schema
{
   "title": "DataDescriptorSubSet",
   "description": "A sub set of the information contains in a term.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type"
   ]
}

field id: str [Required][source]#

The identifier of the terms.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

MANDATORY_TERM_FIELDS: ClassVar[tuple[str, str]] = ('id', 'type')[source]#

The set of mandatory term fields.

class esgvoc.api.data_descriptors.data_descriptor.DataDescriptorVisitor(*args, **kwargs)[source]#

Bases: Protocol

The specifications for a term visitor.

visit_composite_term(term: CompositeTermDataDescriptor) Any[source]#

Visit a composite term.

visit_pattern_term(term: PatternTermDataDescriptor) Any[source]#

Visit a pattern term.

visit_plain_term(term: PlainTermDataDescriptor) Any[source]#

Visit a plain term.

visit_sub_set_term(term: DataDescriptorSubSet) Any[source]#

Visit a sub set of the information of a term.

Pydantic model esgvoc.api.data_descriptors.data_descriptor.PatternTermDataDescriptor[source]#

Bases: DataDescriptor

A data descriptor that describes terms defined by a regular expression.

Show JSON schema
{
   "title": "PatternTermDataDescriptor",
   "description": "A data descriptor that describes terms defined by a regular expression.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "regex": {
         "title": "Regex",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "regex"
   ]
}

field id: str [Required][source]#

The identifier of the terms.

field regex: str [Required][source]#

The regular expression.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any

Pydantic model esgvoc.api.data_descriptors.data_descriptor.PlainTermDataDescriptor[source]#

Bases: DataDescriptor

A data descriptor that describes hand written terms.

Show JSON schema
{
   "title": "PlainTermDataDescriptor",
   "description": "A data descriptor that describes hand written terms.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "drs_name": {
         "title": "Drs Name",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "id",
      "type",
      "drs_name"
   ]
}

field drs_name: str [Required][source]#
field id: str [Required][source]#

The identifier of the terms.

field type: str [Required][source]#

The data descriptor to which the term belongs.

accept(visitor: DataDescriptorVisitor) Any[source]#

Accept an term visitor.

Parameters:

visitor (DataDescriptorVisitor) – The term visitor.

Returns:

Depending on the visitor.

Return type:

Any