@in_place_transformation<EOL>def overlay_data(graph: BELGraph,<EOL>data: Mapping[BaseEntity, Any],<EOL>label: Optional[str] = None,<EOL>overwrite: bool = False,<EOL>) -> None:
if label is None:<EOL><INDENT>label = WEIGHT<EOL><DEDENT>for node, value in data.items():<EOL><INDENT>if node not in graph:<EOL><INDENT>log.debug('<STR_LIT>', node)<EOL>continue<EOL><DEDENT>if label in graph.nodes[node] and not overwrite:<EOL><INDENT>log.debug('<STR_LIT>', label, node)<EOL>continue<EOL><DEDENT>graph.nodes[node][label] = value<EOL><DEDENT>
Overlays tabular data on the network

    :param graph: A BEL Graph
    :param data: A dictionary of {tuple node: data for that node}
    :param label: The annotation label to put in the node dictionary
    :param overwrite: Should old annotations be overwritten?