def deduce_property_types_from_values(
    property_values: Dict[str, Any],
) -> Dict[str, str]:
    """
    Deduce the data types of properties for NebulaGraph DDL based on the property values.

    Parameters
    ----------
    property_values (dict): The properties of the tag.

    Returns
    -------
    dict: A dictionary mapping property names to their deduced data types.

    """
    property_type_mapping = {}
    for property_name, value in property_values.items():
        if isinstance(value, bool):
            property_type_mapping[property_name] = "bool"
        elif isinstance(value, int):
            property_type_mapping[property_name] = "int"
        elif isinstance(value, float):
            property_type_mapping[property_name] = "double"
        elif isinstance(value, str):
            property_type_mapping[property_name] = "string"
        else:
            raise ValueError(f"Unsupported property type: {type(value)}")
    return property_type_mapping

    Deduce the data types of properties for NebulaGraph DDL based on the property values.

    Parameters
    ----------
    property_values (dict): The properties of the tag.

    Returns
    -------
    dict: A dictionary mapping property names to their deduced data types.

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