{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$schemaVersion": "0.0.7",
"modelTags": "",
"$id": "https://smart-data-models.github.io/dataModel.Agrifood/AgriCrop/schema.json",
"title": "Smart Data Models - Agri Food",
"description": "This entity contains a harmonised description of a generic crop. This entity is primarily associated with the agricultural vertical and related IoT applications.",
"type": "object",
"allOf": [
{
"$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/GSMA-Commons"
},
{
"$ref": "https://smart-data-models.github.io/dataModel.Agrifood/agrifood-schema.json#/definitions/AgriFood-Commons"
},
{
"properties": {
"type": {
"type": "string",
"enum": [
"AgriCrop"
],
"description": "Property. NGSI Entity Type. it has to be AgriCrop"
},
"agroVocConcept": {
"type": "string",
"format": "uri",
"description": "Property. Model:'http://schema.org/URL'. The link with the defined concept into the AgroVoc vocabulary"
},
"hasAgriSoil": {
"type": "array",
"description": "Relationship. Model:'http://schema.org/URL'. Reference to the recommended types of soil suitable for growing this crop",
"items": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 256,
"pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$",
"description": "Property. Identifier format of any NGSI entity"
},
{
"type": "string",
"format": "uri",
"description": "Property. Identifier format of any NGSI entity"
}
]
}
},
"hasAgriFertiliser": {
"type": "array",
"description": "Relationship. Model:'http://schema.org/URL'. Reference to the recommended types of fertiliser suitable for growing this crop",
"items": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 256,
"pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$",
"description": "Property. Identifier format of any NGSI entity"
},
{
"type": "string",
"format": "uri",
"description": "Property. Identifier format of any NGSI entity"
}
]
}
},
"hasAgriPest": {
"type": "array",
"description": "Relationship. Reference to the pests known to attack this crop. Model:'https://schema.org/URL'",
"items": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 256,
"pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$",
"description": "Property. Identifier format of any NGSI entity"
},
{
"type": "string",
"format": "uri",
"description": "Property. Identifier format of any NGSI entity"
}
]
}
},
"harvestingInterval": {
"type": "array",
"description": "Property. Model:'http://schema.org/URL'. A list of the recommended harvesting interval date(s) for this crop. Specified using ISO8601 repeating date intervals:
**interval, description**
Where **interval** is in the form of **start date/end date**
--MM-DD/--MM-DD
Meaning repeat each year from this start date to this end date",
"items": {
"type": "object",
"properties": {
"dateRange": {
"type": "string",
"pattern": "^-[0-1][0-9]-[0-3][0-9]/-[0-1][0-9]-[0-3][0-9]$",
"description": "Property. Range of dates in a string format"
},
"description": {
"type": "string",
"description": "Property. Descriptions of the range dates"
}
}
},
"minItems": 2,
"maxItems": 2
},
"plantingFrom": {
"type": "array",
"description": "Property. Model:'http://schema.org/URL'. A list of the recommended planting interval date(s) for this crop. Specified using ISO8601 repeating date intervals:
**interval, description**
Where **interval** is in the form of **start date/end date**
--MM-DD/--MM-DD
Meaning repeat each year from this start date to this end date",
"items": {
"type": "object",
"properties": {
"dateRange": {
"type": "string",
"pattern": "^-[0-1][0-9]-[0-3][0-9]/-[0-1][0-9]-[0-3][0-9]$",
"description": "Property. Range of dates in a string format"
},
"description": {
"type": "string",
"description": "Property. Descriptions of the range dates"
}
}
},
"minItems": 2,
"maxItems": 2
},
"wateringFrequency": {
"type": "string",
"description": "Property. Model:'http://schema.org/URL'. Units:''. A description of the recommended watering schedule. A choice from an enumerated list. One of: **daily, weekly, biweekly, monthly, onDemand, other**. Enum:'daily, weekly, biweekly, monthly, onDemand, other'",
"enum": [
"daily",
"weekly",
"biweekly",
"monthly",
"onDemand",
"other"
]
}
}
}
],
"required": [
"id",
"type",
"name"
]
}