{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schema.humancellatlas.org/module/ontology/5.3.2/biological_macromolecule_ontology",
  "description": "A term that may be associated with a biological macromolecule-related ontology term",
  "additionalProperties": false,
  "required": [
    "text"
  ],
  "title": "Biological macromolecule ontology",
  "name": "biological_macromolecule_ontology",
  "type": "object",
  "properties": {
    "describedBy": {
      "description": "The URL reference to the schema.",
      "type": "string",
      "pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/biological_macromolecule_ontology"
    },
    "schema_version": {
      "description": "The version number of the schema in major.minor.patch format.",
      "type": "string",
      "pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
      "example": "4.6.1"
    },
    "text": {
      "description": "The name of the biological macromolecule being used.",
      "type": "string"
    },
    "ontology": {
      "description": "An ontology term identifier in the form prefix:accession",
      "type": "string",
      "graph_restriction": {
        "ontologies": [
          "obo:efo",
          "obo:chebi",
          "obo:obi"
        ],
        "classes": [
          "EFO:0004446"
        ],
        "relations": [
          "rdfs:subClassOf"
        ],
        "direct": false,
        "include_self": false
      }
    },
    "ontology_label": {
      "description": "The preferred label for the ontology term referred to in the ontology field. This may differ from the user-supplied value in the text field",
      "type": "string"
    }
  }
}
