{ "$schema": "http://json-schema.org/schema#", "id": "https://uri.etsi.org/ngsi-ld/schema/Entity.json", "title": "NGSI-LD Entity", "description": "NGSI-LD Entity", "definitions": { "LdContext": { "anyOf": [ { "type": "object" }, { "type": "string", "format": "uri" }, { "type": "array", "items": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "object" } ] } } ] }, "Commons": { "type": "object", "properties": { "observedAt": { "type": "string", "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "modifiedAt": { "type": "string", "format": "date-time" }, "datasetId": { "type": "string", "format": "uri" }, "instanceId": { "type": "string", "format": "uri" } } }, "Property": { "allOf": [ { "$ref": "#/definitions/Commons" }, { "type": "object", "properties": { "type": { "type": "string", "const": "Property" }, "value": { "type": "any" } }, "required": [ "type", "value" ], "additionalProperties": { "anyOf": [ { "$ref": "#/definitions/Property" }, { "$ref": "#/definitions/Relationship" } ] } } ] }, "Relationship": { "allOf": [ { "$ref": "#/definitions/Commons" }, { "type": "object", "properties": { "type": { "type": "string", "const": "Relationship" }, "object": { "type": "string", "format": "uri" } }, "required": [ "type", "object" ], "additionalProperties": { "anyOf": [ { "$ref": "#/definitions/Property" }, { "$ref": "#/definitions/Relationship" } ] } } ] }, "GeoProperty": { "allOf": [ { "$ref": "#/definitions/Commons" }, { "type": "object", "properties": { "type": { "type": "string", "const": "GeoProperty" }, "value": { "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/geometry-schema.json#" } }, "required": [ "type", "value" ], "additionalProperties": { "anyOf": [ { "$ref": "#/definitions/Property" }, { "$ref": "#/definitions/Relationship" } ] } } ] } }, "type": "object", "properties": { "id": { "type": "string", "format": "uri" }, "type": { "type": "string", "description": "NGSI Entity type" }, "@context": { "$ref": "#/definitions/LdContext" }, "location": { "$ref": "#/definitions/GeoProperty" }, "observationSpace": { "$ref": "#/definitions/GeoProperty" }, "operationSpace": { "$ref": "#/definitions/GeoProperty" } }, "required": [ "id", "type" ], "additionalProperties": { "anyOf": [ { "$ref": "#/definitions/Property" }, { "$ref": "#/definitions/Relationship" }, { "$ref": "#/definitions/GeoProperty" } ] } }