Property

PartDraftv1.0.0-rc.2

A property: one fact about a record, such as a source's rotational speed, a terrain's ground type or the air temperature of a weather condition. Its type comes from a quantities vocabulary, which gives the unit and the valid range.

https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Property.json

Fields

  • id
    textnot empty

    The record's id: unique within the document.

  • typeRequired

    What the property is, as a code from a quantities vocabulary.

  • name
    text

    A readable name, when the code's own name is not enough.

  • description
    text

    What the property means, in words.

  • value
  • range
  • height
    number

    The height above the ground that the property applies at, in metres, such as wind speed at 120 m. Leave it out for the quantity's standard height.

  • geometry

    Where the property applies, when only part of the record.

  • Exactly one of value or range.

Range

A range of amounts, when the property holds over a range, such as the speeds an operating state covers.

  • minimum
    number

    The lowest amount, inclusive.

  • maximum
    number

    The highest amount, inclusive.

  • unit

    The unit of both bounds.

  • At least one of minimum or maximum.

Links

Held by Records that embed this one, with their field that holds it.

Examples

An id that another example defines opens that record.

Example 4

{
  "type": "rotational_speed",
  "range": {
    "minimum": 1500,
    "maximum": 1800,
    "unit": "1/min"
  }
}
Show 3 more examples

Example 1

{
  "id": "p1",
  "type": "ground_type",
  "value": {
    "amount": "grass"
  }
}

Example 2

{
  "type": "rotational_speed",
  "value": {
    "amount": 1800,
    "unit": "1/min"
  }
}

Example 3

{
  "type": "wind_speed",
  "height": 120,
  "value": {
    "amount": 7.4,
    "unit": "m/s"
  }
}

Changes and file

Changes

  1. 0.1.0 First version.

Schema file

Show the JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Property.json",
  "title": "Property",
  "description": "A property: one fact about a record, such as a source's rotational speed, a terrain's ground type or the air temperature of a weather condition. Its `type` comes from a quantities vocabulary, which gives the unit and the valid range.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The record's id: unique within the document."
    },
    "type": {
      "type": "string",
      "pattern": "^[a-z0-9]+(_[a-z0-9]+)*(\\.[a-z0-9]+(_[a-z0-9]+)*)*$",
      "x-ods-vocabulary": "*/quantities",
      "description": "What the property is, as a code from a quantities vocabulary."
    },
    "name": {
      "type": "string",
      "description": "A readable name, when the code's own name is not enough."
    },
    "description": {
      "type": "string",
      "description": "What the property means, in words."
    },
    "value": {
      "$ref": "Value.json"
    },
    "range": {
      "$ref": "#/$defs/Range"
    },
    "height": {
      "type": "number",
      "description": "The height above the ground that the property applies at, in metres, such as wind speed at 120 m. Leave it out for the quantity's standard height."
    },
    "geometry": {
      "$ref": "Geometry.json",
      "description": "Where the property applies, when only part of the record."
    }
  },
  "required": [
    "type"
  ],
  "oneOf": [
    {
      "properties": {
        "value": true
      },
      "required": [
        "value"
      ]
    },
    {
      "properties": {
        "range": true
      },
      "required": [
        "range"
      ]
    }
  ],
  "patternProperties": {
    "^x-": {}
  },
  "unevaluatedProperties": false,
  "$defs": {
    "Range": {
      "type": "object",
      "properties": {
        "minimum": {
          "type": "number",
          "description": "The lowest amount, inclusive."
        },
        "maximum": {
          "type": "number",
          "description": "The highest amount, inclusive."
        },
        "unit": {
          "type": "string",
          "x-ods-vocabulary": "*/units",
          "description": "The unit of both bounds."
        }
      },
      "anyOf": [
        {
          "properties": {
            "minimum": true
          },
          "required": [
            "minimum"
          ]
        },
        {
          "properties": {
            "maximum": true
          },
          "required": [
            "maximum"
          ]
        }
      ],
      "description": "A range of amounts, when the property holds over a range, such as the speeds an operating state covers.",
      "patternProperties": {
        "^x-": {}
      },
      "unevaluatedProperties": false
    }
  },
  "examples": [
    {
      "id": "p1",
      "type": "ground_type",
      "value": {
        "amount": "grass"
      }
    },
    {
      "type": "rotational_speed",
      "value": {
        "amount": 1800,
        "unit": "1/min"
      }
    },
    {
      "type": "wind_speed",
      "height": 120,
      "value": {
        "amount": 7.4,
        "unit": "m/s"
      }
    },
    {
      "type": "rotational_speed",
      "range": {
        "minimum": 1500,
        "maximum": 1800,
        "unit": "1/min"
      }
    }
  ],
  "x-ods-status": "draft",
  "x-ods-kind": "part",
  "x-ods-module": "core",
  "x-ods-changes": {
    "0.1.0": "First version."
  }
}