def create_graph_for_website_and_transient_nodes()

in identity-resolution/notebooks/identity-graph/nepytune/visualizations/network_graph.py [0:0]


def create_graph_for_website_and_transient_nodes(website_node, transient_nodes_for_website):
    website_id = website_node[T.id]

    graph = nx.Graph()
    graph.add_node(
        website_id,
        **{
            "id": website_id,
            "label": website_node[T.label],
            "title": website_node["title"][0],
            "url": website_node["url"][0]
        }
    )

    transient_nodes = []
    persistent_nodes = []

    for node in transient_nodes_for_website:
        if node["persistent-node-id"] != "transient-nodes-connected-to-website":
            pnode = node["persistent-node-id"]
            persistent_nodes.append(pnode)
            graph.add_node(
                pnode,
                id=pnode,
                label="persistentId"
            )

            for tnode in node["transient-nodes"]:
                graph.add_edge(
                    pnode,
                    tnode,
                    label="has_identity"
                )

        for tnode in node["transient-nodes"]:
            graph.add_node(
                tnode,
                id=tnode,
                label="transientId"
            )

            graph.add_edge(
                website_id,
                tnode,
                label="visited"
            )

            transient_nodes.append(tnode)
    return graph