json_schema: {
      "$schema": "http://json-schema.org/draft-06/schema#",
      "description": "Schema for tests",
      "type": "array",
      "items": {
          "type": "object",
          "required": [
              "description",
              "schema",
              "tests"
          ],
          "properties": {
              "id": {
                  "description": "Uniquely identifies a set of tests",
                  "type": "string",
                  "format": "uri"
              },
              "description": {
                  "description": "The test set description",
                  "type": "string"
              },
              "comment": {
                  "description": "Any additional comments about the test set",
                  "type": "string"
              },
              "schema": {
                  "description": "This should be a valid schema. This should be a ref to a meta-schema if schema keywords need testing."
              },
              "tests": {
                  "description": "A set of related tests all using the same schema",
                  "type": "array",
                  "items": {
                      "$ref": "#/definitions/test"
                  },
                  "minItems": 1
              }
          },
          "additionalProperties": false,
          "minItems": 1
      },
      "definitions": {
          "outputItem": {
              "type": "object",
              "properties": {
                  "valid": {
                      "type": "boolean"
                  },
                  "keywordLocation": {
                      "type": "string"
                  },
                  "absoluteKeywordLocation": {
                      "type": "string",
                      "format": "uri"
                  },
                  "instanceLocation": {
                      "type": "string"
                  },
                  "annotations": {
                      "type": "array",
                      "items": {
                          "$ref": "#/definitions/outputItem"
                      }
                  },
                  "errors": {
                      "type": "array",
                      "items": {
                          "$ref": "#/definitions/outputItem"
                      }
                  }
              }
          },
          "test": {
              "description": "A single test",
              "type": "object",
              "required": [
                  "description",
                  "data",
                  "valid"
              ],
              "properties": {
                  "id": {
                      "description": "Uniquely identifies a single test",
                      "type": "string",
                      "format": "uri"
                  },
                  "description": {
                      "description": "The test description",
                      "type": "string"
                  },
                  "comment": {
                      "description": "Any additional comments about the test",
                      "type": "string"
                  },
                  "data": {
                      "description": "This is the instance to be validated against the schema in \"schema\"."
                  },
                  "valid": {
                      "type": "boolean"
                  },
                  "output": {
                      "type": "object",
                      "required": [
                          "basic",
                          "detailed",
                          "verbose"
                      ],
                      "properties": {
                          "basic": {
                              "$ref": "#/definitions/outputItem"
                          },
                          "detailed": {
                              "$ref": "#/definitions/outputItem"
                          },
                          "verbose": {
                              "$ref": "#/definitions/outputItem"
                          }
                      }
                  }
              },
              "additionalProperties": false
          }
      }
  }