':param source_index: index of the edge\'s source node in some parent list
:type source_index: int
:param target_index: index of the edge\'s target node in some parent list
:type target_index: int
:param data: any extra data that needs to be saved
:type data: (variadic dictionary)'

def __init__(self, source_index, target_index, **data):

    self.source_index = source_index
    self.target_index = target_index
    self.data = data
