當前位置: 首頁>>代碼示例>>Java>>正文


Java DirectedGraph.containsVertex方法代碼示例

本文整理匯總了Java中org.jgrapht.DirectedGraph.containsVertex方法的典型用法代碼示例。如果您正苦於以下問題:Java DirectedGraph.containsVertex方法的具體用法?Java DirectedGraph.containsVertex怎麽用?Java DirectedGraph.containsVertex使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.jgrapht.DirectedGraph的用法示例。


在下文中一共展示了DirectedGraph.containsVertex方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: extractMentionNetwork

import org.jgrapht.DirectedGraph; //導入方法依賴的package包/類
protected DirectedGraph<Figure, DefaultEdge> extractMentionNetwork(JCas jcas) {
	DirectedGraph<Figure, DefaultEdge> graph = new DirectedPseudograph<Figure, DefaultEdge>(DefaultEdge.class);

	for (Utterance utterance : JCasUtil.select(jcas, Utterance.class)) {
		Speaker speaker = DramaUtil.getFirstSpeaker(utterance);
		if (speaker != null)
			for (FigureMention mention : JCasUtil.selectCovered(jcas, FigureMention.class, utterance)) {
				if (speaker.getFigure() != null && mention.getFigure() != null) {
					if (!graph.containsVertex(speaker.getFigure()))
						graph.addVertex(speaker.getFigure());
					if (!graph.containsVertex(mention.getFigure()))
						graph.addVertex(mention.getFigure());
					graph.addEdge(speaker.getFigure(), mention.getFigure());
				}
			}
	}
	return graph;
}
 
開發者ID:quadrama,項目名稱:DramaNLP,代碼行數:19,代碼來源:NetworkExtractor.java

示例2: buildDefinitionGraph

import org.jgrapht.DirectedGraph; //導入方法依賴的package包/類
private void buildDefinitionGraph(Collection<DefinitionModel> definitions,
    DirectedGraph<DefinitionModel, DefaultEdge> definitionGraph) {
  for (DefinitionModel definition : definitions) {
    if (!definitionGraph.containsVertex(definition)) {
      definitionGraph.addVertex(definition);
      buildDefinitionGraph(definition.getDependencies(), definitionGraph);
      for (DefinitionModel dependency : definition.getDependencies()) {
        definitionGraph.addEdge(definition, dependency);
      }
    }
  }
}
 
開發者ID:salesforce,項目名稱:AptSpring,代碼行數:13,代碼來源:DefinitionGraphInpector.java

示例3: detectCyclesInEntityGraph

import org.jgrapht.DirectedGraph; //導入方法依賴的package包/類
/**
 * Inspects the instance graph for cycles, any cycle is printed as an error.   The nameToEntity parameter doesn't list expected
 * instances, any instances that are not found in the nameToInstances map (they are looked for because they are referenced as a
 * dependency by an instance in the map) and are not found by name in the definition's expectedInstances are treated as errors
 * as well.
 * 
 * @param definition definition being processed.  Will uses it's expected list, any instances references as dependencies but
 *     not found, not listed as expected in this DefinitionModel, will be treated as errors.
 * @param nameToEntity name to unique instanceModels, verified before call.
 * @param errorListner accepts and displays all errors produced by analyzing the models
 * @return true if an error occurred, false otherwise
 */
private boolean detectCyclesInEntityGraph(final DefinitionModel definition, final Map<String, InstanceModel> nameToEntity,
    final Consumer<ErrorModel> errorListener) {
  final Map<String, ExpectedModel> missing = new HashMap<>();
  final DirectedGraph<BaseInstanceModel, DefaultEdge> entityGraph = new DefaultDirectedGraph<>(DefaultEdge.class);
  for (BaseInstanceModel entity : nameToEntity.values()) {
    if (!entityGraph.containsVertex(entity)) {
      entityGraph.addVertex(entity);
    }
    if (InstanceModel.class.isAssignableFrom(entity.getClass())) {
      InstanceModel instanceModel = (InstanceModel) entity;
      for (InstanceDependencyModel instanceDependency : instanceModel.getDependencies()) {
        BaseInstanceModel dependency = nameToEntity.get(instanceDependency.getIdentity());
        if (dependency == null) {
          dependency = missing.computeIfAbsent(instanceDependency.getIdentity(), s -> new ExpectedModel(s));
          missing.get(instanceDependency.getIdentity())
            .addDefinitionReferenceToType(instanceModel.getIdentity(), instanceDependency.getType());
        }
        if (!entityGraph.containsVertex(dependency)) {
          entityGraph.addVertex(dependency);
        }
        entityGraph.addEdge(entity, dependency);
      }
    }
  }
  
  boolean errored = errorsForCycles(errorListener, entityGraph);
  errored = testAllMissingEntitiesAreExpected(definition, errorListener, missing, entityGraph) || errored;
  errored = errorUnusedExpectedsOnDefinition(definition, errorListener, missing) || errored;
  return errored;
}
 
開發者ID:salesforce,項目名稱:AptSpring,代碼行數:43,代碼來源:DefinitionContentInspector.java

示例4: addEdge

import org.jgrapht.DirectedGraph; //導入方法依賴的package包/類
protected static <Y, Z> void addEdge(DirectedGraph<Y, Z> t, Y source, Y target) {
    if (!t.containsVertex(source)) {
        t.addVertex(source);
    }
    if (!t.containsVertex(target)) {
        t.addVertex(target);
    }
    t.addEdge(source, target);
}
 
開發者ID:DocGerd,項目名稱:DalvikSSA,代碼行數:10,代碼來源:MySSATest.java

示例5: scheduleTypeDependencyCheck

import org.jgrapht.DirectedGraph; //導入方法依賴的package包/類
/**
 * array[a..b] of c..d: e:
 * 
 * {a,b, c,d} would be "to", e would be "from"
 * @param scopeType
 * @param from
 * @param toType
 * @throws MiniBrassParseException 
 */
public void scheduleTypeDependencyCheck(PVSType scopeType, String from, MiniZincVarType toType) throws MiniBrassParseException {
	DirectedGraph<String, DefaultEdge> parameterGraph = null;
	if(!parameterDependencies.containsKey(scopeType.getName())) {
		parameterGraph = new DirectedAcyclicGraph<>(DefaultEdge.class);
		
		parameterDependencies.put(scopeType.getName(), parameterGraph);
	} else {
		parameterGraph = parameterDependencies.get(scopeType.getName());
	}
	if(toType instanceof IntervalType) {
		IntervalType safeTo = (IntervalType) toType;
		for(String to : safeTo.getReferencedParameters()) {
			try{
				if(!parameterGraph.containsVertex(from))
					parameterGraph.addVertex(from);
				
				if(!parameterGraph.containsVertex(to))
					parameterGraph.addVertex(to);
									
				parameterGraph.addEdge(from, to);
			} catch(IllegalArgumentException ce) {
				throw new MiniBrassParseException("Detected cyclic dependency when adding parameter dependency: "+from + " -> "+ to);
			}				
		}
	}
}
 
開發者ID:isse-augsburg,項目名稱:minibrass,代碼行數:36,代碼來源:SemanticChecker.java

示例6: isReachable

import org.jgrapht.DirectedGraph; //導入方法依賴的package包/類
private boolean isReachable(AttributeRef attribute, Set<AttributeRef> initialAttributes, DirectedGraph<AttributeRef, ExtendedEdge> dependencyGraph) {
    for (AttributeRef initialAttribute : initialAttributes) {
        if (logger.isTraceEnabled()) logger.trace("Checking reachability of " + attribute + " from " + initialAttribute);
        if (!dependencyGraph.containsVertex(initialAttribute)) {
            continue;
        }
        List path = DijkstraShortestPath.findPathBetween(dependencyGraph, initialAttribute, attribute);
        if (path != null) {
            if (logger.isTraceEnabled()) logger.trace("Found!");
            return true;
        }
    }
    return false;
}
 
開發者ID:donatellosantoro,項目名稱:Llunatic,代碼行數:15,代碼來源:FindAttributesWithLabeledNulls.java

示例7: createFromFile

import org.jgrapht.DirectedGraph; //導入方法依賴的package包/類
public static TrafficLocationGraph createFromFile(File file) 
{
	TrafficLocationGraph tlg = new TrafficLocationGraph();

	try {
		BufferedReader brPoffsets = new BufferedReader(new FileReader(file));
		String line = null;
		DirectedGraph<Integer, LocationEdge> graph = tlg.graph;

		while ((line = brPoffsets.readLine()) != null) {
			if ((!line.startsWith("#")) && (!line.equals(""))) {

				String[] tmp = line.split(";");
				
				if (tmp[2].equals(""))
					continue;
				int loc0 = Integer.parseInt(tmp[2]);

				if (!graph.containsVertex(loc0))
					graph.addVertex(loc0);

				for(int i = 3; i< tmp.length; i++)
				{
					if (tmp[i].equals(""))
						continue;
					
					int loc1 = Integer.parseInt(tmp[i]);

					if (!graph.containsVertex(loc1))
						graph.addVertex(loc1);

					graph.addEdge(loc0, loc1);
				}
			}
		}

		brPoffsets.close();
	} catch (NumberFormatException | IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
	//tlg.getShortestPath(36716, 52807);

	return tlg;
}
 
開發者ID:GIScience,項目名稱:openrouteservice,代碼行數:47,代碼來源:TrafficLocationGraph.java

示例8: testGraph

import org.jgrapht.DirectedGraph; //導入方法依賴的package包/類
/**
   * Compares the given graph with the expected graph. Returns true only if both<br>
   * graphs are identical.
   * @param graph
   */
  private void testGraph(DirectedGraph<Integer,DefaultEdge> graph){
      //make sure all vertices are there
      for(int i=1;i<16;i++){
          if(!graph.containsVertex(i)) {
              fail("Graph does not contain vertex " + i);
          }
      }
      if(!graph.containsVertex(30)) {
          fail("Graph does not contain vertex " + 200);
      }
      if(!graph.containsVertex(200)) {
          fail("Graph does not contain vertex " + 200);
      }

      //make sure there are no supplemental vertices
      assertEquals(17, graph.vertexSet().size());

      //make sure all edges are there
      if(!graph.containsEdge(1,200)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(1,2)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(1,4)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(1,3)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(1,5)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(3,6)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(4,9)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(5,8)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(6,9)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(6,8)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(6,7)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(7,11)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(7,10)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(8,15)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(8,13)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(8,14)) {
	fail("Graph does not contain edge");
}
      if(!graph.containsEdge(8,12)) {
	fail("Graph does not contain edge");
}

      //make sure there no supplemental edges
      assertEquals(17, graph.edgeSet().size());
  }
 
開發者ID:dkpro,項目名稱:dkpro-jwpl,代碼行數:79,代碼來源:GraphSerializationTest.java

示例9: cacheRegex

import org.jgrapht.DirectedGraph; //導入方法依賴的package包/類
private static void cacheRegex(String regex) {
	String r = expandRegex(regex);
	Automaton automaton = new RegExp(r, RegExp.NONE).toAutomaton();
	automaton.expandSingleton();

	// We convert this to a graph without self-loops in order to determine the topological order
	DirectedGraph<State, DefaultEdge> regexGraph = new DefaultDirectedGraph<State, DefaultEdge>(
			DefaultEdge.class);
	Set<State> visitedStates = new HashSet<State>();
	Queue<State> states = new LinkedList<State>();
	State initialState = automaton.getInitialState();
	states.add(initialState);

	while (!states.isEmpty()) {
		State currentState = states.poll();
		if (visitedStates.contains(currentState))
			continue;
		if (!regexGraph.containsVertex(currentState))
			regexGraph.addVertex(currentState);
		for (Transition t : currentState.getTransitions()) {
			// Need to get rid of back edges, otherwise there is no topological order!
			if (!t.getDest().equals(currentState)) {
				regexGraph.addVertex(t.getDest());
				regexGraph.addEdge(currentState, t.getDest());
				states.add(t.getDest());
				CycleDetector<State, DefaultEdge> det = new CycleDetector<State, DefaultEdge>(
						regexGraph);
				if (det.detectCycles()) {
					regexGraph.removeEdge(currentState, t.getDest());
				}
			}
		}
		visitedStates.add(currentState);
	}

	TopologicalOrderIterator<State, DefaultEdge> iterator = new TopologicalOrderIterator<State, DefaultEdge>(
			regexGraph);
	List<State> topologicalOrder = new ArrayList<State>();
	while (iterator.hasNext()) {
		topologicalOrder.add(iterator.next());
	}

	regexStateCache.put(regex, topologicalOrder);
	regexAutomatonCache.put(regex, automaton);
}
 
開發者ID:EvoSuite,項目名稱:evosuite,代碼行數:46,代碼來源:RegexDistanceUtils.java


注:本文中的org.jgrapht.DirectedGraph.containsVertex方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。