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