2016-11-18 4 views
0

以前にnetworkxライブラリの形式でエクスポートされたグラフで作業しています。グラフツールがグラフの書式でload_graphを使用するときにノードを再マップできないようにする

これらのファイルをグラフツールにインポートすると、ノードは0ベースのインデックスに再マップされます。どうすればそれを防ぐことができますか?私は実際に注文を保存する必要があるので。

例:グラフツール頂点において

# Create a graph using networkx with only one edge (10 <-> 20) 
import networkx as nx 
g = nx.Graph() 
g.add_edge(10, 20) 
nx.write_graphml(g, 'teste.graphml') 

# load the previous graph using graph-tool 
import graph_tool.all as gt 
g = gt.load_graph('teste.graphml') 
print(list(g.edges()) # output is an edge from 0 to 1 

答えて

1

は常にゼロからインデックス付けされているが、graphmlファイルは非標準インデクシングを使用する場合、これは"_graphml_vertex_id"プロパティマップを介して得ることができる。

g = gt.load_graph('teste.graphml') 
v = g.vertex(0) 
print(g.vp._graphml_vertex_id[v]) 
関連する問題