I have the following graph and I want to be able to discover all ways that I can go from 'ip' to 'name' with the following graph in networkx it shows that I can go from 'ip' to 'name' if I follow this path [['ip', 'address', 'name']] the problem is I also defined that address to name can go from two different edges, one that has the attribute through=isptool and another that goes through the attribute through=phyonebook is it possible to have networkx list out these two paths as separate paths and also include the through attribute in the path? Something like
ip -sometool-> address -isptool-> name
ip -sometool-> address -phonebook-> name
import networkx as nx
g = nx.DiGraph()
g.add_node('email')
g.add_node('ip')
g.add_node('address')
g.add_node('name')
g.add_edges_from([('address', 'name')], through='isptool')
g.add_edges_from([('address', 'name')], through='phonebook')
g.add_edge('email', 'address')
g.add_edge('ip', 'address', through='sometool')
list(nx.all_simple_paths(g, 'ip', 'name'))
>>>[['ip', 'address', 'name']] # should have 2 paths one using isptool and one using phonebook edge
list(nx.all_simple_paths(g, 'email', 'name'))
>>>[['email', 'address', 'name']] # same here, should have 2 paths