Ejemplo n.º 1
0
 /**
  * get two set of Nodes (Modules) and return true if they are connected
  *
  * @param fromModule
  * @param toModule
  * @return
  */
 public boolean isConnected(List<V> fromModule, List<V> toModule) {
   for (V node : fromModule) {
     for (E edge : this.getOutEdges(node)) {
       if (edge.isProvider() && toModule.contains(edge.getToNode())) return true;
     }
   }
   return false;
 }
Ejemplo n.º 2
0
 /**
  * calculates the number of connections between two modules (subGraphs) as the number of all
  * dependency edges between these modules directing from the fromModule towards the toModule
  *
  * @param fromModule is the parent node of outgoing edges module
  * @param toModule is the parent node of incoming edges module
  * @return strength
  */
 public int getConnections(List<V> fromModule, List<V> toModule) {
   List<EvolutionEdge> connections = new ArrayList<EvolutionEdge>();
   for (V node : fromModule) {
     for (E edge : node.getOutEdges()) {
       if (edge.isProvider()
           && toModule.contains(edge.getToNode())
           && (!connections.contains(edge))) {
         connections.add(edge);
       }
     }
   }
   return connections.size();
 }
Ejemplo n.º 3
0
  /**
   * propagates the frequency of a query node towards the graph set the frequency of all provider
   * nodes of a query
   *
   * @param node
   */
  public void propagateFrequency(V node) {

    List<V> subGraph = this.getModule(node);
    for (V evNode : subGraph) {
      evNode.setFrequency(node.getFrequency());
    }
    for (E edge : this.getOutEdges(node)) {
      if (edge.isProvider()) {
        edge.getToNode().setFrequency(edge.getToNode().getFrequency() + node.getFrequency());
        this.propagateFrequency(this.getDest(edge));
      }
    }
  }