{
  "$id": "https://yoda.uu.nl/schemas/epos-msl-1/metadata.json",
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "definitions": {
    "stringNormal": {
      "type": "string",
      "maxLength": 255
    },
    "stringNormalNullable": {
      "type": ["string", "null"],
      "maxLength": 255
    },
    "stringLong": {
      "type": "string",
      "maxLength": 2700
    },
    "optionsDataAccessRestriction": {
      "type": "string",
      "enum": [
        "Open - freely retrievable",
        "Restricted - available upon request",
        "Closed"
      ]
    },
    "optionsDataType": {
      "type": "string",
      "enum": [
        "Dataset",
        "DataPaper",
        "Software",
        "Model",
        "Text"
      ],
      "enumNames": [
        "Datapackage",
        "Method",
        "Software",
        "Model",
        "Other Document"
      ]
    },
    "optionsDataClassification": {
      "type": "string",
      "enum": [
        "Public",
        "Basic",
        "Sensitive",
        "Critical"
      ]
    },
    "optionsNameIdentifierScheme": {
      "type": "string",
      "enum": [
        "ORCID",
        "DAI",
        "Author identifier (Scopus)",
        "ResearcherID (Web of Science)",
        "ISNI"
      ]
    },
    "optionsPersistentIdentifierScheme": {
      "type": "string",
      "enum": [
        "ARK",
        "arXiv",
        "bibcode",
        "DOI",
        "EAN13",
        "EISSN",
        "Handle",
        "IGSN",
        "ISBN",
        "ISSN",
        "ISTC",
        "LISSN",
        "LSID",
        "PMID",
        "PURL",
        "UPC",
        "URL",
        "URN"
      ]
    },
    "optionsLicense": {
      "type": "string",
      "enum": [
        "Creative Commons Attribution 4.0 International Public License",
        "Creative Commons Attribution-ShareAlike 4.0 International Public License",
        "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License",
        "Creative Commons Zero v1.0 Universal",
        "Open Data Commons Attribution License (ODC-By) v1.0",
        "Custom"
      ]
    },
    "optionsContributorType": {
      "type": "string",
      "enum": [
        "ContactPerson",
        "DataCollector",
        "DataCurator",
        "DataManager",
        "Distributor",
        "Editor",
        "HostingInstitution",
        "Producer",
        "ProjectLeader",
        "ProjectManager",
        "ProjectMember",
        "RegistrationAgency",
        "RegistrationAuthority",
        "RelatedPerson",
        "Researcher",
        "ResearchGroup",
        "RightsHolder",
        "Sponsor",
        "Supervisor",
        "WorkPackageLeader"
      ]
    },
    "optionsRelationType": {
      "type": "string",
      "enum": [
        "IsCitedBy",
        "Cites",
        "IsSupplementTo",
        "IsSupplementedBy",
        "IsContinuedBy",
        "Continues",
        "IsDescribedBy",
        "Describes",
        "HasMetadata",
        "IsMetadataFor",
        "HasVersion",
        "IsVersionOf",
        "IsNewVersionOf",
        "IsPreviousVersionOf",
        "IsPartOf",
        "HasPart",
        "IsPublishedIn",
        "IsReferencedBy",
        "References",
        "IsDocumentedBy",
        "Documents",
        "IsCompiledBy",
        "Compiles",
        "IsVariantFormOf",
        "IsOriginalFormOf",
        "IsIdenticalTo",
        "IsReviewedBy",
        "Reviews",
        "IsDerivedFrom",
        "IsSourceOf",
        "IsRequiredBy",
        "Requires",
        "IsObsoletedBy",
        "Obsoletes"
      ],
      "enumNames": [
        "IsCitedBy: Current datapackage is included in a citation",
        "Cites: Current datapackage includes resource in a citation",
        "IsSupplementTo: Current datapackage is supplement to",
        "IsSupplementedBy: Current datapackage is supplemented by",
        "IsContinuedBy: Current datapackage is continued by",
        "Continues: Continues this current datapackage",
        "IsDescribedBy: Current datapackage is described by",
        "Describes: Current datapackage is describing",
        "HasMetadata: Current datapackage has additional metadata",
        "IsMetadataFor: Current datapackage is additional metadata for a resource",
        "HasVersion: Current datapackage has a version",
        "IsVersionOf: Current datapackage is a version of",
        "IsNewVersionOf: Current datapackage is new version of",
        "IsPreviousVersionOf: Current datapackage is previous version of",
        "IsPartOf: Current datapackage is part of",
        "HasPart: Is part of current datapackage",
        "IsPublishedIn: Current datapackage is published inside",
        "IsReferencedBy: Current datapackage is referenced by",
        "References: Current datapackages references",
        "IsDocumentedBy: Current datapackage is documentated by",
        "Documents: Current datapackage is documentation about",
        "IsCompiledBy: Resource is used to compile or create current datapackage",
        "Compiles: Resource is the result of a compile or creation event using current datapackage",
        "IsVariantFormOf: Current datapackage is variant of",
        "IsOriginalFormOf: Current datapackage is original of",
        "IsIdenticalTo: Current datapackage is identical to",
        "IsReviewedBy: Current datapackage is reviewed by",
        "Reviews: Current datapackage is a review of",
        "IsDerivedFrom: Resource is a source upon which current datapackage is based",
        "IsSourceOf: Current datapackage is a source upon which resource is based",
        "IsRequiredBy: Current datapackage is required by",
        "Requires: Current datapackage requires",
        "IsObsoletedBy: Current datapackage is replaced by",
        "Obsoletes : Current datapackage replaces"
      ]
    },
    "optionsISO639-1": {
      "type": "string",
      "enum": [
        "ab - Abkhazian",
        "aa - Afar",
        "af - Afrikaans",
        "ak - Akan",
        "sq - Albanian",
        "am - Amharic",
        "ar - Arabic",
        "an - Aragonese",
        "hy - Armenian",
        "as - Assamese",
        "av - Avaric",
        "ae - Avestan",
        "ay - Aymara",
        "az - Azerbaijani",
        "bm - Bambara",
        "ba - Bashkir",
        "eu - Basque",
        "be - Belarusian",
        "bn - Bengali",
        "bh - Bihari languages",
        "bi - Bislama",
        "nb - Bokmål, Norwegian",
        "bs - Bosnian",
        "br - Breton",
        "bg - Bulgarian",
        "my - Burmese",
        "es - Castilian",
        "ca - Catalan",
        "km - Central Khmer",
        "ch - Chamorro",
        "ce - Chechen",
        "ny - Chewa",
        "ny - Chichewa",
        "zh - Chinese",
        "za - Chuang",
        "cu - Church Slavic",
        "cv - Chuvash",
        "kw - Cornish",
        "co - Corsican",
        "cr - Cree",
        "hr - Croatian",
        "cs - Czech",
        "da - Danish",
        "dv - Dhivehi",
        "dv - Divehi",
        "nl - Dutch",
        "dz - Dzongkha",
        "en - English",
        "eo - Esperanto",
        "et - Estonian",
        "ee - Ewe",
        "fo - Faroese",
        "fj - Fijian",
        "fi - Finnish",
        "nl - Flemish",
        "fr - French",
        "ff - Fulah",
        "gd - Gaelic",
        "gl - Galician",
        "lg - Ganda",
        "ka - Georgian",
        "de - German",
        "ki - Gikuyu",
        "el - Greek, Modern (1453-)",
        "kl - Greenlandic",
        "gn - Guarani",
        "gu - Gujarati",
        "ht - Haitian",
        "ht - Haitian Creole",
        "ha - Hausa",
        "he - Hebrew",
        "hz - Herero",
        "hi - Hindi",
        "ho - Hiri Motu",
        "hu - Hungarian",
        "is - Icelandic",
        "io - Ido",
        "ig - Igbo",
        "id - Indonesian",
        "ia - Interlingua (International Auxiliary Language Association)",
        "ie - Interlingue",
        "iu - Inuktitut",
        "ik - Inupiaq",
        "ga - Irish",
        "it - Italian",
        "ja - Japanese",
        "jv - Javanese",
        "kl - Kalaallisut",
        "kn - Kannada",
        "kr - Kanuri",
        "ks - Kashmiri",
        "kk - Kazakh",
        "ki - Kikuyu",
        "rw - Kinyarwanda",
        "ky - Kirghiz",
        "kv - Komi",
        "kg - Kongo",
        "ko - Korean",
        "kj - Kuanyama",
        "ku - Kurdish",
        "kj - Kwanyama",
        "ky - Kyrgyz",
        "lo - Lao",
        "la - Latin",
        "lv - Latvian",
        "lb - Letzeburgesch",
        "li - Limburgan",
        "li - Limburger",
        "li - Limburgish",
        "ln - Lingala",
        "lt - Lithuanian",
        "lu - Luba-Katanga",
        "lb - Luxembourgish",
        "mk - Macedonian",
        "mg - Malagasy",
        "ms - Malay",
        "ml - Malayalam",
        "dv - Maldivian",
        "mt - Maltese",
        "gv - Manx",
        "mi - Maori",
        "mr - Marathi",
        "mh - Marshallese",
        "ro - Moldavian",
        "ro - Moldovan",
        "mn - Mongolian",
        "na - Nauru",
        "nv - Navaho",
        "nv - Navajo",
        "nd - Ndebele, North",
        "nr - Ndebele, South",
        "ng - Ndonga",
        "ne - Nepali",
        "nd - North Ndebele",
        "se - Northern Sami",
        "no - Norwegian",
        "nb - Norwegian Bokmål",
        "nn - Norwegian Nynorsk",
        "ii - Nuosu",
        "ny - Nyanja",
        "nn - Nynorsk, Norwegian",
        "ie - Occidental",
        "oc - Occitan (post 1500)",
        "oj - Ojibwa",
        "or - Oriya",
        "om - Oromo",
        "os - Ossetian",
        "os - Ossetic",
        "pi - Pali",
        "pa - Panjabi",
        "ps - Pashto",
        "fa - Persian",
        "pl - Polish",
        "pt - Portuguese",
        "pa - Punjabi",
        "ps - Pushto",
        "qu - Quechua",
        "ro - Romanian",
        "rm - Romansh",
        "rn - Rundi",
        "ru - Russian",
        "sm - Samoan",
        "sg - Sango",
        "sa - Sanskrit",
        "sc - Sardinian",
        "gd - Scottish Gaelic",
        "sr - Serbian",
        "sn - Shona",
        "ii - Sichuan Yi",
        "sd - Sindhi",
        "si - Sinhala",
        "si - Sinhalese",
        "sk - Slovak",
        "sl - Slovenian",
        "so - Somali",
        "st - Sotho, Southern",
        "nr - South Ndebele",
        "es - Spanish",
        "su - Sundanese",
        "sw - Swahili",
        "ss - Swati",
        "sv - Swedish",
        "tl - Tagalog",
        "ty - Tahitian",
        "tg - Tajik",
        "ta - Tamil",
        "tt - Tatar",
        "te - Telugu",
        "th - Thai",
        "bo - Tibetan",
        "ti - Tigrinya",
        "to - Tonga (Tonga Islands)",
        "ts - Tsonga",
        "tn - Tswana",
        "tr - Turkish",
        "tk - Turkmen",
        "tw - Twi",
        "ug - Uighur",
        "uk - Ukrainian",
        "ur - Urdu",
        "ug - Uyghur",
        "uz - Uzbek",
        "ca - Valencian",
        "ve - Venda",
        "vi - Vietnamese",
        "vo - Volapük",
        "wa - Walloon",
        "cy - Welsh",
        "fy - Western Frisian",
        "wo - Wolof",
        "xh - Xhosa",
        "yi - Yiddish",
        "yo - Yoruba",
        "za - Zhuang",
        "zu - Zulu"
      ],
      "enumNames": [
        "Abkhazian",
        "Afar",
        "Afrikaans",
        "Akan",
        "Albanian",
        "Amharic",
        "Arabic",
        "Aragonese",
        "Armenian",
        "Assamese",
        "Avaric",
        "Avestan",
        "Aymara",
        "Azerbaijani",
        "Bambara",
        "Bashkir",
        "Basque",
        "Belarusian",
        "Bengali",
        "Bihari languages",
        "Bislama",
        "Bokmål, Norwegian",
        "Bosnian",
        "Breton",
        "Bulgarian",
        "Burmese",
        "Castilian",
        "Catalan",
        "Central Khmer",
        "Chamorro",
        "Chechen",
        "Chewa",
        "Chichewa",
        "Chinese",
        "Chuang",
        "Church Slavic",
        "Chuvash",
        "Cornish",
        "Corsican",
        "Cree",
        "Croatian",
        "Czech",
        "Danish",
        "Dhivehi",
        "Divehi",
        "Dutch",
        "Dzongkha",
        "English",
        "Esperanto",
        "Estonian",
        "Ewe",
        "Faroese",
        "Fijian",
        "Finnish",
        "Flemish",
        "French",
        "Fulah",
        "Gaelic",
        "Galician",
        "Ganda",
        "Georgian",
        "German",
        "Gikuyu",
        "Greek, Modern (1453-)",
        "Greenlandic",
        "Guarani",
        "Gujarati",
        "Haitian",
        "Haitian Creole",
        "Hausa",
        "Hebrew",
        "Herero",
        "Hindi",
        "Hiri Motu",
        "Hungarian",
        "Icelandic",
        "Ido",
        "Igbo",
        "Indonesian",
        "Interlingua (International Auxiliary Language Association)",
        "Interlingue",
        "Inuktitut",
        "Inupiaq",
        "Irish",
        "Italian",
        "Japanese",
        "Javanese",
        "Kalaallisut",
        "Kannada",
        "Kanuri",
        "Kashmiri",
        "Kazakh",
        "Kikuyu",
        "Kinyarwanda",
        "Kirghiz",
        "Komi",
        "Kongo",
        "Korean",
        "Kuanyama",
        "Kurdish",
        "Kwanyama",
        "Kyrgyz",
        "Lao",
        "Latin",
        "Latvian",
        "Letzeburgesch",
        "Limburgan",
        "Limburger",
        "Limburgish",
        "Lingala",
        "Lithuanian",
        "Luba-Katanga",
        "Luxembourgish",
        "Macedonian",
        "Malagasy",
        "Malay",
        "Malayalam",
        "Maldivian",
        "Maltese",
        "Manx",
        "Maori",
        "Marathi",
        "Marshallese",
        "Moldavian",
        "Moldovan",
        "Mongolian",
        "Nauru",
        "Navaho",
        "Navajo",
        "Ndebele, North",
        "Ndebele, South",
        "Ndonga",
        "Nepali",
        "North Ndebele",
        "Northern Sami",
        "Norwegian",
        "Norwegian Bokmål",
        "Norwegian Nynorsk",
        "Nuosu",
        "Nyanja",
        "Nynorsk, Norwegian",
        "Occidental",
        "Occitan (post 1500)",
        "Ojibwa",
        "Oriya",
        "Oromo",
        "Ossetian",
        "Ossetic",
        "Pali",
        "Panjabi",
        "Pashto",
        "Persian",
        "Polish",
        "Portuguese",
        "Punjabi",
        "Pushto",
        "Quechua",
        "Romanian",
        "Romansh",
        "Rundi",
        "Russian",
        "Samoan",
        "Sango",
        "Sanskrit",
        "Sardinian",
        "Scottish Gaelic",
        "Serbian",
        "Shona",
        "Sichuan Yi",
        "Sindhi",
        "Sinhala",
        "Sinhalese",
        "Slovak",
        "Slovenian",
        "Somali",
        "Sotho, Southern",
        "South Ndebele",
        "Spanish",
        "Sundanese",
        "Swahili",
        "Swati",
        "Swedish",
        "Tagalog",
        "Tahitian",
        "Tajik",
        "Tamil",
        "Tatar",
        "Telugu",
        "Thai",
        "Tibetan",
        "Tigrinya",
        "Tonga (Tonga Islands)",
        "Tsonga",
        "Tswana",
        "Turkish",
        "Turkmen",
        "Twi",
        "Uighur",
        "Ukrainian",
        "Urdu",
        "Uyghur",
        "Uzbek",
        "Valencian",
        "Venda",
        "Vietnamese",
        "Volapük",
        "Walloon",
        "Welsh",
        "Western Frisian",
        "Wolof",
        "Xhosa",
        "Yiddish",
        "Yoruba",
        "Zhuang",
        "Zulu"
      ]
    }
  },
  "title": "",
  "type": "object",
  "unevaluatedProperties": false,
  "required": [
    "links",
    "Title",
    "Description",
    "Discipline",
    "Version",
    "Language",
    "Collected",
    "TreeKeyword",
    "Retention_Period",
    "Data_Type",
    "Data_Classification",
    "Creator",
    "Contact",
    "License",
    "Data_Access_Restriction"
  ],
  "properties": {
    "links": {
        "type": "array",
        "minItems": 1,
        "maxItems": 1,
        "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [ "rel", "href" ],
            "properties": {
                "rel":  { "const": "describedby" },
                "href": { "const": "https://yoda.uu.nl/schemas/epos-msl-1/metadata.json" }
            }
        }
    },
    "Title": {
      "$ref": "#/definitions/stringNormal",
      "title": "Title"
    },
    "Description": {
      "$ref": "#/definitions/stringLong",
      "title": "Abstract"
    },
    "Additional_Documentation": {
      "$ref": "#/definitions/stringLong",
      "title": "(Additional technical) Documentation"
    },
    "Discipline": {
      "type": "array",
      "minItems": 1,
      "title": "Research discipline",
      "items": {
        "$ref": "#/definitions/stringNormal",
        "title": "Research discipline"
      }
    },
    "Lab": {
      "type": "array",
      "additionalProperties": false,
      "title": "Originating laboratory",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "identifier": {
            "$ref": "#/definitions/stringNormal",
            "title": "Laboratory identifier"
          },
          "name": {
            "$ref": "#/definitions/stringNormal",
            "title": "Laboratory name"
          },
          "affiliation_name": {
            "$ref": "#/definitions/stringNormal",
            "title": "Affiliation name"
          },
          "affiliation_ror": {
            "$ref": "#/definitions/stringNormal",
            "title": "Affiliation ROR"
          }
        }
      }
    },
    "Version": {
      "$ref": "#/definitions/stringNormal",
      "title": "Version",
      "default": "1.0"
    },
    "Language": {
      "$ref": "#/definitions/optionsISO639-1",
      "title": "Language of the data",
      "default": "en - English"
    },
    "Collected": {
      "type": "object",
      "additionalProperties": false,
      "title": "Collection period",
      "yoda:structure": "compound",
      "required": [
        "Start_Date",
        "End_Date"
      ],
      "properties": {
        "Start_Date": {
          "type": "string",
          "format": "date",
          "title": "Start date"
        },
        "End_Date": {
          "type": "string",
          "format": "date",
          "title": "End date"
        }
      },
      "dependencies": {
        "Start_Date": ["End_Date"],
        "End_Date": ["Start_Date"]
      }
    },
    "Coverage": {
      "type": "object",
      "additionalProperties": false,
      "title": "Period covered",
      "yoda:structure": "compound",
      "properties": {
        "Start_Date": {
          "type": "string",
          "format": "date",
          "title": "Start date"
        },
        "End_Date": {
          "type": "string",
          "format": "date",
          "title": "End date"
        }
      },
      "dependencies": {
        "Start_Date": ["End_Date"],
        "End_Date": ["Start_Date"]
      }
    },
    "GeoLocation": {
      "type": "array",
      "title": "Sample location(s) or modeled location(s)",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "yoda:structure": "subproperties",
        "properties": {
          "geoLocationBox": {
            "type": "object",
            "additionalProperties": false,
            "title": "Location",
            "yoda:structure": "geoLocation",
            "properties": {
              "northBoundLatitude": {
                "type": "number"
              },
              "westBoundLongitude": {
                "type": "number"
              },
              "southBoundLatitude": {
                "type": "number"
              },
              "eastBoundLongitude": {
                "type": "number"
              }
            }
          },
          "Description_Spatial": {
            "$ref": "#/definitions/stringNormal",
            "title": "Description"
          }
        }
      }
    },
    "TreeKeyword": {
      "type": "array",
      "additionalProperties": false,
      "title": "Keywords",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "subject": {
            "$ref": "#/definitions/stringNormal",
            "title": "Keyword name"
          },
          "subjectScheme": {
            "$ref": "#/definitions/stringNormal",
            "title": "Name of the subject scheme"
          },
          "schemeUri": {
            "$ref": "#/definitions/stringNormal",
            "title": "URI of the subject identifier scheme"
          },
          "valueUri": {
            "$ref": "#/definitions/stringNormal",
            "title": "URI of the subject term"
          }
        },
        "required": ["subject"]
      }
    },
    "Related_Resource": {
      "title": "Related resource",
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "yoda:structure": "subproperties",
        "properties": {
          "Relation_Type": {
            "$ref": "#/definitions/optionsRelationType",
            "title": "Relation type"
          },
          "Title": {
            "$ref": "#/definitions/stringNormal",
            "title": "Title"
          },
          "Persistent_Identifier": {
            "type": "object",
            "additionalProperties": false,
            "title": "Persistent identifier",
            "yoda:structure": "compound",
            "properties": {
              "Identifier_Scheme": {
                "$ref": "#/definitions/optionsPersistentIdentifierScheme",
                "title": "Type"
              },
              "Identifier": {
                "$ref": "#/definitions/stringNormal",
                "title": "Identifier"
              }
            },
            "dependencies": {
              "Identifier_Scheme": ["Identifier"],
              "Identifier": ["Identifier_Scheme"]
            }
          }
        },
        "dependencies": {
          "Relation_Type": ["Title"]
        }
      }
    },
    "Funding_Reference": {
      "type": "array",
      "minItems": 1,
      "title": "Funding reference",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "yoda:structure": "subproperties",
        "properties": {
          "Funder_Reference": {
            "$ref": "#/definitions/stringNormal",
            "title": "Funding reference"
          },
          "Funder_Name": {
            "$ref": "#/definitions/stringNormal",
            "title": "Funder name"
          },
          "Award_Number": {
            "$ref": "#/definitions/stringNormal",
            "title": "Grant number"
          },
          "Award_Name": {
            "$ref": "#/definitions/stringNormal",
            "title": "Grant name"
          }
        },
        "dependencies": {
          "Funder_Reference": ["Funder_Name", "Award_Number"],
          "Award_Number": ["Funder_Reference", "Funder_Name"],
          "Funder_Name": ["Funder_Reference", "Award_Number"]
        }
      }
    },
    "Retention_Period": {
      "type": "integer",
      "title": "Retention period (years)",
      "default": 10,
      "minimum": 0,
      "maximum": 9999
    },
    "Retention_Information": {
      "$ref": "#/definitions/stringNormal",
      "title": "Retention information"
    },
    "Embargo_End_Date": {
      "type": "string",
      "format": "date",
      "title": "Embargo end date"
    },
    "Data_Type": {
      "$ref": "#/definitions/optionsDataType",
      "title": "Data type",
      "default": "Dataset"
    },
    "Data_Classification": {
      "$ref": "#/definitions/optionsDataClassification",
      "title": "Data classification"
    },
    "Creator": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "yoda:structure": "subproperties",
        "required": [
          "Name",
          "Affiliation"
        ],
        "properties": {
          "Name": {
            "type": "object",
            "additionalProperties": false,
            "yoda:structure": "compound",
            "required": [
              "Given_Name",
              "Family_Name"
            ],
            "properties": {
              "Given_Name": {
                "$ref": "#/definitions/stringNormal",
                "title": "Given Name"
              },
              "Family_Name": {
                "$ref": "#/definitions/stringNormal",
                "title": "Family Name"
              }
            },
            "dependencies": {
              "Given_Name": ["Family_Name"],
              "Family_Name": ["Given_Name"]
            }
          },
          "Affiliation": {
            "title": "Affiliation",
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "yoda:structure": "compound",
              "properties": {
                "Affiliation_Name": {
                  "$ref": "#/definitions/stringNormal",
                  "title": "Affiliation name"
                },
                "Affiliation_Identifier": {
                  "$ref": "#/definitions/stringNormal",
                  "title": "Affiliation identifier"
                }
              }
            }
          },
          "Person_Identifier": {
            "title": "Person identifier",
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "unevaluatedProperties": false,
              "yoda:structure": "compound",
              "properties": {
                "Name_Identifier_Scheme": {
                  "$ref": "#/definitions/optionsNameIdentifierScheme",
                  "title": "Type"
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "ORCID"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier",
                        "pattern": "https://orcid.org/[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "DAI"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "Author identifier (Scopus)"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier",
                        "pattern": "[0-9]+"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "ResearcherID (Web of Science)"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier",
                        "pattern": "https://www.researcherid.com/rid/[A-Z]-[0-9]{4}-[0-9]{4}"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "ISNI"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier",
                        "pattern": "https://isni.org/isni/[0-9]{15}[0-9X]"
                      }
                    }
                  }
                }
              ],
              "dependencies": {
                "Name_Identifier_Scheme": ["Name_Identifier"],
                "Name_Identifier": ["Name_Identifier_Scheme"]
              }
            }
          }
        }
      }
    },
    "Contributor": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "yoda:structure": "subproperties",
        "properties": {
          "Name": {
            "type": "object",
            "additionalProperties": false,
            "yoda:structure": "compound",
            "properties": {
              "Given_Name": {
                "$ref": "#/definitions/stringNormal",
                "title": "Given Name"
              },
              "Family_Name": {
                "$ref": "#/definitions/stringNormal",
                "title": "Family Name"
              }
            },
            "dependencies": {
              "Given_Name": ["Family_Name"],
              "Family_Name": ["Given_Name"]
            }
          },
          "Contributor_Type": {
            "$ref": "#/definitions/optionsContributorType",
            "title": "Contributor type"
          },
          "Affiliation": {
            "title": "Affiliation",
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "yoda:structure": "compound",
              "properties": {
                "Affiliation_Name": {
                  "$ref": "#/definitions/stringNormal",
                  "title": "Affiliation name"
                },
                "Affiliation_Identifier": {
                  "$ref": "#/definitions/stringNormal",
                  "title": "Affiliation identifier"
                }
              }
            }
          },
          "Person_Identifier": {
            "title": "Person identifier",
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "unevaluatedProperties": false,
              "yoda:structure": "compound",
              "properties": {
                "Name_Identifier_Scheme": {
                  "$ref": "#/definitions/optionsNameIdentifierScheme",
                  "title": "Type"
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "ORCID"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier",
                        "pattern": "https://orcid.org/[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "DAI"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "Author identifier (Scopus)"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "ResearcherID (Web of Science)"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier",
                        "pattern": "https://www.researcherid.com/rid/[A-Z]-[0-9]{4}-[0-9]{4}"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "ISNI"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier",
                        "pattern": "https://isni.org/isni/[0-9]{15}[0-9X]"
                      }
                    }
                  }
                }
              ],
              "dependencies": {
                "Name_Identifier_Scheme": ["Name_Identifier"],
                "Name_Identifier": ["Name_Identifier_Scheme"]
              }
            }
          }
        }
      }
    },
    "Contact": {
      "type": "array",
      "minItems": 1,
      "title": "Contact person",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "yoda:structure": "subproperties",
        "required": [
          "Name"
        ],
        "properties": {
          "Name": {
            "type": "object",
            "additionalProperties": false,
            "yoda:structure": "compound",
            "required": [
              "Given_Name",
              "Family_Name"
            ],
            "properties": {
              "Given_Name": {
                "$ref": "#/definitions/stringNormal",
                "title": "Given Name"
              },
              "Family_Name": {
                "$ref": "#/definitions/stringNormal",
                "title": "Family Name"
              }
            }
          },
          "Position": {
            "type": "string",
            "title": "Position"
          },
          "Email": {
            "type": "string",
            "title": "E-mail"
          },
          "Affiliation": {
            "title": "Affiliation",
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "yoda:structure": "compound",
              "properties": {
                "Affiliation_Name": {
                  "$ref": "#/definitions/stringNormal",
                  "title": "Affiliation name"
                },
                "Affiliation_Identifier": {
                  "$ref": "#/definitions/stringNormal",
                  "title": "Affiliation identifier"
                }
              }
            }
          },
          "Person_Identifier": {
            "title": "Person identifier",
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "unevaluatedProperties": false,
              "yoda:structure": "compound",
              "properties": {
                "Name_Identifier_Scheme": {
                  "$ref": "#/definitions/optionsNameIdentifierScheme",
                  "title": "Type"
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "ORCID"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier",
                        "pattern": "https://orcid.org/[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "DAI"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "Author identifier (Scopus)"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "ResearcherID (Web of Science)"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier",
                        "pattern": "https://www.researcherid.com/rid/[A-Z]-[0-9]{4}-[0-9]{4}"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "Name_Identifier_Scheme": {
                        "const": "ISNI"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "Name_Identifier": {
                        "type": "string",
                        "title": "Identifier",
                        "pattern": "https://isni.org/isni/[0-9]{15}[0-9X]"
                      }
                    }
                  }
                }
              ],
              "dependencies": {
                "Name_Identifier_Scheme": ["Name_Identifier"],
                "Name_Identifier": ["Name_Identifier_Scheme"]
              }
            }
          }
        }
      }
    },
    "Data_Access_Restriction": {
      "$ref": "#/definitions/optionsDataAccessRestriction",
      "title": "Data package access",
      "default": "Restricted - available upon request"
    }
  },
  "allOf": [
    {
      "if": {
        "properties": {
          "Data_Access_Restriction": {
            "const": "Open - freely retrievable"
          }
        }
      },
      "then": {
        "properties": {
          "License": {
            "type": "string",
            "enum": [
              "Creative Commons Attribution 4.0 International Public License",
              "Creative Commons Attribution-ShareAlike 4.0 International Public License",
              "Creative Commons Attribution-NonCommercial 4.0 International Public License",
              "Creative Commons Attribution-NoDerivs 4.0 International Public License",
              "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License",
              "Creative Commons Attribution-NonCommercial-NoDerivs 4.0 International Public License",
              "Creative Commons Zero v1.0 Universal",
              "Open Data Commons Attribution License (ODC-By) v1.0",
              "GNU General Public License v3.0",
              "Custom"
            ],
            "title": "License"
          }
        },
        "required": [
          "License"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "Data_Access_Restriction": {
            "const": "Restricted - available upon request"
          }
        }
      },
      "then": {
        "properties": {
          "License": {
            "type": "string",
            "enum": [
              "Custom"
            ],
            "title": "License",
            "default": "Custom"
          }
        },
        "required": [
          "License"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "Data_Access_Restriction": {
            "const": "Closed"
          }
        }
      },
      "then": {
        "properties": {
          "License": {
            "type": "string",
            "enum": [
              "Custom"
            ],
            "title": "License",
            "default": "Custom"
          }
        },
        "required": [
          "License"
        ]
      }
    },
    {
      "required": [
        "Data_Access_Restriction"
      ]
    }
  ]
}
