{
  "$id": "/dcic/signature-commons-schema/v6/core/library.json",
  "$schema": "http://json-schema.org/draft-04/schema#",
  "allOf": [
    {
      "$ref": "/dcic/signature-commons-schema/v6/core/meta.json"
    },
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Globally unique identifier referring to this library."
        },
        "meta": {
          "$ref": "/dcic/signature-commons-schema/v6/core/meta.json",
          "description": "Arbitrary validatable metadata describing the library"
        },
        "resource": {
          "description": "Unique identifier referring to this signature's parent resource.",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "dataset": {
          "type": "string",
          "description": "Unique identifier referring to this signature's parent dataset."
        },
        "dataset_type": {
          "type": "string",
          "description": "Unique identifier referring to this signature's parent dataset type.",
          "enum": [
            "geneset_library",
            "rank_matrix"
          ]
        },
        "signatures": {
          "type": "array",
          "description": "List of signatures that make up this library",
          "items": {
            "type": "string",
            "description": "Globally unique identifier referring to the actual signature"
          }
        }
      },
      "required": [
        "id",
        "meta",
        "dataset",
        "dataset_type"
      ]
    }
  ]
}