{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "schema:DefinedTerm",
  "title": "DefinedTerm",
  "description": "A word, name, acronym, phrase, etc. with a formal definition. Often used in the context of category or subject classification, glossaries or dictionaries, product or creative work types, etc. Use the name property for the term being defined, use termCode if the term has an alpha-numeric code allocated, use description to provide the definition of the term.",
  "type": "object",
  "allOf": [
    {
      "description": "A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc.",
      "$ref": "schema:Intangible"
    }
  ],
  "properties": {
    "inDefinedTermSet": {
      "description": "A [[DefinedTermSet]] that contains this term.",
      "oneOf": [
        {
          "anyOf": [
            { "type": "string", "format": "uri" },
            { "$ref": "schema:DefinedTermSet" }
          ]
        },
        {
          "type": "array",
          "items": {
            "anyOf": [
              { "type": "string", "format": "uri" },
              { "$ref": "schema:DefinedTermSet" }
            ]
          }
        }
      ]
    },
    "termCode": {
      "description": "A code that identifies this [[DefinedTerm]] within a [[DefinedTermSet]].",
      "oneOf": [
        { "type": "string" },
        { "type": "array", "items": { "type": "string" } }
      ]
    }
  }
}
