Print

Print


*****  To join INSNA, visit http://www.insna.org  *****

great question/answers, if only we had a StackOverflow for SNA... :)

2015-07-10 7:05 GMT+02:00 Moses Boudourides <[log in to unmask]>:

> *****  To join INSNA, visit http://www.insna.org  *****
>
> Yes, Dmitry, this might be the case for huge networks. In that case I
> would do what you were doing. Thank you.
>
> On Fri, Jul 10, 2015 at 8:01 AM, Dmitry Zinoviev <[log in to unmask]>
> wrote:
> > Moses,
> >
> > With all my respect, it's the line 2 of your snippet that may not work -
> > exactly because the network is huge. One shall use a CSV reader or simply
> > read the CSV edge list line by line or block by block and filter out the
> > edges that are not in the subset. Assuming that the edges are stored as
> two
> > columns of nodes and the CSV file has no header, the following snippet
> shall
> > work:
> >
> > csvIn = open ("HugeFile.csv")
> > csvOut = open ("Subset.csv", "w")
> >
> > line = csvIn.readline ()
> > while line:
> >     node1, node2 = line.strip().split(",")
> >     if node1 in NodesSmall and node2 in NodesSmall:
> >         csvOut.write (line)
> >     line = csvIn.readline ()
> >
> > csvOut.close ()
> >
> > For the sake of performance, the list of nodes in the subset shall be
> > converted to a dictionary:
> > NodesSmall = dict ((node, node) for node in Gsmall.nodes())
> >
> > Hope it helps.
> >
> > On Fri, Jul 10, 2015 at 12:54 AM, Moses Boudourides
> > <[log in to unmask]> wrote:
> >>
> >> *****  To join INSNA, visit http://www.insna.org  *****
> >>
> >> Absolutely I would back Dmitry in suggesting the use of Python in
> >> order to merge networks as far as one avoids to use the relabelling
> >> mapping employed in NetworkX (it's very problematic, I believe it has
> >> to be rewritten). However, this is not the case here and so what I
> >> would do is something like the following:
> >>
> >> import networkx as nx
> >> Ghuge = nx.read_graphml("HugeNetwork.graphml")
> >> Gsmall = nx.read_graphml("SubsetNetwork.graphml")
> >> NodesSmall = Gsmall.nodes()
> >> G = Ghuge.subgraph(NodesSmall)
> >> attributesDictionary = Gsmall.nodes(data=True)
> >> nx.set_node_attributes(G, 'attribute', attributesDictionary)
> >
> > --
> > Dmitry Zinoviev
> > Professor of Computer Science
> > Suffolk University, Boston, MA 02114
>
> _____________________________________________________________________
> SOCNET is a service of INSNA, the professional association for social
> network researchers (http://www.insna.org). To unsubscribe, send
> an email message to [log in to unmask] containing the line
> UNSUBSCRIBE SOCNET in the body of the message.
>



-- 
Simone Gabbriellini, PhD

PostDoc@DISI, University of Bologna
mobile: +39 340 39 75 626
email: [log in to unmask]
home: www.digitaldust.it

DigitalBrains srl
Amministratore
mobile: +39 340 39 75 626
email: [log in to unmask]
home: www.digitalbrains.it

_____________________________________________________________________
SOCNET is a service of INSNA, the professional association for social
network researchers (http://www.insna.org). To unsubscribe, send
an email message to [log in to unmask] containing the line
UNSUBSCRIBE SOCNET in the body of the message.