如何在JUNG中使用命中算法?

时间:2016-01-28 16:48:18

标签: jung

我在我的项目中使用JUNG库并且特定于算法。 我使用Graph Stream构建了一个图形G,我想使用相同的图形G作为JUNG Hits算法的输入,但我的代码中存在问题。

这是我创建图表的方式:

        SingleGraph graph=FileHelper.createGraph("Graphe", adjacencyMatrixboolean);
        for (org.graphstream.graph.Node node : graph.getNodeSet())
            node.addAttribute("ui.label", node.getId());
        for (Edge edge : graph.getEdgeSet())
            edge.addAttribute("ui.label", edge.getId());
        graph.display();

这就是我称之为JUNG HITS算法的方法:

HITS ranker = new HITS((edu.uci.ics.jung.graph.Graph)graph);
ranker.evaluate();
ranker.printRankings(true,false);
Eclipse向我展示了这个错误:

  

线程中的异常" main" java.lang.ClassCastException:org.graphstream.graph.implementations.SingleGraph无法强制转换为edu.uci.ics.jung.graph.Graph       在com.tweets.test.Main.main(Main.java:71)

1 个答案:

答案 0 :(得分:0)

看起来SingleGraph,无论是什么(它不是JUNG的一部分),都没有实现JUNG Graph接口。因此ClassCastException

要实现这一点,您可能需要在Graph之外构建JUNG SingleGraph - 或根据您的文件编写代码以构建JUNG Graph。 / p>