{
    "additionalProperties": false,
    "definitions": {
        "attribute": {
            "additionalProperties": false,
            "properties": {
                "description": {
                    "type": "string"
                },
                "format": {
                    "type": "string"
                },
                "info": {
                    "type": "object"
                },
                "label": {
                    "type": "string"
                },
                "locales": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "missing_value": {
                    "title": "Missing value",
                    "type": [
                        "string",
                        "number",
                        "null",
                        "boolean"
                    ]
                },
                "name": {
                    "type": "string"
                },
                "order": {
                    "enum": [
                        "asc",
                        "desc"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "name"
            ],
            "type": "object"
        }
    },
    "properties": {
        "attributes": {
            "items": {
                "oneOf": [
                    {
                        "type": "string"
                    },
                    {
                        "$ref": "#/definitions/attribute"
                    }
                ]
            },
            "type": "array"
        },
        "cardinality": {
            "enum": [
                "tiny",
                "low",
                "medium",
                "high"
            ],
            "type": "string"
        },
        "default_hierarchy_name": {
            "title": "Default Hierarchy Name",
            "type": "string"
        },
        "description": {
            "type": "string"
        },
        "hierarchies": {
            "items": {
                "additionalProperties": false,
                "properties": {
                    "description": {
                        "type": "string"
                    },
                    "info": {
                        "type": "object"
                    },
                    "label": {
                        "type": "string"
                    },
                    "levels": {
                        "items": {
                            "title": "Level",
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "name": {
                        "type": "string"
                    }
                },
                "required": [
                    "name"
                ],
                "title": "Hierarchy",
                "type": "object"
            },
            "title": "Hierarchies",
            "type": "array"
        },
        "info": {
            "type": "object"
        },
        "key": {
            "type": "string"
        },
        "label": {
            "type": "string"
        },
        "label_attribute": {
            "type": "string"
        },
        "levels": {
            "items": {
                "additionalProperties": false,
                "properties": {
                    "attributes": {
                        "items": {
                            "oneOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "$ref": "#/definitions/attribute"
                                }
                            ]
                        },
                        "type": "array"
                    },
                    "cardinality": {
                        "enum": [
                            "tiny",
                            "low",
                            "medium",
                            "high"
                        ],
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "info": {
                        "type": "object"
                    },
                    "key": {
                        "type": "string"
                    },
                    "label": {
                        "type": "string"
                    },
                    "label_attribute": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "order": {
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "type": "string"
                    },
                    "order_attribute": {
                        "type": "string"
                    },
                    "role": {
                        "type": "string"
                    }
                },
                "required": [
                    "name"
                ],
                "title": "Level",
                "type": [
                    "object",
                    "string"
                ]
            },
            "type": "array"
        },
        "name": {
            "type": "string"
        },
        "nonadditive": {
            "type": "string"
        },
        "order_attribute": {
            "type": "string"
        },
        "role": {
            "type": "string"
        },
        "template": {
            "type": "string"
        }
    },
    "required": [
        "name"
    ],
    "title": "Dimension",
    "type": "object"
}