0

WebGraph フレームワークを使用してグラフを圧縮しようとしています。必要な jar をセットアップし、次のコードを使用します。

ImmutableGraph ig = ArcListASCIIGraph.load(BoldiTest.class.getResource("/citation-csconf-mult5-PaperJSON.graph.txt").getFile());
System.out.println(ig.numNodes()+" "+ig.numArcs());
ImmutableGraph.store(BVGraph.class, ig, "output");

グラフは正しく読み込まれますが、関心のあるグラフの保存に失敗します。はるかに小さいグラフ (3 つの円弧) の場合、すべてがうまくいくので、コードは正しいと思います。

以下にスタックトレースを提供します。何か案は?(数字はノードとアーク)

124538 249755 
Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at it.unimi.dsi.big.webgraph.ImmutableGraph.store(ImmutableGraph.java:623)
    at it.unimi.dsi.big.webgraph.ImmutableGraph.store(ImmutableGraph.java:638)
    at gr.di.uoa.a8.boldi.BoldiTest.main(BoldiTest.java:22)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at it.unimi.dsi.big.webgraph.ImmutableGraph.store(ImmutableGraph.java:619)
    ... 2 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
    at it.unimi.dsi.big.webgraph.BVGraph.updateBins(BVGraph.java:1701)
    at it.unimi.dsi.big.webgraph.BVGraph.storeInternal(BVGraph.java:1808)
    at it.unimi.dsi.big.webgraph.BVGraph.store(BVGraph.java:1650)
    at it.unimi.dsi.big.webgraph.BVGraph.store(BVGraph.java:1678)
    at it.unimi.dsi.big.webgraph.BVGraph.store(BVGraph.java:1690)
    ... 7 more
4

1 に答える 1

0

重複するエッジを削除し、入力ファイルを並べ替えた後、グラフを保存することができました。

于 2013-10-13T10:48:28.650 に答える