protected void registerSourcedNode(List<Stream> sources, Node newNode) { registerNode(newNode); int streamIndex = 0; for(Stream s: sources) { _graph.addEdge(s._node, newNode, new IndexedEdge(s._node, newNode, streamIndex)); streamIndex++; } }
@Override public Edge<V> addEdge(V sourceVertex, V targetVertex) { return m_graph.addEdge(sourceVertex, targetVertex); }
static public <V, E> void addLoops(DefaultDirectedGraph<V, E> target) { for (V vertex : target.vertexSet()) { target.addEdge(vertex, vertex); } }
public void addInfluentialRelationship(STATE cause, STATE effect) { graph.addEdge(cause, effect, new InfluentialRelationship()); }
protected void registerSourcedNode(List<Stream> sources, Node newNode) { registerNode(newNode); int streamIndex = 0; for(Stream s: sources) { _graph.addEdge(s._node, newNode, new IndexedEdge(s._node, newNode, streamIndex)); streamIndex++; } }
private void addStateNode(AGENT agent, STATE state, ITimePeriod timePeriod, ITemporalSeries<STATE> temporalSeries, STATE parentState) { // add the state node to the agent's time series. will inherently check for illegal overlaps. temporalSeries.put(timePeriod, state); // register the state in the reverse index stateAgentReverseIndex.put(state, agent); stateTimePeriodIndex.put(state, timePeriod); // add the state node to the graph graph.addVertex(state); if (parentState != null) { // the parent has a CAUSAL relationship with the child graph.addEdge(parentState, state, new CausalRelationship()); } }
public DefaultDirectedGraph<T,DefaultEdge> getGraph() { if (graph == null) { graph = new DefaultDirectedGraph<>(DefaultEdge.class); for (Equivalences<T> node : dag.vertexSet()) { for (T v : node) graph.addVertex(v); for (T v : node) { graph.addEdge(v, node.getRepresentative()); graph.addEdge(node.getRepresentative(), v); } } for (DefaultEdge edge : dag.edgeSet()) graph.addEdge(dag.getEdgeSource(edge).getRepresentative(), dag.getEdgeTarget(edge).getRepresentative()); } return graph; }
public void addEdge(V parent, V child) { tree.addVertex(parent); tree.addVertex(child); Verify.verify(tree.inDegreeOf(child)==0, "Node already has a parent: "+child); tree.addEdge(parent, child); isDirty = true; }
public DefaultDirectedGraph<T,DefaultEdge> getGraph() { if (graph == null) { graph = new DefaultDirectedGraph<>(DefaultEdge.class); for (Equivalences<T> node : dag.vertexSet()) { for (T v : node) graph.addVertex(v); for (T v : node) { graph.addEdge(v, node.getRepresentative()); graph.addEdge(node.getRepresentative(), v); } } for (DefaultEdge edge : dag.edgeSet()) graph.addEdge(dag.getEdgeSource(edge).getRepresentative(), dag.getEdgeTarget(edge).getRepresentative()); } return graph; }
private void worker(DefaultDirectedGraph<TaskId, DefaultEdge> graph, Task task, TaskId parentId, ImmutableMap.Builder<TaskId, Task> tasksBuilder, Set<TaskId> usedTasksSet) { if ( usedTasksSet.add(task.getTaskId()) ) { tasksBuilder.put(task.getTaskId(), task); } graph.addVertex(task.getTaskId()); if ( parentId != null ) { graph.addEdge(parentId, task.getTaskId()); } task.getChildrenTasks().forEach(child -> worker(graph, child, task.getTaskId(), tasksBuilder, usedTasksSet)); } }
static public <V> DefaultDirectedGraph<V, Edge<V>> getDiGraph(IMatrixBinary<V, V> source) { final SimpleEdgeFactory<V> factory = new SimpleEdgeFactory<V>(); final DefaultDirectedGraph<V, Edge<V>> g = new DefaultDirectedGraph<V, Edge<V>>(factory); for (V v1 : source.getRows()) { for (V v2 : source.getColumns()) { if (source.getBooleanValue(v1, v2)) { g.addEdge(v1, v2); } } } return g; }
@Override public void value(Pair<T, SortableDependency> each, int index) { // for regular mode, we go in regular-order (each change follows the one before it in the file) Pair<T, SortableDependency> previousChange = sortedChanges.get(index - 1); graph.addEdge(previousChange.getOne(), each.getOne(), new DependencyEdge(previousChange.getOne(), each.getOne(), CodeDependencyType.IMPLICIT)); } });
@Override public void value(Pair<T, SortableDependency> each, int index) { // for regular mode, we go in regular-order (each change follows the one before it in the file) Pair<T, SortableDependency> previousChange = sortedChanges.get(index - 1); graph.addEdge(previousChange.getOne(), each.getOne(), new DependencyEdge(previousChange.getOne(), each.getOne(), CodeDependencyType.IMPLICIT)); } });
@Override public void value(Pair<T, SortableDependency> each, int index) { // for rollback, we go in reverse-order (each change follows the one after it in the file) Pair<T, SortableDependency> nextChange = sortedChanges.get(index + 1); graph.addEdge(nextChange.getOne(), each.getOne(), new DependencyEdge(nextChange.getOne(), each.getOne(), CodeDependencyType.IMPLICIT)); } });
@Override public void value(Pair<T, SortableDependency> each, int index) { // for rollback, we go in reverse-order (each change follows the one after it in the file) Pair<T, SortableDependency> nextChange = sortedChanges.get(index + 1); graph.addEdge(nextChange.getOne(), each.getOne(), new DependencyEdge(nextChange.getOne(), each.getOne(), CodeDependencyType.IMPLICIT)); } });
public void applyEnter(EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext) { Object from = factory.getFrom().evaluate(eventsPerStream, true, exprEvaluatorContext); Object to = factory.getTo().evaluate(eventsPerStream, true, exprEvaluatorContext); if (vertexReferenceCount.add(from)) { graph.addVertex(from); } if (vertexReferenceCount.add(to)) { graph.addVertex(to); } EventBean event = eventsPerStream[0]; graph.addEdge(from, to, event); }
private static DefaultDirectedGraph<DataRangeExpression,DefaultEdge> getDataRangeGraph (OntologyImpl.UnclassifiedOntologyTBox ontology, DefaultDirectedGraph<DataPropertyExpression,DefaultEdge> dataPropertyGraph) { DefaultDirectedGraph<DataRangeExpression,DefaultEdge> dataRangeGraph = new DefaultDirectedGraph<>(DefaultEdge.class); // ranges of roles for (DataPropertyExpression role : dataPropertyGraph.vertexSet()) dataRangeGraph.addVertex(role.getRange()); // edges between the ranges for sub-properties for (DefaultEdge edge : dataPropertyGraph.edgeSet()) { DataPropertyExpression child = dataPropertyGraph.getEdgeSource(edge); DataPropertyExpression parent = dataPropertyGraph.getEdgeTarget(edge); dataRangeGraph.addEdge(child.getRange(), parent.getRange()); } // data range inclusions from the ontology for (BinaryAxiom<DataRangeExpression> clsIncl : ontology.getSubDataRangeAxioms()) { dataRangeGraph.addVertex(clsIncl.getSuper()); // Datatype is not among the vertices from the start dataRangeGraph.addEdge(clsIncl.getSub(), clsIncl.getSuper()); } return dataRangeGraph; }
private static DefaultDirectedGraph<DataRangeExpression,DefaultEdge> getDataRangeGraph (OntologyImpl.UnclassifiedOntologyTBox ontology, DefaultDirectedGraph<DataPropertyExpression,DefaultEdge> dataPropertyGraph) { DefaultDirectedGraph<DataRangeExpression,DefaultEdge> dataRangeGraph = new DefaultDirectedGraph<>(DefaultEdge.class); // ranges of roles for (DataPropertyExpression role : dataPropertyGraph.vertexSet()) dataRangeGraph.addVertex(role.getRange()); // edges between the ranges for sub-properties for (DefaultEdge edge : dataPropertyGraph.edgeSet()) { DataPropertyExpression child = dataPropertyGraph.getEdgeSource(edge); DataPropertyExpression parent = dataPropertyGraph.getEdgeTarget(edge); dataRangeGraph.addEdge(child.getRange(), parent.getRange()); } // data range inclusions from the ontology for (BinaryAxiom<DataRangeExpression> clsIncl : ontology.getSubDataRangeAxioms()) { dataRangeGraph.addVertex(clsIncl.getSuper()); // Datatype is not among the vertices from the start dataRangeGraph.addEdge(clsIncl.getSub(), clsIncl.getSuper()); } return dataRangeGraph; }
static public <V> DefaultDirectedGraph<V, Edge<V>> getDefaultDiGraph(BinaryRelation<V, V> source) { final SimpleEdgeFactory<V> factory = new SimpleEdgeFactory<V>(); final DefaultDirectedGraph<V, Edge<V>> g = new DefaultDirectedGraph<V, Edge<V>>(factory); final Set<Pair<V, V>> pairs = source.asPairs(); for (Pair<V, V> pair : pairs) { g.addVertex(pair.getElt1()); g.addVertex(pair.getElt2()); g.addEdge(pair.getElt1(), pair.getElt2()); } return g; }