/** * Create a builder for this kind of graph. * * @param edgeSupplier the edge supplier of the new graph * @param <V> the graph vertex type * @param <E> the graph edge type * @return a builder for this kind of graph */ public static <V, E> GraphBuilder<V, E, ? extends DirectedWeightedMultigraph<V, E>> createBuilder( Supplier<E> edgeSupplier) { return new GraphBuilder<>(new DirectedWeightedMultigraph<>(null, edgeSupplier)); }
/** * Create a builder for this kind of graph. * * @param edgeClass class on which to base factory for edges * @param <V> the graph vertex type * @param <E> the graph edge type * @return a builder for this kind of graph */ public static <V, E> GraphBuilder<V, E, ? extends DirectedWeightedMultigraph<V, E>> createBuilder( Class<? extends E> edgeClass) { return new GraphBuilder<>(new DirectedWeightedMultigraph<>(edgeClass)); }
public DirectedWeightedMultigraph<Node, LabeledLink> getSteinerTree() { if (this.steinerTree == null) align(); // GraphUtil.printGraph(this.steinerTree); if (this.steinerTree == null) steinerTree = new DirectedWeightedMultigraph<>(LabeledLink.class); return this.steinerTree; }
public RepresentationsGraph(DDF ddf) { this.mDDF = ddf; this.mConvertFunctionFactory = new ConvertFunctionFactory(this.mDDF); this.mGraph = new DirectedWeightedMultigraph<Representation, ConvertFunction>(this.mConvertFunctionFactory); }
this.graph = new DirectedWeightedMultigraph<>(DefaultLink.class);
public static DirectedGraph<Node, DefaultLink> asDirectedGraph(UndirectedGraph<Node, DefaultLink> undirectedGraph) { if (undirectedGraph == null) { logger.debug("graph is null."); return null; } DirectedGraph<Node, DefaultLink> g = new DirectedWeightedMultigraph<>(DefaultLink.class); for (Node v : undirectedGraph.vertexSet()) g.addVertex(v); for (DefaultLink e: undirectedGraph.edgeSet()) g.addEdge(e.getSource(), e.getTarget(), e); return g; }
public static DirectedWeightedMultigraph<Node, DefaultLink> asDefaultGraph(DirectedWeightedMultigraph<Node, LabeledLink> graph) { if (graph == null) { logger.debug("graph is null."); return null; } DirectedWeightedMultigraph<Node, DefaultLink> g = new DirectedWeightedMultigraph<>(DefaultLink.class); for (Node v : graph.vertexSet()) g.addVertex(v); for (DefaultLink e: graph.edgeSet()) g.addEdge(e.getSource(), e.getTarget(), e); return g; }
public static DirectedWeightedMultigraph<Node, LabeledLink> asLabeledGraph(DirectedWeightedMultigraph<Node, DefaultLink> graph) { if (graph == null) { logger.debug("graph is null."); return null; } DirectedWeightedMultigraph<Node, LabeledLink> g = new DirectedWeightedMultigraph<>(LabeledLink.class); for (Node v : graph.vertexSet()) g.addVertex(v); for (DefaultLink e: graph.edgeSet()) if (e instanceof LabeledLink) g.addEdge(e.getSource(), e.getTarget(), (LabeledLink)e); return g; }
/** <p>Obtains a {@code JGraphT} graph from a given link map.</p> * * @param nodes Collection of nodes * @param links List of links * @return {@code JGraphT} graph */ public static org.jgrapht.Graph<Node, Link> getGraphFromLinkMap(Collection<Node> nodes, Collection<Link> links) { org.jgrapht.Graph<Node, Link> graph = new DirectedWeightedMultigraph<Node, Link>(Link.class); for (Node node : nodes) graph.addVertex(node); if (links != null) { for (Link link : links) { Node originNode = link.getOriginNode(); Node destinationNode = link.getDestinationNode(); if (!graph.containsVertex(originNode)) throw new RuntimeException("Bad"); //graph.addVertex(originNode); if (!graph.containsVertex(destinationNode)) throw new RuntimeException("Bad"); //graph.addVertex(destinationNode); graph.addEdge(originNode, destinationNode, link); } } return graph; }
public static DirectedWeightedMultigraph<Node, DefaultLink> readGraph(JsonReader reader) throws IOException { new DirectedWeightedMultigraph<Node, DefaultLink>(LabeledLink.class);
private void learnFromKnownSemanticModels() { List<Node> steinerNodes = this.computeSteinerNodes(); if (steinerNodes == null || steinerNodes.isEmpty()) { return; } ModelLearner modelLearner = new ModelLearner(this.graphBuilder, steinerNodes); SemanticModel model = modelLearner.getModel(); if (model == null) { logger.error("could not learn any model for this source!"); if (this.steinerTree == null) { this.steinerTree = new DirectedWeightedMultigraph<>(LabeledLink.class); } this.addForcedNodes(); this.addForcedLinks(); //add new semantic type to the tree // this.removeDeletedLinks(); this.root = TreePostProcess.selectRoot(GraphUtil.asDefaultGraph(this.steinerTree)); return ; } this.updateAlignment(model, null); }
DirectedWeightedMultigraph<Node, LabeledLink> nodeModel = findModel(n); if(nodeModel == null) { nodeModel = new DirectedWeightedMultigraph<>(LabeledLink.class); this.models.add(nodeModel); nodeModel.addVertex(n);
new DirectedWeightedMultigraph<>(LabeledLink.class);
/** <p>Obtains a {@code JGraphT} graph from a given link map.</p> * * @param demands List of demands * @return {@code JGraphT} graph */ public static org.jgrapht.Graph<Node, Demand> getGraphFromDemandMap(List<Demand> demands) { org.jgrapht.Graph<Node, Demand> graph = new DirectedWeightedMultigraph<Node, Demand>(Demand.class); if (demands != null) { for (Demand demand : demands) { Node originNode = demand.getIngressNode(); Node destinationNode = demand.getEgressNode(); if (!graph.containsVertex(originNode)) graph.addVertex(originNode); if (!graph.containsVertex(destinationNode)) graph.addVertex(destinationNode); graph.addEdge(originNode, destinationNode, demand); } } return graph; }
/** <p>Obtains a {@code JGraphT} graph from a given route map.</p> * * @param routes List of routes * @return {@code JGraphT} graph */ public static org.jgrapht.Graph<Node, Route> getGraphFromRouteMap(List<Route> routes) { org.jgrapht.Graph<Node, Route> graph = new DirectedWeightedMultigraph<Node, Route>(Route.class); if (routes != null) { for (Route route : routes) { Node originNode = route.getIngressNode(); Node destinationNode = route.getEgressNode(); if (!graph.containsVertex(originNode)) graph.addVertex(originNode); if (!graph.containsVertex(destinationNode)) graph.addVertex(destinationNode); graph.addEdge(originNode, destinationNode, route); } } return graph; }
final WeightedGraph<Integer, MigrationEdge> graph = new DirectedWeightedMultigraph<Integer, MigrationEdge>(new MigrationEdgeFactory());
org.jgrapht.Graph<Node, Link> auxGraph = new DirectedWeightedMultigraph<Node, Link>(Link.class); SortedMap<Node, Node> originalNodeId2AuxIdMapping = new TreeMap<Node, Node>();
new DirectedWeightedMultigraph<>(LabeledLink.class); Map<Node, Node> modelToAlignmentNode = new HashMap<>(); for (Node n : model.getGraph().vertexSet()) {
return new DirectedWeightedMultigraph<>(vertexSupplier, edgeSupplier); } else { return new DirectedMultigraph<>(vertexSupplier, edgeSupplier, false);
if (isDirected()) { if (model.weighted()) { return new DirectedWeightedMultigraph<>(edgeClass); } else { return new DirectedMultigraph<>(edgeClass);