Ho letto il tutorial e la documentazione di NetworkX, ma non sono riuscito a trovare risposte reali a questa domanda.
Normalmente quando utilizzo NetworkX, potrei usare le stringhe per definire i nodi, quindi impostare diversi attributi.
per es.
G = nx.Graph()
G.add_node('John Doe', haircolor = 'brown')
G.node['John Doe'][age] = 22
Tuttavia, sembra che dichiarare una classe con i membri anziché gli attributi sia meglio nella pratica, specialmente quando ci sono molti attributi e la leggibilità potrebbe essere un problema.
class Person:
name = None
age = None
Person p
p.name = 'John Doe'
p.age = 22
G.add_node(p)
Qualcuno potrebbe essere così gentile da convalidare il mio ragionamento? Mi manca la lungimiranza di vedere se gli attributi nodo / bordo di Networkx sarebbero preferibili.