{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://model.ccmm.cz/research-data/distribution/schema.json",
  "anyOf": [
    {
      "title": "Distribution - data service",
      "description": "Physical embodiment of the dataset distribution as a particular data service. ",
      "type": "object",
      "required": [
        "title",
        "access_url",
        "licence"
      ],
      "properties": {
        "title": {
          "title": "title",
          "description": "A name given to the distribution.",
          "type": "array",
          "minItems": 1,
          "items": {
            "title": "String",
            "type": "string"
          }
        },
        "access_url": {
          "title": "access URL",
          "description": "A URL that gives access to a Distribution of the Dataset.",
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string",
            "format": "iri"
          }
        },
        "access_service": {
          "title": "has access service",
          "description": "A data service that gives access to the distribution of the dataset.",
          "type": "array",
          "items": {
            "title": "Data Service",
            "description": "A collection of operations that provides access to one or more datasets or data processing functions.",
            "type": "object",
            "required": [
              "label",
              "endpoint_url"
            ],
            "properties": {
              "label": {
                "title": "label",
                "description": "Data service label",
                "type": "array",
                "minItems": 1,
                "items": {
                  "title": "Language tagged string",
                  "type": "object",
                  "required": [
                    "@value",
                    "@language"
                  ],
                  "properties": {
                    "@value": {
                      "title": "Text v daném jazyce",
                      "type": "string"
                    },
                    "@language": {
                      "title": "Jazyk textu",
                      "type": "string"
                    }
                  }
                }
              },
              "endpoint_url": {
                "title": "endpoint URL",
                "description": "The root location or primary endpoint of the service (an IRI).",
                "type": "array",
                "minItems": 1,
                "items": {
                  "title": "Related resource",
                  "description": "Resource represents any resource, physical or digital, that is related to the described dataset.",
                  "type": "object",
                  "properties": {
                    "identifier": {
                      "title": "has identifier",
                      "description": "A secondary identifier of the Dataset.",
                      "type": "array",
                      "items": {
                        "title": "Identifier",
                        "description": "Unique and resolvable identifier containing the notation and identifier scheme in the form of URI.",
                        "type": "object",
                        "required": [
                          "value",
                          "scheme"
                        ],
                        "properties": {
                          "value": {
                            "title": "value",
                            "description": "Value of the identifier within the given identifier scheme.",
                            "type": "string"
                          },
                          "scheme": {
                            "title": "in scheme",
                            "description": "Relation between the identifier and scheme in which it is defined and unique.",
                            "type": "object",
                            "properties": {
                              "label": {
                                "title": "label",
                                "description": "Identifier scheme label.",
                                "type": "array",
                                "items": {
                                  "title": "Language tagged string",
                                  "type": "object",
                                  "required": [
                                    "@value",
                                    "@language"
                                  ],
                                  "properties": {
                                    "@value": {
                                      "title": "Text v daném jazyce",
                                      "type": "string"
                                    },
                                    "@language": {
                                      "title": "Jazyk textu",
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "notation": {
                                "title": "notation",
                                "description": "Notation of the identifier scheme.",
                                "type": "array",
                                "items": {
                                  "title": "String",
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "authorized": {
                            "title": "authorized",
                            "description": "Specifies whether the identifier is authorized by the subject it represents.",
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "title": {
                      "title": "title",
                      "description": "A name given to the resource.",
                      "type": "string"
                    },
                    "alternate_title": {
                      "title": "has alternate title",
                      "description": "References to the alternate title of the resource.",
                      "type": "array",
                      "items": {
                        "title": "Alternate title",
                        "description": "Alternate title of the resource.",
                        "type": "object",
                        "required": [
                          "title"
                        ],
                        "properties": {
                          "title": {
                            "title": "title",
                            "description": "An alternative name for the resource.",
                            "type": "array",
                            "minItems": 1,
                            "items": {
                              "title": "Language tagged string",
                              "type": "object",
                              "required": [
                                "@value",
                                "@language"
                              ],
                              "properties": {
                                "@value": {
                                  "title": "Text v daném jazyce",
                                  "type": "string"
                                },
                                "@language": {
                                  "title": "Jazyk textu",
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "alternate_title_type": {
                            "title": "has alternate title type",
                            "description": "Type of the alternate name relation.",
                            "type": "object",
                            "required": [
                              "label"
                            ],
                            "properties": {
                              "label": {
                                "title": "label",
                                "description": "Alternate title type label.",
                                "type": "object",
                                "additionalProperties": {
                                  "title": "Hodnota v jiném jazyce",
                                  "type": "string"
                                },
                                "properties": {
                                  "cs": {
                                    "title": "Hodnota v českém jazyce",
                                    "type": "string"
                                  },
                                  "en": {
                                    "title": "Hodnota v anglickém jazyce",
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "resource_url": {
                      "title": "resource URL",
                      "description": "Human readable resolvable URL representing the resource.",
                      "type": "string",
                      "format": "iri"
                    },
                    "qualified_attribution": {
                      "title": "qualified attribution",
                      "description": "A link to a description of a relationship between resource and an agent with the specification of the role of agent in this relationship.",
                      "type": "array",
                      "items": {
                        "title": "Resource attribution",
                        "description": "Attribution is the ascribing of a Resource to an agent. It defines the responsibility of an agent to the resource in a given role.",
                        "type": "object",
                        "required": [
                          "attributed_agent",
                          "role"
                        ],
                        "properties": {
                          "attributed_agent": {
                            "title": "has attributed agent",
                            "description": "The agent attributed to the resource.",
                            "anyOf": [
                              {
                                "title": "Organization",
                                "description": "Represents a collection of people organized together into a community or other social, commercial or political structure. The group has some common purpose or reason for existence which goes beyond the set of people belonging to it and can act as an Agent. Organizations are often decomposable into hierarchical structures.",
                                "type": "object",
                                "required": [
                                  "name"
                                ],
                                "properties": {
                                  "identifier": {
                                    "title": "has identifier",
                                    "description": "Identifier of an Agent.",
                                    "type": "array",
                                    "items": {
                                      "title": "Identifier",
                                      "description": "Unique and resolvable identifier containing the notation and identifier scheme in the form of URI.",
                                      "type": "object",
                                      "required": [
                                        "value",
                                        "scheme"
                                      ],
                                      "properties": {
                                        "value": {
                                          "title": "value",
                                          "description": "Value of the identifier within the given identifier scheme.",
                                          "type": "string"
                                        },
                                        "scheme": {
                                          "title": "in scheme",
                                          "description": "Relation between the identifier and scheme in which it is defined and unique.",
                                          "type": "object",
                                          "properties": {
                                            "label": {
                                              "title": "label",
                                              "description": "Identifier scheme label.",
                                              "type": "array",
                                              "items": {
                                                "title": "Language tagged string",
                                                "type": "object",
                                                "required": [
                                                  "@value",
                                                  "@language"
                                                ],
                                                "properties": {
                                                  "@value": {
                                                    "title": "Text v daném jazyce",
                                                    "type": "string"
                                                  },
                                                  "@language": {
                                                    "title": "Jazyk textu",
                                                    "type": "string"
                                                  }
                                                }
                                              }
                                            },
                                            "notation": {
                                              "title": "notation",
                                              "description": "Notation of the identifier scheme.",
                                              "type": "array",
                                              "items": {
                                                "title": "String",
                                                "type": "string"
                                              }
                                            }
                                          }
                                        },
                                        "authorized": {
                                          "title": "authorized",
                                          "description": "Specifies whether the identifier is authorized by the subject it represents.",
                                          "type": "boolean"
                                        }
                                      }
                                    }
                                  },
                                  "name": {
                                    "title": "name",
                                    "description": "Name of the agent.",
                                    "type": "string"
                                  },
                                  "alternate_name": {
                                    "title": "alternate name",
                                    "description": "An alternate organizational name associated with the object.",
                                    "type": "array",
                                    "items": {
                                      "title": "Text",
                                      "type": "object",
                                      "additionalProperties": {
                                        "title": "Hodnota v jiném jazyce",
                                        "type": "string"
                                      },
                                      "properties": {
                                        "cs": {
                                          "title": "Hodnota v českém jazyce",
                                          "type": "string"
                                        },
                                        "en": {
                                          "title": "Hodnota v anglickém jazyce",
                                          "type": "string"
                                        }
                                      }
                                    }
                                  },
                                  "contact_point": {
                                    "title": "has contact point",
                                    "description": "Relevant contact information for the catalogued resource. ",
                                    "type": "array",
                                    "items": {
                                      "title": "Contact details",
                                      "description": "Contact details such as telephone, e-mail address etc.",
                                      "type": "object",
                                      "properties": {
                                        "data_box": {
                                          "title": "data box",
                                          "description": "Code of the data box.",
                                          "type": "array",
                                          "items": {
                                            "title": "String",
                                            "type": "string"
                                          }
                                        },
                                        "email": {
                                          "title": "email",
                                          "description": "Email address.",
                                          "type": "array",
                                          "items": {
                                            "title": "String",
                                            "type": "string"
                                          }
                                        },
                                        "phone": {
                                          "title": "phone",
                                          "description": "Phone number",
                                          "type": "array",
                                          "items": {
                                            "title": "String",
                                            "type": "string"
                                          }
                                        },
                                        "address": {
                                          "title": "has address",
                                          "description": "To specify the components of the delivery address for the object",
                                          "type": "array",
                                          "items": {
                                            "title": "Address",
                                            "description": "A spatial object that in a human-readable way identifies a fixed location. ",
                                            "type": "object",
                                            "properties": {
                                              "label": {
                                                "title": "label",
                                                "description": "Address label",
                                                "type": "array",
                                                "items": {
                                                  "title": "Language tagged string",
                                                  "type": "object",
                                                  "required": [
                                                    "@value",
                                                    "@language"
                                                  ],
                                                  "properties": {
                                                    "@value": {
                                                      "title": "Text v daném jazyce",
                                                      "type": "string"
                                                    },
                                                    "@language": {
                                                      "title": "Jazyk textu",
                                                      "type": "string"
                                                    }
                                                  }
                                                }
                                              },
                                              "full_address": {
                                                "title": "full address",
                                                "description": "The complete address written as a string.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "po_box": {
                                                "title": "post office box",
                                                "description": "A location designator for a postal delivery point at a post office, usually a number.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "thoroughfare": {
                                                "title": "thoroughfare",
                                                "description": "The name of a passage or way through from one location to another.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "locator_designator": {
                                                "title": "locator designator",
                                                "description": "A number or sequence of characters that uniquely identifies the locator within the relevant scope.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "locator_name": {
                                                "title": "locator name",
                                                "description": "Proper noun(s) applied to the real world entity identified by the locator. The locator name could be the name of the property or complex, of the building or part of the building, or it could be the name of a room inside a building.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "address_area": {
                                                "title": "address area",
                                                "description": "The name of a geographic area that groups Addresses.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "post_name": {
                                                "title": "post name",
                                                "description": "A name created and maintained for postal purposes to identify a subdivision of addresses and postal delivery points. ",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "administrative_unit_level_1": {
                                                "title": "administrative unit level 1",
                                                "description": "The name of the uppermost level of the address, almost always a country.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "administrative_unit_level_2": {
                                                "title": "administrative unit level 2",
                                                "description": "The name of a secondary level/region of the address, usually a county, state or other such area that typically encompasses several localities.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "post_code": {
                                                "title": "post code",
                                                "description": "The code created and maintained for postal purposes to identify a subdivision of addresses and postal delivery points.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              },
                              {
                                "title": "Person",
                                "description": "Physical person. ",
                                "type": "object",
                                "required": [
                                  "name"
                                ],
                                "properties": {
                                  "identifier": {
                                    "title": "has identifier",
                                    "description": "Identifier of an Agent.",
                                    "type": "array",
                                    "items": {
                                      "title": "Identifier",
                                      "description": "Unique and resolvable identifier containing the notation and identifier scheme in the form of URI.",
                                      "type": "object",
                                      "required": [
                                        "value",
                                        "scheme"
                                      ],
                                      "properties": {
                                        "value": {
                                          "title": "value",
                                          "description": "Value of the identifier within the given identifier scheme.",
                                          "type": "string"
                                        },
                                        "scheme": {
                                          "title": "in scheme",
                                          "description": "Relation between the identifier and scheme in which it is defined and unique.",
                                          "type": "object",
                                          "properties": {
                                            "label": {
                                              "title": "label",
                                              "description": "Identifier scheme label.",
                                              "type": "array",
                                              "items": {
                                                "title": "Language tagged string",
                                                "type": "object",
                                                "required": [
                                                  "@value",
                                                  "@language"
                                                ],
                                                "properties": {
                                                  "@value": {
                                                    "title": "Text v daném jazyce",
                                                    "type": "string"
                                                  },
                                                  "@language": {
                                                    "title": "Jazyk textu",
                                                    "type": "string"
                                                  }
                                                }
                                              }
                                            },
                                            "notation": {
                                              "title": "notation",
                                              "description": "Notation of the identifier scheme.",
                                              "type": "array",
                                              "items": {
                                                "title": "String",
                                                "type": "string"
                                              }
                                            }
                                          }
                                        },
                                        "authorized": {
                                          "title": "authorized",
                                          "description": "Specifies whether the identifier is authorized by the subject it represents.",
                                          "type": "boolean"
                                        }
                                      }
                                    }
                                  },
                                  "name": {
                                    "title": "name",
                                    "description": "Name of the agent.",
                                    "type": "string"
                                  },
                                  "given_name": {
                                    "title": "given name",
                                    "description": "The given name associated with the person.",
                                    "type": "array",
                                    "items": {
                                      "title": "String",
                                      "type": "string"
                                    }
                                  },
                                  "family_name": {
                                    "title": "family name",
                                    "description": "The family name associated with the person.",
                                    "type": "array",
                                    "items": {
                                      "title": "String",
                                      "type": "string"
                                    }
                                  },
                                  "contact_point": {
                                    "title": "has contact point",
                                    "description": "Relevant contact information for the catalogued resource. ",
                                    "type": "array",
                                    "items": {
                                      "title": "Contact details",
                                      "description": "Contact details such as telephone, e-mail address etc.",
                                      "type": "object",
                                      "properties": {
                                        "data_box": {
                                          "title": "data box",
                                          "description": "Code of the data box.",
                                          "type": "array",
                                          "items": {
                                            "title": "String",
                                            "type": "string"
                                          }
                                        },
                                        "email": {
                                          "title": "email",
                                          "description": "Email address.",
                                          "type": "array",
                                          "items": {
                                            "title": "String",
                                            "type": "string"
                                          }
                                        },
                                        "phone": {
                                          "title": "phone",
                                          "description": "Phone number",
                                          "type": "array",
                                          "items": {
                                            "title": "String",
                                            "type": "string"
                                          }
                                        },
                                        "address": {
                                          "title": "has address",
                                          "description": "To specify the components of the delivery address for the object",
                                          "type": "array",
                                          "items": {
                                            "title": "Address",
                                            "description": "A spatial object that in a human-readable way identifies a fixed location. ",
                                            "type": "object",
                                            "properties": {
                                              "label": {
                                                "title": "label",
                                                "description": "Address label",
                                                "type": "array",
                                                "items": {
                                                  "title": "Language tagged string",
                                                  "type": "object",
                                                  "required": [
                                                    "@value",
                                                    "@language"
                                                  ],
                                                  "properties": {
                                                    "@value": {
                                                      "title": "Text v daném jazyce",
                                                      "type": "string"
                                                    },
                                                    "@language": {
                                                      "title": "Jazyk textu",
                                                      "type": "string"
                                                    }
                                                  }
                                                }
                                              },
                                              "full_address": {
                                                "title": "full address",
                                                "description": "The complete address written as a string.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "po_box": {
                                                "title": "post office box",
                                                "description": "A location designator for a postal delivery point at a post office, usually a number.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "thoroughfare": {
                                                "title": "thoroughfare",
                                                "description": "The name of a passage or way through from one location to another.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "locator_designator": {
                                                "title": "locator designator",
                                                "description": "A number or sequence of characters that uniquely identifies the locator within the relevant scope.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "locator_name": {
                                                "title": "locator name",
                                                "description": "Proper noun(s) applied to the real world entity identified by the locator. The locator name could be the name of the property or complex, of the building or part of the building, or it could be the name of a room inside a building.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "address_area": {
                                                "title": "address area",
                                                "description": "The name of a geographic area that groups Addresses.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "post_name": {
                                                "title": "post name",
                                                "description": "A name created and maintained for postal purposes to identify a subdivision of addresses and postal delivery points. ",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "administrative_unit_level_1": {
                                                "title": "administrative unit level 1",
                                                "description": "The name of the uppermost level of the address, almost always a country.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "administrative_unit_level_2": {
                                                "title": "administrative unit level 2",
                                                "description": "The name of a secondary level/region of the address, usually a county, state or other such area that typically encompasses several localities.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "post_code": {
                                                "title": "post code",
                                                "description": "The code created and maintained for postal purposes to identify a subdivision of addresses and postal delivery points.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  },
                                  "affiliation": {
                                    "title": "has affiliation",
                                    "description": "Affiliation of the person to an organization.",
                                    "type": "array",
                                    "items": {
                                      "title": "Organization",
                                      "description": "Represents a collection of people organized together into a community or other social, commercial or political structure. The group has some common purpose or reason for existence which goes beyond the set of people belonging to it and can act as an Agent. Organizations are often decomposable into hierarchical structures.",
                                      "type": "object",
                                      "required": [
                                        "name"
                                      ],
                                      "properties": {
                                        "identifier": {
                                          "title": "has identifier",
                                          "description": "Identifier of an Agent.",
                                          "type": "array",
                                          "items": {
                                            "title": "Identifier",
                                            "description": "Unique and resolvable identifier containing the notation and identifier scheme in the form of URI.",
                                            "type": "object",
                                            "required": [
                                              "value",
                                              "scheme"
                                            ],
                                            "properties": {
                                              "value": {
                                                "title": "value",
                                                "description": "Value of the identifier within the given identifier scheme.",
                                                "type": "string"
                                              },
                                              "scheme": {
                                                "title": "in scheme",
                                                "description": "Relation between the identifier and scheme in which it is defined and unique.",
                                                "type": "object",
                                                "properties": {
                                                  "label": {
                                                    "title": "label",
                                                    "description": "Identifier scheme label.",
                                                    "type": "array",
                                                    "items": {
                                                      "title": "Language tagged string",
                                                      "type": "object",
                                                      "required": [
                                                        "@value",
                                                        "@language"
                                                      ],
                                                      "properties": {
                                                        "@value": {
                                                          "title": "Text v daném jazyce",
                                                          "type": "string"
                                                        },
                                                        "@language": {
                                                          "title": "Jazyk textu",
                                                          "type": "string"
                                                        }
                                                      }
                                                    }
                                                  },
                                                  "notation": {
                                                    "title": "notation",
                                                    "description": "Notation of the identifier scheme.",
                                                    "type": "array",
                                                    "items": {
                                                      "title": "String",
                                                      "type": "string"
                                                    }
                                                  }
                                                }
                                              },
                                              "authorized": {
                                                "title": "authorized",
                                                "description": "Specifies whether the identifier is authorized by the subject it represents.",
                                                "type": "boolean"
                                              }
                                            }
                                          }
                                        },
                                        "name": {
                                          "title": "name",
                                          "description": "Name of the agent.",
                                          "type": "string"
                                        },
                                        "alternate_name": {
                                          "title": "alternate name",
                                          "description": "An alternate organizational name associated with the object.",
                                          "type": "array",
                                          "items": {
                                            "title": "Text",
                                            "type": "object",
                                            "additionalProperties": {
                                              "title": "Hodnota v jiném jazyce",
                                              "type": "string"
                                            },
                                            "properties": {
                                              "cs": {
                                                "title": "Hodnota v českém jazyce",
                                                "type": "string"
                                              },
                                              "en": {
                                                "title": "Hodnota v anglickém jazyce",
                                                "type": "string"
                                              }
                                            }
                                          }
                                        },
                                        "contact_point": {
                                          "title": "has contact point",
                                          "description": "Relevant contact information for the catalogued resource. ",
                                          "type": "array",
                                          "items": {
                                            "title": "Contact details",
                                            "description": "Contact details such as telephone, e-mail address etc.",
                                            "type": "object",
                                            "properties": {
                                              "data_box": {
                                                "title": "data box",
                                                "description": "Code of the data box.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "email": {
                                                "title": "email",
                                                "description": "Email address.",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "phone": {
                                                "title": "phone",
                                                "description": "Phone number",
                                                "type": "array",
                                                "items": {
                                                  "title": "String",
                                                  "type": "string"
                                                }
                                              },
                                              "address": {
                                                "title": "has address",
                                                "description": "To specify the components of the delivery address for the object",
                                                "type": "array",
                                                "items": {
                                                  "title": "Address",
                                                  "description": "A spatial object that in a human-readable way identifies a fixed location. ",
                                                  "type": "object",
                                                  "properties": {
                                                    "label": {
                                                      "title": "label",
                                                      "description": "Address label",
                                                      "type": "array",
                                                      "items": {
                                                        "title": "Language tagged string",
                                                        "type": "object",
                                                        "required": [
                                                          "@value",
                                                          "@language"
                                                        ],
                                                        "properties": {
                                                          "@value": {
                                                            "title": "Text v daném jazyce",
                                                            "type": "string"
                                                          },
                                                          "@language": {
                                                            "title": "Jazyk textu",
                                                            "type": "string"
                                                          }
                                                        }
                                                      }
                                                    },
                                                    "full_address": {
                                                      "title": "full address",
                                                      "description": "The complete address written as a string.",
                                                      "type": "array",
                                                      "items": {
                                                        "title": "String",
                                                        "type": "string"
                                                      }
                                                    },
                                                    "po_box": {
                                                      "title": "post office box",
                                                      "description": "A location designator for a postal delivery point at a post office, usually a number.",
                                                      "type": "array",
                                                      "items": {
                                                        "title": "String",
                                                        "type": "string"
                                                      }
                                                    },
                                                    "thoroughfare": {
                                                      "title": "thoroughfare",
                                                      "description": "The name of a passage or way through from one location to another.",
                                                      "type": "array",
                                                      "items": {
                                                        "title": "String",
                                                        "type": "string"
                                                      }
                                                    },
                                                    "locator_designator": {
                                                      "title": "locator designator",
                                                      "description": "A number or sequence of characters that uniquely identifies the locator within the relevant scope.",
                                                      "type": "array",
                                                      "items": {
                                                        "title": "String",
                                                        "type": "string"
                                                      }
                                                    },
                                                    "locator_name": {
                                                      "title": "locator name",
                                                      "description": "Proper noun(s) applied to the real world entity identified by the locator. The locator name could be the name of the property or complex, of the building or part of the building, or it could be the name of a room inside a building.",
                                                      "type": "array",
                                                      "items": {
                                                        "title": "String",
                                                        "type": "string"
                                                      }
                                                    },
                                                    "address_area": {
                                                      "title": "address area",
                                                      "description": "The name of a geographic area that groups Addresses.",
                                                      "type": "array",
                                                      "items": {
                                                        "title": "String",
                                                        "type": "string"
                                                      }
                                                    },
                                                    "post_name": {
                                                      "title": "post name",
                                                      "description": "A name created and maintained for postal purposes to identify a subdivision of addresses and postal delivery points. ",
                                                      "type": "array",
                                                      "items": {
                                                        "title": "String",
                                                        "type": "string"
                                                      }
                                                    },
                                                    "administrative_unit_level_1": {
                                                      "title": "administrative unit level 1",
                                                      "description": "The name of the uppermost level of the address, almost always a country.",
                                                      "type": "array",
                                                      "items": {
                                                        "title": "String",
                                                        "type": "string"
                                                      }
                                                    },
                                                    "administrative_unit_level_2": {
                                                      "title": "administrative unit level 2",
                                                      "description": "The name of a secondary level/region of the address, usually a county, state or other such area that typically encompasses several localities.",
                                                      "type": "array",
                                                      "items": {
                                                        "title": "String",
                                                        "type": "string"
                                                      }
                                                    },
                                                    "post_code": {
                                                      "title": "post code",
                                                      "description": "The code created and maintained for postal purposes to identify a subdivision of addresses and postal delivery points.",
                                                      "type": "array",
                                                      "items": {
                                                        "title": "String",
                                                        "type": "string"
                                                      }
                                                    }
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            ]
                          },
                          "role": {
                            "title": "had role",
                            "description": "Role of the agent in the attribution to the resource. ",
                            "type": "object",
                            "required": [
                              "label"
                            ],
                            "properties": {
                              "label": {
                                "title": "label",
                                "description": "Resource agent role type label.",
                                "type": "object",
                                "additionalProperties": {
                                  "title": "Hodnota v jiném jazyce",
                                  "type": "string"
                                },
                                "properties": {
                                  "cs": {
                                    "title": "Hodnota v českém jazyce",
                                    "type": "string"
                                  },
                                  "en": {
                                    "title": "Hodnota v anglickém jazyce",
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "time_reference": {
                      "title": "has time reference",
                      "description": "Reference to events related to the resource.",
                      "type": "array",
                      "items": {
                        "title": "Time reference",
                        "description": "An object representing time reference relevant to some event related to the resource has happened.",
                        "type": "object",
                        "required": [
                          "temporal_representation",
                          "date_type"
                        ],
                        "properties": {
                          "temporal_representation": {
                            "title": "has temporal representation",
                            "description": "Represents the representation of a temporal entity (instant or interval).",
                            "anyOf": [
                              {
                                "title": "Time interval",
                                "description": "A temporal entity with an extent or duration",
                                "type": "object",
                                "required": [
                                  "beginning",
                                  "end"
                                ],
                                "properties": {
                                  "beginning": {
                                    "title": "has beginning",
                                    "description": "Time instant representing the beginning of a temporal interval.",
                                    "type": "object",
                                    "oneOf": [
                                      {
                                        "type": "object",
                                        "required": [
                                          "date_time"
                                        ],
                                        "properties": {
                                          "date_time": {
                                            "title": "Date and time",
                                            "type": "string",
                                            "format": "date-time"
                                          }
                                        }
                                      },
                                      {
                                        "type": "object",
                                        "required": [
                                          "date"
                                        ],
                                        "properties": {
                                          "date": {
                                            "title": "Date",
                                            "type": "string",
                                            "format": "date"
                                          }
                                        }
                                      }
                                    ]
                                  },
                                  "end": {
                                    "title": "has end",
                                    "description": "Time instant representing the end of a temporal interval.",
                                    "type": "object",
                                    "oneOf": [
                                      {
                                        "type": "object",
                                        "required": [
                                          "date_time"
                                        ],
                                        "properties": {
                                          "date_time": {
                                            "title": "Date and time",
                                            "type": "string",
                                            "format": "date-time"
                                          }
                                        }
                                      },
                                      {
                                        "type": "object",
                                        "required": [
                                          "date"
                                        ],
                                        "properties": {
                                          "date": {
                                            "title": "Date",
                                            "type": "string",
                                            "format": "date"
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "title": "Time instant",
                                "description": "A temporal entity with zero extent or duration.",
                                "type": "object",
                                "oneOf": [
                                  {
                                    "type": "object",
                                    "required": [
                                      "date_time"
                                    ],
                                    "properties": {
                                      "date_time": {
                                        "title": "Date and time",
                                        "type": "string",
                                        "format": "date-time"
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "date"
                                    ],
                                    "properties": {
                                      "date": {
                                        "title": "Date",
                                        "type": "string",
                                        "format": "date"
                                      }
                                    }
                                  }
                                ]
                              }
                            ]
                          },
                          "date_type": {
                            "title": "has date type",
                            "description": "Reference to the code list of date types.",
                            "type": "object",
                            "required": [
                              "label"
                            ],
                            "properties": {
                              "label": {
                                "title": "label",
                                "description": "Date type label.",
                                "type": "object",
                                "additionalProperties": {
                                  "title": "Hodnota v jiném jazyce",
                                  "type": "string"
                                },
                                "properties": {
                                  "cs": {
                                    "title": "Hodnota v českém jazyce",
                                    "type": "string"
                                  },
                                  "en": {
                                    "title": "Hodnota v anglickém jazyce",
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "date_information": {
                            "title": "date information",
                            "description": "Additional information to the date in text form.",
                            "type": "object",
                            "additionalProperties": {
                              "title": "Hodnota v jiném jazyce",
                              "type": "string"
                            },
                            "properties": {
                              "cs": {
                                "title": "Hodnota v českém jazyce",
                                "type": "string"
                              },
                              "en": {
                                "title": "Hodnota v anglickém jazyce",
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "resource_type": {
                      "title": "has resource type",
                      "description": "The resource type of the resource.",
                      "type": "object",
                      "required": [
                        "label"
                      ],
                      "properties": {
                        "label": {
                          "title": "label",
                          "description": "Label of the resource type.",
                          "type": "object",
                          "additionalProperties": {
                            "title": "Hodnota v jiném jazyce",
                            "type": "string"
                          },
                          "properties": {
                            "cs": {
                              "title": "Hodnota v českém jazyce",
                              "type": "string"
                            },
                            "en": {
                              "title": "Hodnota v anglickém jazyce",
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "resource_relation_type": {
                      "title": "has resource relation type",
                      "description": "Relation to the relation type between dataset and resource.",
                      "type": "object",
                      "required": [
                        "label"
                      ],
                      "properties": {
                        "label": {
                          "title": "label",
                          "description": "Label of the relation type.",
                          "type": "object",
                          "additionalProperties": {
                            "title": "Hodnota v jiném jazyce",
                            "type": "string"
                          },
                          "properties": {
                            "cs": {
                              "title": "Hodnota v českém jazyce",
                              "type": "string"
                            },
                            "en": {
                              "title": "Hodnota v anglickém jazyce",
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "licence": {
                "title": "has licence",
                "description": "A licence under which the Data service is made available.",
                "type": "object",
                "properties": {
                  "title": {
                    "title": "title",
                    "description": "Title of the licence document.",
                    "type": "array",
                    "items": {
                      "title": "Language tagged string",
                      "type": "object",
                      "required": [
                        "@value",
                        "@language"
                      ],
                      "properties": {
                        "@value": {
                          "title": "Text v daném jazyce",
                          "type": "string"
                        },
                        "@language": {
                          "title": "Jazyk textu",
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "conforms_to": {
          "title": "conforms to",
          "description": "An established schema to which the described Distribution conforms.",
          "type": "array",
          "items": {
            "title": "Application profile",
            "description": "A standard or other specification to which a resource conforms.",
            "type": "object",
            "properties": {
              "label": {
                "title": "label",
                "description": "Label of application profile",
                "type": "array",
                "items": {
                  "title": "Language tagged string",
                  "type": "object",
                  "required": [
                    "@value",
                    "@language"
                  ],
                  "properties": {
                    "@value": {
                      "title": "Text v daném jazyce",
                      "type": "string"
                    },
                    "@language": {
                      "title": "Jazyk textu",
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "documentation": {
          "title": "has documentation",
          "description": "A page or document about this Distribution.",
          "type": "array",
          "items": {
            "title": "Documentation",
            "description": "A textual resource intended for human consumption that contains information about the data service.",
            "type": "object",
            "properties": {
              "label": {
                "title": "label",
                "description": "Documentation label",
                "type": "array",
                "items": {
                  "title": "Language tagged string",
                  "type": "object",
                  "required": [
                    "@value",
                    "@language"
                  ],
                  "properties": {
                    "@value": {
                      "title": "Text v daném jazyce",
                      "type": "string"
                    },
                    "@language": {
                      "title": "Jazyk textu",
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "rights": {
          "title": "has rights",
          "description": "A statement that specifies rights associated with the Distribution.",
          "type": "object",
          "required": [
            "label"
          ],
          "properties": {
            "label": {
              "title": "label",
              "description": "A human-readable name for the subject.",
              "type": "object",
              "additionalProperties": {
                "title": "Hodnota v jiném jazyce",
                "type": "string"
              },
              "properties": {
                "cs": {
                  "title": "Hodnota v českém jazyce",
                  "type": "string"
                },
                "en": {
                  "title": "Hodnota v anglickém jazyce",
                  "type": "string"
                }
              }
            }
          }
        },
        "licence": {
          "title": "has licence",
          "description": "A licence under which the Distribution is made available.",
          "type": "object",
          "properties": {
            "title": {
              "title": "title",
              "description": "Title of the licence document.",
              "type": "array",
              "items": {
                "title": "Language tagged string",
                "type": "object",
                "required": [
                  "@value",
                  "@language"
                ],
                "properties": {
                  "@value": {
                    "title": "Text v daném jazyce",
                    "type": "string"
                  },
                  "@language": {
                    "title": "Jazyk textu",
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "description": {
          "title": "description",
          "description": "A free-text account of the Distribution.",
          "type": "array",
          "items": {
            "title": "Text",
            "type": "object",
            "additionalProperties": {
              "title": "Hodnota v jiném jazyce",
              "type": "string"
            },
            "properties": {
              "cs": {
                "title": "Hodnota v českém jazyce",
                "type": "string"
              },
              "en": {
                "title": "Hodnota v anglickém jazyce",
                "type": "string"
              }
            }
          }
        }
      }
    },
    {
      "title": "Distribution - downloadable file",
      "description": "Physical embodiment of the dataset in a particular format. ",
      "type": "object",
      "required": [
        "title",
        "access_url",
        "format",
        "byte_size",
        "licence"
      ],
      "properties": {
        "title": {
          "title": "title",
          "description": "A name given to the distribution.",
          "type": "array",
          "minItems": 1,
          "items": {
            "title": "String",
            "type": "string"
          }
        },
        "access_url": {
          "title": "access URL",
          "description": "A URL that gives access to a Distribution of the Dataset.",
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string",
            "format": "iri"
          }
        },
        "download_url": {
          "title": "download URL",
          "description": "A URL that is a direct link to a downloadable file in a given format.",
          "type": "array",
          "items": {
            "title": "File",
            "description": "Digital resource representing collection of data.",
            "type": "object",
            "properties": {
              "label": {
                "title": "label",
                "description": "File label",
                "type": "array",
                "items": {
                  "title": "Language tagged string",
                  "type": "object",
                  "required": [
                    "@value",
                    "@language"
                  ],
                  "properties": {
                    "@value": {
                      "title": "Text v daném jazyce",
                      "type": "string"
                    },
                    "@language": {
                      "title": "Jazyk textu",
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "conforms_to": {
          "title": "conforms to",
          "description": "An established schema to which the described Distribution conforms.",
          "type": "array",
          "items": {
            "title": "Application profile",
            "description": "A standard or other specification to which a resource conforms.",
            "type": "object",
            "properties": {
              "label": {
                "title": "label",
                "description": "Label of application profile",
                "type": "array",
                "items": {
                  "title": "Language tagged string",
                  "type": "object",
                  "required": [
                    "@value",
                    "@language"
                  ],
                  "properties": {
                    "@value": {
                      "title": "Text v daném jazyce",
                      "type": "string"
                    },
                    "@language": {
                      "title": "Jazyk textu",
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "format": {
          "title": "has format",
          "description": "The file format of the distribution.",
          "type": "object",
          "required": [
            "label"
          ],
          "properties": {
            "label": {
              "title": "label",
              "description": "Label of format value.",
              "type": "object",
              "additionalProperties": {
                "title": "Hodnota v jiném jazyce",
                "type": "string"
              },
              "properties": {
                "cs": {
                  "title": "Hodnota v českém jazyce",
                  "type": "string"
                },
                "en": {
                  "title": "Hodnota v anglickém jazyce",
                  "type": "string"
                }
              }
            }
          }
        },
        "media_type": {
          "title": "has media type",
          "description": "The media type of the Distribution as defined in the official register of media types managed by IANA.",
          "type": "object",
          "required": [
            "label"
          ],
          "properties": {
            "label": {
              "title": "label",
              "description": "Media type label.",
              "type": "object",
              "additionalProperties": {
                "title": "Hodnota v jiném jazyce",
                "type": "string"
              },
              "properties": {
                "cs": {
                  "title": "Hodnota v českém jazyce",
                  "type": "string"
                },
                "en": {
                  "title": "Hodnota v anglickém jazyce",
                  "type": "string"
                }
              }
            }
          }
        },
        "packaging_format": {
          "title": "has packaging format",
          "description": "The format of the file in which one or more data files are grouped together, e.g., to enable a set of related files to be downloaded together.",
          "type": "object",
          "required": [
            "label"
          ],
          "properties": {
            "label": {
              "title": "label",
              "description": "Media type label.",
              "type": "object",
              "additionalProperties": {
                "title": "Hodnota v jiném jazyce",
                "type": "string"
              },
              "properties": {
                "cs": {
                  "title": "Hodnota v českém jazyce",
                  "type": "string"
                },
                "en": {
                  "title": "Hodnota v anglickém jazyce",
                  "type": "string"
                }
              }
            }
          }
        },
        "compression_format": {
          "title": "has compression format",
          "description": "The format of the file in which the data is contained in a compressed form, e.g., to reduce the size of the downloadable file.",
          "type": "object",
          "required": [
            "label"
          ],
          "properties": {
            "label": {
              "title": "label",
              "description": "Media type label.",
              "type": "object",
              "additionalProperties": {
                "title": "Hodnota v jiném jazyce",
                "type": "string"
              },
              "properties": {
                "cs": {
                  "title": "Hodnota v českém jazyce",
                  "type": "string"
                },
                "en": {
                  "title": "Hodnota v anglickém jazyce",
                  "type": "string"
                }
              }
            }
          }
        },
        "byte_size": {
          "title": "byte size",
          "description": "The size of a Distribution in bytes. ",
          "type": "integer"
        },
        "checksum": {
          "title": "has checksum",
          "description": "A mechanism that can be used to verify that the contents of a distribution have not changed.",
          "type": "object",
          "required": [
            "checksum_value",
            "algorithm"
          ],
          "properties": {
            "checksum_value": {
              "title": "checksum value",
              "description": "A lower case hexadecimal encoded digest value produced using a specific algorithm. ",
              "type": "string"
            },
            "algorithm": {
              "title": "uses algorithm",
              "description": "The algorithm used to produce the subject Checksum.",
              "type": "object",
              "properties": {
                "label": {
                  "title": "label",
                  "description": "A human-readable name for the subject.",
                  "type": "array",
                  "items": {
                    "title": "Language tagged string",
                    "type": "object",
                    "required": [
                      "@value",
                      "@language"
                    ],
                    "properties": {
                      "@value": {
                        "title": "Text v daném jazyce",
                        "type": "string"
                      },
                      "@language": {
                        "title": "Jazyk textu",
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "rights": {
          "title": "has rights",
          "description": "A statement that specifies rights associated with the Distribution.",
          "type": "object",
          "required": [
            "label"
          ],
          "properties": {
            "label": {
              "title": "label",
              "description": "A human-readable name for the subject.",
              "type": "object",
              "additionalProperties": {
                "title": "Hodnota v jiném jazyce",
                "type": "string"
              },
              "properties": {
                "cs": {
                  "title": "Hodnota v českém jazyce",
                  "type": "string"
                },
                "en": {
                  "title": "Hodnota v anglickém jazyce",
                  "type": "string"
                }
              }
            }
          }
        },
        "licence": {
          "title": "has licence",
          "description": "A licence under which the Distribution is made available.",
          "type": "object",
          "properties": {
            "title": {
              "title": "title",
              "description": "Title of the licence document.",
              "type": "array",
              "items": {
                "title": "Language tagged string",
                "type": "object",
                "required": [
                  "@value",
                  "@language"
                ],
                "properties": {
                  "@value": {
                    "title": "Text v daném jazyce",
                    "type": "string"
                  },
                  "@language": {
                    "title": "Jazyk textu",
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "description": {
          "title": "description",
          "description": "A free-text account of the Distribution.",
          "type": "array",
          "items": {
            "title": "Text",
            "type": "object",
            "additionalProperties": {
              "title": "Hodnota v jiném jazyce",
              "type": "string"
            },
            "properties": {
              "cs": {
                "title": "Hodnota v českém jazyce",
                "type": "string"
              },
              "en": {
                "title": "Hodnota v anglickém jazyce",
                "type": "string"
              }
            }
          }
        }
      }
    }
  ]
}