{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "metadata": {
      "type": "object",
      "properties": {
        "v": {
          "type": "number"
        },
        "kind": {
          "type": "string"
        },
        "set_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "set_revision": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "comparison": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "mode": {
                  "type": "string"
                },
                "reasons": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "absence_claim": {
                  "type": "string",
                  "const": "not_supported",
                  "description": "not_supported: missing dataset rows cannot prove link absence."
                }
              },
              "required": [
                "mode",
                "reasons",
                "absence_claim"
              ],
              "additionalProperties": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "ranking_scope": {
          "type": "string"
        },
        "whole_web_coverage": {
          "type": "boolean",
          "const": false,
          "description": "False: these results do not measure the whole web."
        },
        "absence_claim": {
          "type": "string",
          "const": "not_supported",
          "description": "not_supported: missing dataset rows cannot prove link absence."
        },
        "label_source": {
          "type": "string"
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "lanes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "selected_inventory_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "coverage_by_inventory": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "string"
          }
        },
        "unselected_member_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "competitor_side_available": {
          "type": "boolean"
        },
        "competitor_side_state": {
          "type": "string"
        },
        "report_hash": {
          "type": "string"
        },
        "limit": {
          "type": "number"
        }
      },
      "required": [
        "v",
        "kind",
        "set_id",
        "set_revision",
        "comparison",
        "ranking_scope",
        "whole_web_coverage",
        "absence_claim",
        "label_source",
        "labels",
        "lanes",
        "selected_inventory_ids",
        "coverage_by_inventory",
        "unselected_member_ids",
        "competitor_side_available",
        "competitor_side_state",
        "report_hash",
        "limit"
      ],
      "additionalProperties": {}
    },
    "ours": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "lane": {
            "type": "string"
          },
          "rows_read": {
            "type": "number"
          },
          "referring_domains": {
            "type": "number"
          },
          "classes": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "number"
            }
          },
          "labelled_domains": {
            "type": "number"
          },
          "label_coverage": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "generic_share_of_labelled": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "niche_share_of_labelled": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "generic_niche_ratio": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "top_domains": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string"
                },
                "class": {
                  "type": "string"
                },
                "referring_pages": {
                  "type": "number"
                },
                "rank_within_dataset": {
                  "type": "number"
                }
              },
              "required": [
                "host",
                "class",
                "referring_pages",
                "rank_within_dataset"
              ],
              "additionalProperties": {}
            }
          },
          "domain_classes": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "required": [
          "lane",
          "rows_read",
          "referring_domains",
          "classes",
          "labelled_domains",
          "label_coverage",
          "generic_share_of_labelled",
          "niche_share_of_labelled",
          "generic_niche_ratio",
          "top_domains",
          "domain_classes"
        ],
        "additionalProperties": {}
      }
    },
    "members": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "member_id": {
            "type": "string"
          },
          "member_role": {
            "type": "string"
          },
          "inventory_id": {
            "type": "string"
          },
          "coverage": {
            "type": "string",
            "description": "Dataset scope and completeness, including limits on what these results establish."
          },
          "referring_domains": {
            "type": "number"
          },
          "classes": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "number"
            }
          },
          "labelled_domains": {
            "type": "number"
          },
          "label_coverage": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "generic_share_of_labelled": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "niche_share_of_labelled": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "generic_niche_ratio": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "top_domains": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string"
                },
                "class": {
                  "type": "string"
                },
                "referring_pages": {
                  "type": "number"
                },
                "rank_within_dataset": {
                  "type": "number"
                }
              },
              "required": [
                "host",
                "class",
                "referring_pages",
                "rank_within_dataset"
              ],
              "additionalProperties": {}
            }
          },
          "domain_classes": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "required": [
          "member_id",
          "member_role",
          "inventory_id",
          "coverage",
          "referring_domains",
          "classes",
          "labelled_domains",
          "label_coverage",
          "generic_share_of_labelled",
          "niche_share_of_labelled",
          "generic_niche_ratio",
          "top_domains",
          "domain_classes"
        ],
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "metadata",
    "ours",
    "members"
  ],
  "additionalProperties": {}
}
