private WeightedMultigraph<Vertex, LabeledWeightedEdge> step1() { logger.debug("<enter"); WeightedMultigraph<Vertex, LabeledWeightedEdge> g = new WeightedMultigraph<Vertex, LabeledWeightedEdge>(LabeledWeightedEdge.class); for (int i = 0; i < steinerNodes.size(); i++) { g.addVertex(steinerNodes.get(i)); } BellmanFordShortestPath<Vertex, LabeledWeightedEdge> path; for (int i = 0; i < steinerNodes.size(); i++) { path = new BellmanFordShortestPath<Vertex, LabeledWeightedEdge>(this.graph, steinerNodes.get(i)); for (int j = 0; j < steinerNodes.size(); j++) { if (i == j) continue; if (g.containsEdge(steinerNodes.get(i), steinerNodes.get(j))) continue; String id = "e" + String.valueOf(i) + String.valueOf(j); LabeledWeightedEdge e = new LabeledWeightedEdge(id, new URI(id, null, null), null); g.addEdge(steinerNodes.get(i), steinerNodes.get(j), e); g.setEdgeWeight(e, path.getCost(steinerNodes.get(j))); } } logger.debug("exit>"); return g; }