{
  "enumDefs": [],
  "structDefs": [],
  "classificationDefs": [
    {
      "name": "SubjectArea",
      "superTypes": [],
      "description": "SubjectArea is a classification for a category that indicates that the category represents a subject area.",
      "entityTypes": [
        "GlossaryCategory"
      ],
      "typeVersion": "1.0",
      "attributeDefs": []
    }
  ],
  "entityDefs": [
    {
      "name": "GlossaryCategory",
      "superTypes": [
        "Referenceable"
      ],
      "description": "The vocabulary (the terms) for the glossary is organized into a hierarchy of categories. These categories effectively provide a folder structure for the glossary. Just like a GlossaryTerm, a GlossaryCategory is owned by a glossary.",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "displayName",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "shortDescription",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true
        },
        {
          "name": "longDescription",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true
        }
      ]
    }
  ],
  "relationshipDefs": [
    {
      "name": "CategoryAnchor",
      "typeVersion": "1.0",
      "description": "CategoryAnchor links each category to exactly one Glossary object. This means that this is its home glossary. If the Glossary object is deleted then so are all of the categories linked to it.",
      "endDef1": {
        "name": "categories",
        "type": "Glossary",
        "cardinality": "SET",
        "isContainer": true
      },
      "endDef2": {
        "name": "anchor",
        "type": "GlossaryCategory",
        "cardinality": "SINGLE"
      },
      "relationshipCategory": "COMPOSITION",
      "propagateTags": "NONE"
    },
    {
      "name": "CategoryHierarchyLink",
      "typeVersion": "1.0",
      "description": "CategoryHierarchyLink is a relationship used to organize categories into a hierarchy to, for example, create a structure for a taxonomy. A category may have none or one super-categories. This super-category may be in a different glossary.",
      "endDef1": {
        "name": "childrenCategories",
        "type": "GlossaryCategory",
        "cardinality": "SET",
        "isContainer": true
      },
      "endDef2": {
        "name": "parentCategory",
        "type": "GlossaryCategory",
        "cardinality": "SINGLE"
      },
      "relationshipCategory": "AGGREGATION",
      "propagateTags": "NONE"
    },
    {
      "name": "LibraryCategoryReference",
      "typeVersion": "1.0",
      "description": "LibraryCategoryReference provides reference information for how this category corresponds to a category in an external glossary.",
      "endDef1": {
        "name": "localCategories",
        "type": "ExternalGlossaryLink",
        "cardinality": "SET"
      },
      "endDef2": {
        "name": "externalGlossaryLinks",
        "type": "GlossaryCategory",
        "cardinality": "SET"
      },
      "relationshipCategory": "ASSOCIATION",
      "propagateTags": "NONE",
      "attributeDefs": [
        {
          "name": "steward",
          "description": "The steward is the person responsible for assessing the relationship and deciding if it should be approved or not",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "description",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "identifier",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "lastVerified",
          "typeName": "date",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        }
      ]
    }
  ]
}
