def check_json_dataset_names(json_dict, *restricted_names):
    """Checks that certain dataset names aren't present in a Vega-Lite JSON.

       This should never really fail, since all of the special dataset names we
       use internally start with "qurro_" (and Altair generates hashes of the
       data somehow to use as dataset names). However, this function is here
       just in the exceedingly rare case that this conflict does actually come
       up (if so, we can figure out a way around it).
    """
    if 'datasets' not in json_dict:
        raise ValueError("Input JSON doesn't have any datasets defined")
    intersection = set(json_dict['datasets'].keys()) & set(restricted_names)
    if len(intersection) > 0:
        raise ValueError(
            'Found the following disallowed dataset name(s) in a JSON: {}'.
            format(intersection))
