def ensure_node_meta_schema(
    label: str,
    structured_schema: Optional[Dict[str, Any]],
    client: BaseExecutor,
    node_props: Optional[Dict[str, Any]] = None,
) -> bool:
    """
    Ensure the meta schema for the node label is present.

    Parameters
    ----------
    label (str): The node label.
    structured_schema (dict): The structured schema of the graph.
    client (BaseExecutor): The Nebula Graph client.
    node_props (dict): The properties of the node.

    Returns
    -------
    bool: Whether the meta schema is mutated.

    """
    if not structured_schema:
        raise ValueError("structured_schema cannot be empty.")
    if label not in structured_schema.get("node_props", {}):
        if node_props is None:
            node_prop_schema = {}
        else:
            node_prop_schema = deduce_property_types_from_values(node_props)

        result = client.execute(
            f"INSERT EDGE `__meta__node_label__`(`label`, `props_json`) "
            f'VALUES "{label}"->"{label}":("{label}", "{node_prop_schema!s}")'
        )
        if not result.is_succeeded():
            raise ValueError(
                f"Failed to create meta schema for node label {label}. Error: {result.error_msg()}"
            )

        return True
    return False

    Ensure the meta schema for the node label is present.

    Parameters
    ----------
    label (str): The node label.
    structured_schema (dict): The structured schema of the graph.
    client (BaseExecutor): The Nebula Graph client.
    node_props (dict): The properties of the node.

    Returns
    -------
    bool: Whether the meta schema is mutated.

    
llama-index-integrations/graph_stores/llama-index-graph-stores-nebula/llama_index/graph_stores/nebula/utils.py