Dear Alexandre, This is one of the .GML files: http://ubuntuone.com/58AiS1hjG62bdNF8kocfmo
2013/3/2 Alexandre Hannud Abdo <[email protected]>: > On 01-03-2013 22:51, Renato Fabbri wrote: >> I am not being able to find out how to get the degrees calculated with >> the weights (i.e. strengths) >> and I need to get clustering coefficients (i.e. transitivity) for the >> same kind of graphs, that is, >> weighted digraphs. >> >> Is this possible in graph_tool? > > Ni! > Hi Renato, > > If you have weights on a graph, you probably have vertex and edge > properties encoded in your graphml file. > > You can find these properties with: > > g.list_properties() > > and then access, for example an edge property, with > > g.edge_properties["the name you found listed"] > > Take a look at the section "Internal property maps" in: > > http://projects.skewed.de/graph-tool/doc/graph_tool.html > > So that's how you access those weights, and from there you can perform > your degree calculations however you need. > > If the degrees won't change during your processing, you might want to > store them in a property map for efficiency, instead of recalculating > them whenever you need the value. > > You can create a property map as as explained in the section "Creation > of new property maps" of that same page. I think I got it (even beforehand). I could not get the strength in a direct manner as I get the degree. I fell that is because I am not understanding something. > > > Regarding the clustering coefficient, could you specify what it is that > you want to calculate? frac of numb of closed triads. > > Graph-tool provides the two standard clustering measures (local and > global) plus one extended measure that accounts for larger cycles. > However none of those incorporate weights. See: > > http://projects.skewed.de/graph-tool/doc/clustering.html > > The reason is that there is no single or standard way to account for > weights in the calculation of a clustering coefficient, not to mention > there is no single way to define clustering for a directed graph. Thanks. This is valuable information which I believed so but I did not find a direct reference to. > > Which also explains why those other libraries don't do it as well. Ok. Besides that, there is a clustering coeff for digraphs is Gephi and graph tool and they differ. > > Clustering is a very unspecific measure, so if you have a specific > application need, you must first understand why you want to calculate > some kind of clustering, to then define how, and then implement the > specific solution your problem calls for. > > So if you already have a formal description of what you need, for > example an article with a mathematical/algorithmic description of the > specific weighted clustering you want to calculate, you can use > graph-tool to program that calculation in either python or c++ (a choice > which will depend on your efficiency needs). > > However if you don't know exactly what you need, you must first figure > that out. There is no such thing as a one-size-fits-all formula for > "weighted clustering". Thanks!! Again! > > > Maybe Tiago has better pointers, but I think that covers it. > > Feel free to expand your question if I did not fully understand it. > > Cheers, > > ale > .~ยด > Cheers. Your detailed and helpful response was very appreciated. There is more info on what we are doing here: http://www.wiki.nosdigitais.teia.org.br/ARS and here: http://labmacambira.sourceforge.net/redes -- GNU/Linux User #479299 labmacambira.sf.net _______________________________________________ graph-tool mailing list [email protected] http://lists.skewed.de/mailman/listinfo/graph-tool
