如何在JUNG中使用Hits算法?

如何在JUNG中使用Hits算法?,jung,Jung,我在我的项目中使用了JUNG库,并具体使用了hits算法。 我已经使用graph Stream构建了一个图G,我想使用这个图G作为JUNG Hits算法的输入,但是我的代码中有一个问题 这就是我创建图表的方式: SingleGraph graph=FileHelper.createGraph("Graphe", adjacencyMatrixboolean); for (org.graphstream.graph.Node node : graph.getNode

我在我的项目中使用了JUNG库,并具体使用了hits算法。 我已经使用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)


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


要使其正常工作,您可能需要从
SingleGraph
中构建一个JUNG
图形,或者根据您的文件编写代码来构建一个JUNG
图形。

您能给我一个关于如何开始构建图形的链接或文档吗?或者如何从邻接矩阵构建带有jung的图?如果要基于文件构建jung图,可能需要查看
io
子包中的一些类,尤其是
MatrixFile
。如果要基于内存中的邻接矩阵构建图形,基本上要创建一个空的
图形
,遍历该矩阵,并在条目非空时调用addEdge([可能基于矩阵条目的边对象]、行、列)。