{
    "$id": "https://schemas.anyterial.se/defs/v0.1/properties/transformations/maximal_subgroup_relations",
    "$schema": "https://schemas.optimade.org/meta/v1.3/optimade/property_definition.json",
    "title": "Maximal subgroup relations",
    "x-optimade-type": "list",
    "x-optimade-definition": {
        "kind": "property",
        "version": "0.1.0",
        "format": "1.3",
        "name": "maximal_subgroup_relations",
        "label": "maximal_subgroup_relations_transformations"
    },
    "x-optimade-unit": "inapplicable",
    "type": [
        "array",
        "null"
    ],
    "description": "Maximal non-isomorphic subgroup relations for International Tables space-group types.\n\nEach list item describes all known maximal non-isomorphic subgroup relations for one supergroup IT number.\nThe supergroup IT number is stored in `supergroup_it_number` rather than as a JSON dictionary key.\n\n**Requirements/Conventions**:\n\n- It MUST be a list of dictionaries.\n- Each dictionary MUST contain `supergroup_it_number`, an International Tables space-group number.\n- Each dictionary MUST contain `relations`, a list of subgroup-relation records for that supergroup.\n- Each relation record MUST include the subgroup IT number, subgroup index, subgroup type, and optional klassengleiche subtype.",
    "items": {
        "x-optimade-type": "dictionary",
        "x-optimade-unit": "inapplicable",
        "type": [
            "object"
        ],
        "description": "Maximal subgroup relations for one supergroup IT number.",
        "required": [
            "supergroup_it_number",
            "relations"
        ],
        "properties": {
            "supergroup_it_number": {
                "x-optimade-type": "integer",
                "x-optimade-unit": "inapplicable",
                "type": [
                    "integer"
                ],
                "description": "International Tables number of the supergroup."
            },
            "relations": {
                "x-optimade-type": "list",
                "x-optimade-unit": "inapplicable",
                "type": [
                    "array"
                ],
                "description": "Maximal subgroup relation records for this supergroup.",
                "items": {
                    "x-optimade-type": "dictionary",
                    "x-optimade-unit": "inapplicable",
                    "type": [
                        "object"
                    ],
                    "description": "One maximal subgroup relation.",
                    "required": [
                        "subgroup_it_number",
                        "index",
                        "subgroup_type"
                    ],
                    "properties": {
                        "subgroup_it_number": {
                            "x-optimade-type": "integer",
                            "x-optimade-unit": "inapplicable",
                            "type": [
                                "integer"
                            ],
                            "description": "International Tables number of the subgroup."
                        },
                        "index": {
                            "x-optimade-type": "integer",
                            "x-optimade-unit": "inapplicable",
                            "type": [
                                "integer"
                            ],
                            "description": "Index of the subgroup in the supergroup."
                        },
                        "subgroup_type": {
                            "x-optimade-type": "string",
                            "x-optimade-unit": "inapplicable",
                            "type": [
                                "string"
                            ],
                            "description": "ITA maximal subgroup class, such as `t` or `k`."
                        },
                        "k_subtype": {
                            "x-optimade-type": "string",
                            "x-optimade-unit": "inapplicable",
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "Further classification for klassengleiche subgroup relations, when applicable."
                        }
                    }
                }
            }
        }
    },
    "examples": [
        [
            {
                "supergroup_it_number": 5,
                "relations": [
                    {
                        "subgroup_it_number": 1,
                        "index": 2,
                        "subgroup_type": "t"
                    },
                    {
                        "subgroup_it_number": 3,
                        "index": 2,
                        "subgroup_type": "k",
                        "k_subtype": "loss_of_centering_translation"
                    }
                ]
            }
        ]
    ]
}