EntityTemporal.json 2.96 KB
Newer Older
canterafonsj's avatar
canterafonsj committed
1 2
{
  "$schema": "http://json-schema.org/schema#",
canterafonsj's avatar
canterafonsj committed
3
  "$id": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/temporal/EntityTemporal.json",
canterafonsj's avatar
canterafonsj committed
4 5
  "title": "NGSI-LD Entity",
  "description": "NGSI-LD Temporal Representation of an Entity",
6 7 8 9 10 11
  "definitions": {
    "EntityTemporalFragment": {
      "type": "object",
      "properties": {
        "@context": {
          "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/LdContext"
canterafonsj's avatar
canterafonsj committed
12
        },
13 14 15 16 17 18
        "location": {
          "type": "array",
          "items": {
            "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/Entity.json#/definitions/GeoProperty"
          },
          "minItems": 1
canterafonsj's avatar
canterafonsj committed
19
        },
20 21 22 23 24 25
        "observationSpace": {
          "type": "array",
          "items": {
            "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/Entity.json#/definitions/GeoProperty"
          },
          "minItems": 1
canterafonsj's avatar
canterafonsj committed
26
        },
27 28 29 30 31 32
        "operationSpace": {
          "type": "array",
          "items": {
            "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/Entity.json#/definitions/GeoProperty"
          },
          "minItems": 1
33
        },
canterafonsj's avatar
canterafonsj committed
34
        "$id": {
35 36 37 38 39 40 41 42 43 44 45
          "type": "string",
          "format": "uri"
        },
        "type": {
          "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/Name"
        },
        "createdAt": {
          "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/createdAt"
        },
        "modifiedAt": {
          "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/modifiedAt"
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
        }
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "array",
            "items": {
              "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/Entity.json#/definitions/Property"
            },
            "minItems": 1
          },
          {
            "type": "array",
            "items": {
              "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/Entity.json#/definitions/Relationship"
            },
            "minItems": 1
          },
          {
            "type": "array",
            "items": {
              "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/Entity.json#/definitions/GeoProperty"
            },
            "minItems": 1
          }
        ]
      },
      "propertyNames": {
        "type": "string",
        "pattern": "^((\\d|[a-zA-Z]|_)+(#\\d+)?)$|^(@context)$"
canterafonsj's avatar
canterafonsj committed
76
      }
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
    },
    "EntityTemporal": {
      "allOf": [
        {
          "type": "object",
          "required": [
            "id",
            "type"
          ]
        },
        {
          "$ref": "#/definitions/EntityTemporalFragment"
        }
      ]
    }
canterafonsj's avatar
canterafonsj committed
92
  },
93 94 95 96 97
  "allOf": [
    {
      "$ref": "#/definitions/EntityTemporal"
    }
  ]
canterafonsj's avatar
canterafonsj committed
98
}