enum_list = [
    "aba",
    "add_provider",
    "address",
    "administrative_unit",
    "am_pm",
    "android_platform_token",
    "ascii_company_email",
    "ascii_email",
    "ascii_free_email",
    "ascii_safe_email",
    "bank_country",
    "basic_phone_number",
    "bban",
    "binary",
    "boolean",
    "bothify",
    "bs",
    "building_number",
    "cache_pattern",
    "catch_phrase",
    "century",
    "chrome",
    "city",
    "city_prefix",
    "city_suffix",
    "color",
    "color_hsl",
    "color_hsv",
    "color_name",
    "color_rgb",
    "color_rgb_float",
    "company",
    "company_email",
    "company_suffix",
    "coordinate",
    "country",
    "country_calling_code",
    "country_code",
    "credit_card_expire",
    "credit_card_full",
    "credit_card_number",
    "credit_card_provider",
    "credit_card_security_code",
    "cryptocurrency",
    "cryptocurrency_code",
    "cryptocurrency_name",
    "csv",
    "currency",
    "currency_code",
    "currency_name",
    "currency_symbol",
    "current_country",
    "current_country_code",
    "date",
    "date_between",
    "date_between_dates",
    "date_object",
    "date_of_birth",
    "date_this_century",
    "date_this_decade",
    "date_this_month",
    "date_this_year",
    "date_time",
    "date_time_ad",
    "date_time_between",
    "date_time_between_dates",
    "date_time_this_century",
    "date_time_this_decade",
    "date_time_this_month",
    "date_time_this_year",
    "day_of_month",
    "day_of_week",
    "del_arguments",
    "dga",
    "domain_name",
    "domain_word",
    "dsv",
    "ean",
    "ean13",
    "ean8",
    "ein",
    "email",
    "emoji",
    "enum",
    "factories",
    "file_extension",
    "file_name",
    "file_path",
    "firefox",
    "first_name",
    "first_name_female",
    "first_name_male",
    "first_name_nonbinary",
    "fixed_width",
    "format",
    "free_email",
    "free_email_domain",
    "future_date",
    "future_datetime",
    "generator_attrs",
    "get_arguments",
    "get_formatter",
    "get_providers",
    "get_words_list",
    "hex_color",
    "hexify",
    "hostname",
    "http_method",
    "http_status_code",
    "iana_id",
    "iban",
    "image",
    "image_url",
    "internet_explorer",
    "invalid_ssn",
    "ios_platform_token",
    "ipv4",
    "ipv4_network_class",
    "ipv4_private",
    "ipv4_public",
    "ipv6",
    "isbn10",
    "isbn13",
    "iso8601",
    "items",
    "itin",
    "job",
    "json",
    "json_bytes",
    "language_code",
    "language_name",
    "last_name",
    "last_name_female",
    "last_name_male",
    "last_name_nonbinary",
    "latitude",
    "latlng",
    "lexify",
    "license_plate",
    "linux_platform_token",
    "linux_processor",
    "local_latlng",
    "locale",
    "locales",
    "localized_ean",
    "localized_ean13",
    "localized_ean8",
    "location_on_land",
    "longitude",
    "mac_address",
    "mac_platform_token",
    "mac_processor",
    "md5",
    "military_apo",
    "military_dpo",
    "military_ship",
    "military_state",
    "mime_type",
    "month",
    "month_name",
    "msisdn",
    "name",
    "name_female",
    "name_male",
    "name_nonbinary",
    "nic_handle",
    "nic_handles",
    "null_boolean",
    "numerify",
    "opera",
    "optional",
    "paragraph",
    "paragraphs",
    "parse",
    "passport_dates",
    "passport_dob",
    "passport_full",
    "passport_gender",
    "passport_number",
    "passport_owner",
    "password",
    "past_date",
    "past_datetime",
    "phone_number",
    "port_number",
    "postalcode",
    "postalcode_in_state",
    "postalcode_plus4",
    "postcode",
    "postcode_in_state",
    "prefix",
    "prefix_female",
    "prefix_male",
    "prefix_nonbinary",
    "pricetag",
    "profile",
    "provider",
    "providers",
    "psv",
    "pybool",
    "pydecimal",
    "pydict",
    "pyfloat",
    "pyint",
    "pyiterable",
    "pylist",
    "pyobject",
    "pyset",
    "pystr",
    "pystr_format",
    "pystruct",
    "pytimezone",
    "pytuple",
    "random",
    "random_choices",
    "random_digit",
    "random_digit_above_two",
    "random_digit_not_null",
    "random_digit_not_null_or_empty",
    "random_digit_or_empty",
    "random_element",
    "random_elements",
    "random_int",
    "random_letter",
    "random_letters",
    "random_lowercase_letter",
    "random_number",
    "random_sample",
    "random_uppercase_letter",
    "randomize_nb_elements",
    "rgb_color",
    "rgb_css_color",
    "ripe_id",
    "safari",
    "safe_color_name",
    "safe_domain_name",
    "safe_email",
    "safe_hex_color",
    "sbn9",
    "secondary_address",
    "seed",
    "seed_instance",
    "seed_locale",
    "sentence",
    "sentences",
    "set_arguments",
    "set_formatter",
    "sha1",
    "sha256",
    "simple_profile",
    "slug",
    "ssn",
    "state",
    "state_abbr",
    "street_address",
    "street_name",
    "street_suffix",
    "suffix",
    "suffix_female",
    "suffix_male",
    "suffix_nonbinary",
    "swift",
    "swift11",
    "swift8",
    "tar",
    "text",
    "texts",
    "time",
    "time_delta",
    "time_object",
    "time_series",
    "timezone",
    "tld",
    "tsv",
    "unique",
    "unix_device",
    "unix_partition",
    "unix_time",
    "upc_a",
    "upc_e",
    "uri",
    "uri_extension",
    "uri_page",
    "uri_path",
    "url",
    "user_agent",
    "user_name",
    "uuid4",
    "vin",
    "weights",
    "windows_platform_token",
    "word",
    "words",
    "xml",
    "year",
    "zip",
    "zipcode",
    "zipcode_in_state",
    "zipcode_plus4"
]
element_defs = [{"value": val, "ordinal": idx} for idx, val in enumerate(enum_list)]
supergraph_types = {
    "enumDefs": [
        {
            "name": "testingTypeEnumName",
            "serviceType": "supergraph",
            "description": "Enum for testing type",
            "typeVersion": "1.0",
            "elementDefs": element_defs
        },
        {
            "elementDefs": [
                {
                    "value": "NONE",
                    "ordinal": 0
                },
                {
                    "value": "SUM",
                    "ordinal": 1
                },
                {
                    "value": "AVERAGE",
                    "ordinal": 2
                },
                {
                    "value": "LIST",
                    "ordinal": 3
                },
                {
                    "value": "MAX",
                    "ordinal": 4
                },
                {
                    "value": "MIN",
                    "ordinal": 5
                },
                {
                    "value": "NOT_NULL",
                    "ordinal": 6
                },
                {
                    "value": "IS_NULL",
                    "ordinal": 7
                },
                {
                    "value": "BOOLEAN_COMPARISON",
                    "ordinal": 8
                },
                {
                    "value": "OTHER",
                    "ordinal": 9999
                }
            ],
            "name": "transform_enum",
            "serviceType": "supergraph",
            "description": "Description of transformation from one primitive to another",
            "typeVersion": "1.0"
        }
    ],
    "classificationDefs": [
        {
            "category": "CLASSIFICATION",
            "name": "PII",
            "description": "Personally Identifiable Information that can be used to identify an individual, either on "
                           "its own or when combined with other information. This includes names, addresses, "
                           "social security numbers, email addresses, and phone numbers. PII requires stringent "
                           "protection measures to prevent identity theft and ensure privacy",
            "superTypes": [],
            "attributeDefs": []
        },
        {
            "category": "CLASSIFICATION",
            "name": "Confidential",
            "description": "Sensitive information that, if disclosed, could harm the organization or individuals. "
                           "This data requires strict access controls. Examples include employee records, "
                           "financial data, and proprietary information.",
            "superTypes": [],
            "attributeDefs": []
        },
        {
            "category": "CLASSIFICATION",
            "name": "Public",
            "description": "Information that is freely available to the public and poses no risk if disclosed. "
                           "Examples include press releases and publicly available reports.",
            "superTypes": [],
            "attributeDefs": []
        },
        {
            "category": "CLASSIFICATION",
            "name": "Internal",
            "description": "Data intended for internal use within the organization. While not highly sensitive, "
                           "it should still be protected to avoid misuse. Examples include internal memos and "
                           "internal project documents.",
            "superTypes": [],
            "attributeDefs": []
        },
        {
            "category": "CLASSIFICATION",
            "name": "Restricted",
            "description": "Highly sensitive data that requires the highest level of protection due to its critical "
                           "nature. Unauthorized access could lead to severe consequences. Examples include trade "
                           "secrets, classified government information, and personal health information (PHI).",
            "superTypes": [],
            "attributeDefs": []
        }
    ],
    "relationshipDefs": [
        {
            "name": "supergraph_object_relationship",
            "description": "Object relationship between 2 supergraph object types",
            "relationshipCategory": "ASSOCIATION",
            "serviceType": "supergraph",
            "attributeDefs": [
                {
                    "name": "field_name",
                    "typeName": "string",
                    "isOptional": False,
                    "isUnique": False,
                    "isIndexable": True
                },
                {
                    "name": "source_keys",
                    "typeName": "array<column>"
                },
                {
                    "name": "target_keys",
                    "typeName": "array<column>"
                }
            ],
            "endDef1": {
                "type": "object_type",
                "name": "relates_to",
                "isContainer": False,
                "cardinality": "SET"
            },
            "endDef2": {
                "type": "object_type",
                "name": "relates_to",
                "isContainer": False,
                "cardinality": "SET"
            },
            "propagateTags": "NONE"
        },
        {
            "name": "supergraph_array_relationship",
            "description": "Array relationship between 2 supergraph object types",
            "relationshipCategory": "ASSOCIATION",
            "serviceType": "supergraph",
            "attributeDefs": [
                {
                    "name": "field_name",
                    "typeName": "string",
                    "isOptional": False,
                    "isUnique": False,
                    "isIndexable": True
                },
                {
                    "name": "source_keys",
                    "typeName": "array<column>"
                },
                {
                    "name": "target_keys",
                    "typeName": "array<column>"
                }
            ],
            "endDef1": {
                "type": "object_type",
                "name": "can be related to many",
                "isContainer": False,
                "cardinality": "SET"
            },
            "endDef2": {
                "type": "object_type",
                "name": "can be traversed into from",
                "isContainer": False,
                "cardinality": "SET"
            },
            "propagateTags": "NONE"
        },
        {
            "name": "data_flow",
            "serviceType": "atlas_core",
            "typeVersion": "1.0",
            "attributeDefs": [
                {
                    "name": "transformation",
                    "typeName": "transform",
                    "isOptional": False
                }
            ],
            "relationshipCategory": "ASSOCIATION",
            "propagateTags": "NONE",
            "endDef1": {
                "type": "supergraph_value",
                "name": "flows to",
                "isContainer": False,
                "cardinality": "SINGLE",
                "isLegacyAttribute": False
            },
            "endDef2": {
                "type": "supergraph_value",
                "name": "sources from",
                "isContainer": False,
                "cardinality": "SINGLE",
                "isLegacyAttribute": False
            }
        },
        {
            "name": "data_source_to_api",
            "serviceType": "atlas_core",
            "typeVersion": "1.0",
            "relationshipCategory": "ASSOCIATION",
            "propagateTags": "NONE",
            "endDef1": {
                "type": "column",
                "name": "flows to",
                "isContainer": False,
                "cardinality": "SINGLE",
                "isLegacyAttribute": False
            },
            "endDef2": {
                "type": "field",
                "name": "comes from",
                "isContainer": False,
                "cardinality": "SINGLE",
                "isLegacyAttribute": False
            }
        },
        {
            "name": "collection_owns_column",
            "serviceType": "atlas_core",
            "typeVersion": "1.0",
            "relationshipCategory": "ASSOCIATION",
            "propagateTags": "NONE",
            "attributeDefs": [
                {
                    "name": "description",
                    "typeName": "string",
                    "isOptional": True,
                    "cardinality": "SINGLE",
                    "valuesMinCount": 0,
                    "valuesMaxCount": 1,
                    "isUnique": False,
                    "isIndexable": True
                }
            ],
            "endDef1": {
                "type": "collection",
                "name": "has these columns",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            },
            "endDef2": {
                "type": "column",
                "name": "from this collection",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            }
        },
        {
            "name": "object_type_owns_field",
            "serviceType": "atlas_core",
            "typeVersion": "1.0",
            "relationshipCategory": "ASSOCIATION",
            "propagateTags": "NONE",
            "attributeDefs": [
                {
                    "name": "description",
                    "typeName": "string",
                    "isOptional": True,
                    "cardinality": "SINGLE",
                    "valuesMinCount": 0,
                    "valuesMaxCount": 1,
                    "isUnique": False,
                    "isIndexable": True
                }
            ],
            "endDef1": {
                "type": "object_type",
                "name": "has available for selection",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            },
            "endDef2": {
                "type": "field",
                "name": "part of",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            }
        },
        {
            "name": "data_connector_has_collection",
            "serviceType": "atlas_core",
            "typeVersion": "1.0",
            "relationshipCategory": "ASSOCIATION",
            "propagateTags": "NONE",
            "attributeDefs": [
                {
                    "name": "description",
                    "typeName": "string",
                    "isOptional": True,
                    "cardinality": "SINGLE",
                    "valuesMinCount": 0,
                    "valuesMaxCount": 1,
                    "isUnique": False,
                    "isIndexable": True
                }
            ],
            "endDef1": {
                "type": "data_connector",
                "name": "sources collection",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            },
            "endDef2": {
                "type": "collection",
                "name": "belongs to data connection",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            }
        },
        {
            "name": "query_has_object_type",
            "serviceType": "atlas_core",
            "typeVersion": "1.0",
            "relationshipCategory": "ASSOCIATION",
            "propagateTags": "NONE",
            "attributeDefs": [
                {
                    "name": "description",
                    "typeName": "string",
                    "isOptional": True,
                    "cardinality": "SINGLE",
                    "valuesMinCount": 0,
                    "valuesMaxCount": 1,
                    "isUnique": False,
                    "isIndexable": True
                }
            ],
            "endDef1": {
                "type": "query",
                "name": "provisions",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            },
            "endDef2": {
                "type": "object_type",
                "name": "is provisioned by",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            }
        },
        {
            "name": "subgraph_has_data_connector",
            "serviceType": "atlas_core",
            "typeVersion": "1.0",
            "relationshipCategory": "ASSOCIATION",
            "propagateTags": "NONE",
            "attributeDefs": [
                {
                    "name": "description",
                    "typeName": "string",
                    "isOptional": True,
                    "cardinality": "SINGLE",
                    "valuesMinCount": 0,
                    "valuesMaxCount": 1,
                    "isUnique": False,
                    "isIndexable": True
                }
            ],
            "endDef1": {
                "type": "subgraph",
                "name": "has data connector",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            },
            "endDef2": {
                "type": "data_connector",
                "name": "belongs to domain",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            }
        },
        {
            "name": "subgraph_has_query",
            "serviceType": "atlas_core",
            "typeVersion": "1.0",
            "relationshipCategory": "ASSOCIATION",
            "propagateTags": "NONE",
            "attributeDefs": [
                {
                    "name": "description",
                    "typeName": "string",
                    "isOptional": True,
                    "cardinality": "SINGLE",
                    "valuesMinCount": 0,
                    "valuesMaxCount": 1,
                    "isUnique": False,
                    "isIndexable": True
                }
            ],
            "endDef1": {
                "type": "subgraph",
                "name": "has query",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            },
            "endDef2": {
                "type": "query",
                "name": "belongs to domain",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            }
        },
        {
            "name": "subgraph_has_mutation",
            "serviceType": "atlas_core",
            "typeVersion": "1.0",
            "relationshipCategory": "ASSOCIATION",
            "propagateTags": "NONE",
            "attributeDefs": [
                {
                    "name": "description",
                    "typeName": "string",
                    "isOptional": True,
                    "cardinality": "SINGLE",
                    "valuesMinCount": 0,
                    "valuesMaxCount": 1,
                    "isUnique": False,
                    "isIndexable": True
                }
            ],
            "endDef1": {
                "type": "subgraph",
                "name": "has mutation",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            },
            "endDef2": {
                "type": "mutation",
                "name": "belongs to domain",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            }
        },
        {
            "name": "subgraph_has_object_type",
            "serviceType": "atlas_core",
            "typeVersion": "1.0",
            "relationshipCategory": "ASSOCIATION",
            "propagateTags": "NONE",
            "attributeDefs": [
                {
                    "name": "description",
                    "typeName": "string",
                    "isOptional": True,
                    "cardinality": "SINGLE",
                    "valuesMinCount": 0,
                    "valuesMaxCount": 1,
                    "isUnique": False,
                    "isIndexable": True
                }
            ],
            "endDef1": {
                "type": "subgraph",
                "name": "owns object",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            },
            "endDef2": {
                "type": "object_type",
                "name": "belongs to domain",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            }
        },
        {
            "name": "supergraph_has_subgraph",
            "serviceType": "atlas_core",
            "typeVersion": "1.0",
            "relationshipCategory": "ASSOCIATION",
            "propagateTags": "NONE",
            "attributeDefs": [
                {
                    "name": "description",
                    "typeName": "string",
                    "isOptional": True,
                    "cardinality": "SINGLE",
                    "valuesMinCount": 0,
                    "valuesMaxCount": 1,
                    "isUnique": False,
                    "isIndexable": True
                }
            ],
            "endDef1": {
                "type": "supergraph",
                "name": "owns",
                "isContainer": False,
                "cardinality": "SINGLE",
                "isLegacyAttribute": False
            },
            "endDef2": {
                "type": "subgraph",
                "name": "belongs_to",
                "isContainer": False,
                "cardinality": "SET",
                "isLegacyAttribute": False
            }
        }
    ],
    "businessMetadataDefs": [
        {
            "name": "data_analysis",
            "displayName": "Data Analysis",
            "description": "Business metadata for Fields and Columns",
            "typeVersion": "1.0",
            "attributeDefs": [
                {
                    "name": "businessNames",
                    "displayName": "Business Names",
                    "typeName": "array<string>",
                    "isOptional": True,
                    "isUnique": True,
                    "isIndexable": True,
                    "options": {
                        "maxStrLength": 250,
                        "applicableEntityTypes": "[\"field\",\"object_type\",\"column\",\"query\",\"collection\",\"subgraph\",\"supergraph\"]"
                    }
                },
                {
                    "name": "testingType",
                    "displayName": "Testing Type",
                    "typeName": "testingTypeEnumName",
                    "isOptional": True,
                    "isUnique": True,
                    "isIndexable": True,
                    "options": {
                        "maxStrLength": 250,
                        "applicableEntityTypes": "[\"field\",\"column\"]"
                    }
                },
                {
                    "name": "validValues",
                    "displayName": "Valid Values",
                    "typeName": "array<string>",
                    "isOptional": True,
                    "isUnique": True,
                    "isIndexable": True,
                    "options": {
                        "maxStrLength": 250,
                        "applicableEntityTypes": "[\"field\",\"column\"]"
                    }
                }
            ]
        },
        {
            "name": "data_governance",
            "displayName": "Data Governance",
            "description": "Business metadata for Fields and Columns",
            "typeVersion": "1.0",
            "attributeDefs": [
                {
                    "name": "dataSteward",
                    "displayName": "Data Steward",
                    "typeName": "string",
                    "isOptional": True,
                    "isUnique": True,
                    "isIndexable": True,
                    "options": {
                        "maxStrLength": 250,
                        "applicableEntityTypes": "[\"subgraph\",\"supergraph\"]"
                    }
                }
            ]
        }
    ],
    "entityDefs": [
        {
            "name": "transform",
            "category": "ENTITY",
            "typeVersion": "1.0",
            "serviceType": "supergraph",
            "superTypes": [
                "Asset"
            ],
            "description": "A definition of a transformation",
            "attributeDefs": [
                {
                    "name": "transformation",
                    "typeName": "transform_enum",
                    "isOptional": False
                },
                {
                    "name": "explanation",
                    "typeName": "string",
                    "isOptional": True
                }
            ]
        },
        {
            "name": "column",
            "category": "ENTITY",
            "typeVersion": "1.0",
            "superTypes": [
                "Asset"
            ],
            "serviceType": "supergraph",
            "description": "A column definition within a table or view",
            "attributeDefs": [
                {
                    "name": "dataType",
                    "typeName": "scalar"
                },
                {
                    "name": "nullable",
                    "typeName": "boolean"
                }
            ]
        },
        {
            "name": "foreign_key",
            "category": "ENTITY",
            "typeVersion": "1.0",
            "superTypes": [
                "Asset"
            ],
            "serviceType": "supergraph",
            "description": "A foreign key definition within a collection",
            "attributeDefs": [
                {
                    "name": "column_mapping",
                    "typeName": "map<column,column>",
                    "isOptional": True
                },
                {
                    "name": "foreign_collection",
                    "typeName": "collection",
                    "isOptional": True
                }
            ]
        },
        {
            "name": "collection",
            "category": "ENTITY",
            "typeVersion": "1.0",
            "superTypes": [
                "Asset"
            ],
            "serviceType": "supergraph",
            "description": "A collection definition",
            "attributeDefs": [
                {
                    "name": "primary_keys",
                    "typeName": "array<string>"
                },
                {
                    "name": "foreign_keys",
                    "typeName": "array<foreign_key>",
                    "isOptional": True
                },
                {
                    "name": "columns",
                    "typeName": "array<column>"
                }
            ]
        },
        {
            "name": "supergraph_value",
            "category": "ENTITY",
            "description": "A data connector scalar definition",
            "superTypes": [
                "Asset"
            ],
            "serviceType": "supergraph"
        },
        {
            "name": "scalar",
            "category": "ENTITY",
            "description": "A data connector scalar definition",
            "superTypes": [
                "supergraph_value"
            ],
            "serviceType": "supergraph",
            "attributeDefs": [
                {
                    "name": "representation",
                    "typeName": "string"
                },
                {
                    "name": "aggregate_functions",
                    "typeName": "array<string>"
                },
                {
                    "name": "comparison_operators",
                    "typeName": "array<string>"
                }
            ]
        },
        {
            "name": "data_connector",
            "category": "ENTITY",
            "description": "Represents a single data connector",
            "superTypes": [
                "Asset"
            ],
            "serviceType": "supergraph",
            "attributeDefs": [
                {
                    "name": "subgraph",
                    "typeName": "string",
                    "isIndexable": True
                },
                {
                    "name": "source",
                    "typeName": "string",
                    "isIndexable": True
                },
                {
                    "name": "env_mapping",
                    "typeName": "map<string,map<string,string>>",
                    "isIndexable": True
                },
                {
                    "name": "scalar_types",
                    "typeName": "array<scalar>"
                },
                {
                    "name": "functions",
                    "typeName": "array<string>"
                },
                {
                    "name": "procedures",
                    "typeName": "array<string>"
                },
                {
                    "name": "collections",
                    "typeName": "array<collection>"
                }
            ]
        },
        {
            "name": "field",
            "category": "ENTITY",
            "typeVersion": "1.0",
            "superTypes": [
                "Asset"
            ],
            "serviceType": "supergraph",
            "description": "A field definition within an object type",
            "attributeDefs": [
                {
                    "name": "primitive",
                    "typeName": "string",
                    "isOptional": False,
                    "isUnique": False,
                    "isIndexable": True
                },
                {
                    "name": "column",
                    "typeName": "column"
                }
            ]
        },
        {
            "name": "object_type",
            "category": "ENTITY",
            "serviceType": "supergraph",
            "description": "Represents a subgraph object type",
            "superTypes": [
                "supergraph_value"
            ],
            "attributeDefs": [
                {
                    "name": "fields",
                    "typeName": "array<field>"
                }
            ]
        },
        {
            "name": "mutation_result",
            "category": "ENTITY",
            "serviceType": "supergraph",
            "description": "Represents a mutation result",
            "superTypes": [
                "Asset"
            ]
        },
        {
            "name": "query",
            "category": "ENTITY",
            "description": "Represents a query",
            "superTypes": [
                "Asset"
            ],
            "serviceType": "supergraph",
            "typeVersion": "1.0",
            "attributeDefs": [
                {
                    "name": "record",
                    "typeName": "object_type"
                },
                {
                    "name": "is_array",
                    "typeName": "boolean"
                },
                {
                    "name": "unique_identifiers",
                    "typeName": "array<string>"
                }
            ]
        },
        {
            "name": "mutation",
            "category": "ENTITY",
            "description": "Represents a single mutation",
            "superTypes": [
                "Asset"
            ],
            "serviceType": "supergraph",
            "typeVersion": "1.0",
            "attributeDefs": [
                {
                    "name": "data",
                    "typeName": "mutation_result"
                }
            ]
        },
        {
            "name": "subgraph",
            "category": "ENTITY",
            "description": "Represents a Subgraph",
            "superTypes": [
                "Asset"
            ],
            "serviceType": "supergraph",
            "typeVersion": "1.0",
            "attributeDefs": [
                {
                    "name": "queries",
                    "typeName": "array<query>"
                },
                {
                    "name": "mutations",
                    "typeName": "array<mutation>"
                },
                {
                    "name": "data_connectors",
                    "typeName": "array<data_connector>"
                },
                {
                    "name": "subgraph_schema",
                    "typeName": "array<object_type>"
                }
            ]
        },
        {
            "name": "supergraph",
            "category": "ENTITY",
            "description": "Represents a Supergraph",
            "superTypes": [
                "Asset"
            ],
            "serviceType": "supergraph",
            "typeVersion": "1.0",
            "attributeDefs": [
                {
                    "name": "domains",
                    "typeName": "array<subgraph>",
                    "isIndexable": True
                },
                {
                    "name": "console_url",
                    "typeName": "string",
                    "isIndexable": True
                },
                {
                    "name": "graphql_service_url",
                    "typeName": "string",
                    "isIndexable": True
                },
                {
                    "name": "grpc_service_url",
                    "typeName": "string",
                    "isIndexable": True
                },
                {
                    "name": "openapi_ui_url",
                    "typeName": "string",
                    "isIndexable": True
                },
                {
                    "name": "openapi_service_url",
                    "typeName": "string",
                    "isIndexable": True
                }
            ]
        }
    ]
}
