{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://publicschema.org/IndividualAnimal.schema.json",
  "title": "IndividualAnimal",
  "description": "A single animal, identified as the same organism throughout its life regardless of the identifiers it carries, the people responsible for it or the places where it is kept.",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The full display name of the record. Depending on the concept, this is a person's or group's name, or the title of a program, instrument, scoring rule, or software product."
    },
    "biological_taxon": {
      "$ref": "https://publicschema.org/CodedValue.schema.json",
      "description": "The taxon to which this organism, group, breed, variety or sample belongs, as a code or scientific name from an identified taxonomy such as Catalogue of Life or the taxonomy of the National Center for Biotechnology Information. No single taxonomy is required."
    },
    "identifiers": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "$ref": "https://publicschema.org/Identifier.schema.json"
          },
          {
            "type": "string",
            "description": "URI or identifier reference"
          }
        ],
        "description": "Identifiers carried by this entity, such as national ID numbers, program IDs, or identifiers asserted by an identity document."
      }
    },
    "animal_breed": {
      "oneOf": [
        {
          "$ref": "https://publicschema.org/agri/AnimalBreed.schema.json"
        },
        {
          "type": "string",
          "description": "URI or identifier reference"
        }
      ],
      "description": "The breed to which the animal is attributed. Attribution does not certify pedigree."
    },
    "animal_birth_date": {
      "type": "string",
      "description": "The date of birth of the animal to the precision known, in ISO 8601 form as a year (2021), a year and month (2021-05) or a full date (2021-05-14). A month or day that was not recorded is left out, not invented.",
      "pattern": "^[0-9]{4}(-(0[1-9]|1[0-2])(-(0[1-9]|[12][0-9]|3[01]))?)?$"
    },
    "animal_death_date": {
      "type": "string",
      "format": "date",
      "description": "The date on which the animal died or was slaughtered. A lost or missing animal has no death date until its death is known, and closing a registration does not imply death."
    },
    "animal_sex": {
      "$ref": "https://publicschema.org/CodedValue.schema.json",
      "description": "The sex of the animal as recorded in an identified animal terminology, such as the animal gender codes of the International Committee for Animal Recording for livestock. It is independent of the Person sex vocabulary."
    },
    "genetic_dam": {
      "oneOf": [
        {
          "$ref": "https://publicschema.org/IndividualAnimal.schema.json"
        },
        {
          "type": "string",
          "description": "URI or identifier reference"
        }
      ],
      "description": "The female that is the genetic mother of the animal. A recipient (gestational) or foster mother is not the genetic dam."
    },
    "genetic_sire": {
      "oneOf": [
        {
          "$ref": "https://publicschema.org/IndividualAnimal.schema.json"
        },
        {
          "type": "string",
          "description": "URI or identifier reference"
        }
      ],
      "description": "The male that is the genetic father of the animal. Unknown parentage is omitted."
    }
  }
}
