def METHOD_NAME(self, dot_file: str):
    json_relationships = []
    graph = pydot.graph_from_dot_file(dot_file)
    rex = re.compile(r"<<FONT>(.*?)</FONT>>", re.S | re.M)
    edge_list = graph[0].get_edge_list()
    for e in edge_list:
        current_edge = {}
        node_name = str(e).split()
        labels = json.dumps(e.get_attributes())
        edge_attr = json.loads(labels)
        # { from: "Products", to: "Suppliers", text: "0..N", toText: "1" }
        current_edge["from"] = node_name[0].replace('"', "")
        current_edge["to"] = node_name[2].replace('"', "")
        match = rex.match(edge_attr["taillabel"])
        if match:
            current_edge["text"] = match.groups()[0].strip()
        match = rex.match(edge_attr["headlabel"])
        if match:
            current_edge["toText"] = match.groups()[0].strip()
        json_relationships.append(current_edge)
    return json_relationships