{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://qaz.bio/schemas/public-statement.schema.json",
  "title": "QAZ.BIO public statement",
  "type": "object",
  "required": [
    "schema_version",
    "statement_id",
    "entity_id",
    "entity_kind",
    "entity_url",
    "property",
    "value",
    "rank",
    "evidence",
    "publication"
  ],
  "properties": {
    "schema_version": {"const": "qaz.bio.public-statement.v1"},
    "statement_id": {"type": "string", "pattern": "^qbst:[a-f0-9]{24}$"},
    "entity_id": {"type": "string", "pattern": "^qbio:"},
    "entity_kind": {"enum": ["person", "organisation"]},
    "entity_url": {"type": "string", "format": "uri"},
    "property": {"type": "string", "minLength": 1},
    "value": {},
    "language": {"enum": ["ru", "kk", "en"]},
    "qualifiers": {"type": "object"},
    "rank": {"enum": ["preferred", "normal", "deprecated"]},
    "evidence": {
      "type": "object",
      "required": ["state", "source_url", "captured_at"],
      "properties": {
        "state": {"enum": ["verified", "sourced", "archival"]},
        "source_id": {"type": "string", "minLength": 1},
        "source_url": {"type": "string", "format": "uri"},
        "archive_url": {"type": "string", "format": "uri"},
        "captured_at": {"type": "string", "format": "date-time"},
        "content_hash": {"type": "string", "pattern": "^[a-f0-9]{64}$"}
      },
      "additionalProperties": false
    },
    "publication": {
      "type": "object",
      "required": ["published_at"],
      "properties": {
        "published_at": {"type": "string", "format": "date-time"}
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
