1

NetLogo do *.gexf ファイルから GraphStream/NetStream を保存しようとしています。グラフには一定数の辺と頂点があります。変更されているのは、nodes/'turtles' のパラメーターです。現在、各ティックの後、ポート 2012 を使用して NetLogo から localhost に情報を送信します。

gs:add-sender "sender" "localhost" 2012

Java プロジェクトで GraphStream を受け取ることができます。

CumulativeGraphAnalyser のインスタンスを作成する

NetStreamReceiver receiver = new NetStreamReceiver(2012);
new CumulativeGraphAnalyser(receiver, null);

これは CumulativeGraphAnalyser クラスです

public class CumulativeGraphAnalyser extends SinkAdapter{
private NetStreamSender sender;
private Graph graph;
private String mySourceId;
private long myTimeId;
private int round;

public CumulativeGraphAnalyser(NetStreamReceiver receiver, NetStreamSender sender) {
    this.sender = sender;
    graph = new SingleGraph("cumulative graph", false, false);
    ProxyPipe pipe = receiver.getDefaultStream();
    pipe.addElementSink(graph);
    pipe.addElementSink(this);


    round = 1;
    mySourceId = toString();
    myTimeId = 0;
}

@Override
public void stepBegins(String sourceId, long timeId, double step) {

    for (Node node : graph.getNodeSet()){
        node.getAttribute("node-id");
        node.getAttribute("infected");
        (...)

    }
    System.out.println(round++);
}
}

「グラフ」変数に必要なすべての情報がありますが、GraphStream をファイル (*.gxef) に保存し、その後 Gephi にインポートする方法がわかりません。もう 1 つのオプションは、Gephi の GraphStream を localhost:2012 から直接読み取ることです。このタスクを処理すると思われるプラグインを見つけましたが、適切に使用する方法がわかりません。この問題に関する多くの情報を検索して読み、いくつかの解決策を実装しようとしましたが、どれもうまくいきません。

4

0 に答える 0