Storyboard TTC2011InsertTransitiveEdges


Insert transitive edges.

Start graph:

Transformation:

   private int insertTransitiveEdges(Graph graph)
   {

      graphPO = new GraphPO(graph).withPatternObjectName("graphPO2");

      EdgePO firstEdgePO = graphPO.hasEdges();

      EdgePO secondEdgePO = graphPO.hasEdges();

      NodePO joinNodePO = firstEdgePO.hasTgt();

      secondEdgePO.hasSrc(joinNodePO);

      NodePO startNodePO = firstEdgePO.hasSrc();

      NodePO endNodePO = secondEdgePO.hasTgt();

      startNodePO.startNAC().hasOutEdges().hasTgt(endNodePO).endNAC();

      startNodePO.startCreate().hasOutEdges().hasTgt(endNodePO);

      return graphPO.getPattern().allMatches();
   }

Transformation with matches:

We have inserted 8 new transitive edges. Result graph: