Я создал ориентированный граф Сеть узлов и ребер с помощью networkx.
Он состоит из банковских транзакций между банковскими счетами, где каждый банковский счет является узлом, а ребра создаются с использованием узла отправляющего и принимающего счета. Я выбрал один узел из всей сети и пытаюсь найти всех его соседей, которые отправляют на него функцию G.in_edges (). Оттуда я хочу найти своих соседей, входящих соседей и так далее, пока больше не будет соседей. Пример показан на скриншоте ниже:
введите описание изображения здесь
Я пытался написать следующий код:
node_to_investigate = ['somenNodeName']
originalTransactions = {}
def scanNode(node_to_investigate):
inEdges = G.in_edges(node_to_investigate)
if len(inEdges) == 0:
print('No incoming transactions')
#return True
else:
for transaction in inEdges:
if scanNode(findNode(transaction.data.v)):
originalTransactions.add(transaction)
print(originalTransactions)
final_node = scanNode(node_to_investigate)
print(final_node)