{
  "enumDefs": [],
  "structDefs": [],
  "classificationDefs": [
    {
      "name": "FixedLocation",
      "description":"FixedLocation means that the location represents a physical place where, for example, Hosts, Servers and hence data may be located. This could be an area of a data center, the building the data center is located in, or even the country where the server/data is located.",
      "superTypes": [],
      "entityTypes":["Location"],
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "coordinates",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "address",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        }
      ]
    },
    {
      "name": "SecureLocation",
      "description":"Secure Location indicates that there is restricted access to the location",
      "superTypes": [],
      "entityTypes":["Location"],
      "typeVersion": "1.0",
      "attributeDefs": []
    },
    {
      "name": "CyberLocation",
      "description":"CyberLocation means that the location describes something in cyber space.",
      "superTypes": [],
      "entityTypes":["Location"],
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "device",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        }
      ]
    }
  ],
  "entityDefs": [
    {
      "name": "Location",
      "description":"The location can be used to define country, data centers, geographic locations. The granularity in which locations are modeled depends on the organisation. It is important to understand where assets are located to ensure they are properly protected and comply with data sovereignty laws. The notion of a location is variable and the classifications FixedLocation, SecureLocation and CyberLocation help to clarify the nature of the location.",
      "superTypes": [
        "Referenceable"
      ],
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "name",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "description",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": false,
          "isUnique": false
        }
      ]
    }
  ],
  "relationshipDefs": [
    {
      "name": "NestedLocation",
      "description":"The Nested Location relationship allows hierarchical grouping of locations to be represented. Notice that locations can be organized into multiple hierarchies.",
      "typeVersion": "1.0",
      "endDef1": {
        "name": "nestedLocations",
        "type": "Location",
        "cardinality": "SET",
        "isContainer": true
      },
      "endDef2": {
        "name": "groupingLocations",
        "type": "Location",
        "cardinality": "SET"
      },
      "relationshipCategory": "AGGREGATION"
    },
    {
      "name": "AdjacentLocation",
      "description":"The Adjacent Location relationship links locations that touch one another.",
      "typeVersion": "1.0",
      "endDef1": {
        "name": "PeerLocations",
        "type": "Location",
        "cardinality": "SET"
      },
      "endDef2": {
        "name": "PeerLocations",
        "type": "Location",
        "cardinality": "SET"
      },
      "relationshipCategory": "ASSOCIATION"
    },
    {
      "name": "AssetLocation",
      "description":"The location of the asset.",
      "typeVersion": "1.0",
      "endDef1": {
        "name": "knownLocations",
        "type": "Asset",
        "cardinality": "SET"
      },
      "endDef2": {
        "name": "localAssets",
        "type": "Location",
        "cardinality": "SET"
      },
      "relationshipCategory": "ASSOCIATION"
    }
  ]
}
