{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Implementation of a mathematical vector composed of a list of scalar coordinates expressed in the mandatory reference frame.",
  "type": "object",
  "allOf": [
    {
      "$ref": "./AbstractDataComponent.json"
    },
    {
      "properties": {
        "type": {
          "const": "Vector"
        },
        "referenceFrame": {
          "description": "Frame of reference (usually spatial) with respect to which the coordinates of this vector are expressed. A reference frame anchors a vector value to a real world datum.",
          "type": "string",
          "format": "uri-reference"
        },
        "localFrame": {
          "description": "Frame of reference whose origin is located by the coordinates of this vector",
          "type": "string",
          "format": "uri-reference"
        },
        "coordinates": {
          "description": "Definition of the coordinate provided as a data component with a numerical representation",
          "type": "array",
          "items": {
            "allOf": [
              { "$ref": "basicTypes.json#/$defs/SoftNamedProperty" },
              {
                "oneOf": [
                  { "$ref": "Count.json" },
                  { "$ref": "Quantity.json" },
                  { "$ref": "Time.json" }
                ]
              }
            ]
          }
        }
      },
      "required": [
        "type",
        "definition",
        "referenceFrame",
        "label",
        "coordinates"
      ]
    }
  ]
}