Package lupos.engine.operators

Examples of lupos.engine.operators.OperatorIDTuple


  @Override
  protected void init() {
    final TriggerOneTime trigger = new TriggerOneTime();
    final Join join = new Join();

    trigger.setSucceedingOperator(new OperatorIDTuple(join, -1));
    join.setPrecedingOperator(trigger);

    subGraphMap = new HashMap<BasicOperator, String>();
    subGraphMap.put(trigger, "trigger");
    subGraphMap.put(join, "join");
View Full Code Here


  protected void init() {
    final AddBinding add1 = new AddBinding(null, null);
    final AddBinding add2 = new AddBinding(null, null);
    final Filter filter = new Filter();

    add1.setSucceedingOperator(new OperatorIDTuple(add2, 0));
    add2.setPrecedingOperator(add1);
    add2.setSucceedingOperator(new OperatorIDTuple(filter, 0));
    filter.setPrecedingOperator(add2);

    subGraphMap = new HashMap<BasicOperator, String>();
    subGraphMap.put(add1, "add1");
    subGraphMap.put(add2, "add2");
View Full Code Here

        oid.getOperator().getPrecedingOperators().addAll(
            filter.getPrecedingOperators());
        for (final BasicOperator precFilter : filter
            .getPrecedingOperators()) {
          precFilter.removeSucceedingOperator(filter);
          precFilter.addSucceedingOperator(new OperatorIDTuple(oid
              .getOperator(), oid.getId()));
        }
      }
    } else {
      filter.visit(new SimpleOperatorGraphVisitor() {
View Full Code Here

        // add new connections...
        _label_a_count = 0;

        for(lupos.engine.operators.BasicOperator _parent : this.above) {
            _parent.addSucceedingOperator(new OperatorIDTuple(sortLimit, _label_a[_label_a_count]));
            sortLimit.addPrecedingOperator(_parent);

            _label_a_count += 1;
        }


        sortLimit.addSucceedingOperator(new OperatorIDTuple(this.sort, 0));
        this.sort.addPrecedingOperator(sortLimit);


        // additional replace method code...
        sortLimit.setLimit(this.limitSortLimit);
View Full Code Here

  @Override
  protected void init() {
    final ReplaceLit replaceLit = new ReplaceLit();
    final Projection projection = new Projection();

    replaceLit.setSucceedingOperator(new OperatorIDTuple(projection, -1));
    projection.setPrecedingOperator(replaceLit);

    subGraphMap = new HashMap<BasicOperator, String>();
    subGraphMap.put(replaceLit, "replaceLit");
    subGraphMap.put(projection, "projection");
View Full Code Here

    // Connect the ReplaceLit precessors directly to the Projection
    for (int i = pres.size() - 1; i >= 0; i--) {
      pre = pres.get(i);
      projection.addPrecedingOperator(pre);
      pre.removeSucceedingOperator(replaceLit);
      pre.addSucceedingOperator(new OperatorIDTuple(projection, index));
    }

    // Make ReplaceLit the successor of Projection
    projection.removePrecedingOperator(replaceLit);
    projection.setSucceedingOperator(new OperatorIDTuple(replaceLit, 0));

    replaceLit.setPrecedingOperator(projection);

    final HashSet<Variable> hsv = new HashSet<Variable>();
    hsv.addAll(projection.getIntersectionVariables());
View Full Code Here

            Filter newFilter;
            try {
              newFilter = new Filter(filter.toString().substring(
                  0, filter.toString().length() - 2));
              indexScan
                  .setSucceedingOperator(new OperatorIDTuple(
                      newFilter, 0));
              newFilter
                  .setSucceedingOperator(new OperatorIDTuple(
                      new Result(), 0));
            } catch (final ParseException e) {
              e.printStackTrace();
            }

          } else {
            indexScan.setSucceedingOperator(new OperatorIDTuple(
                new Result(), 0));
          }
        } else {
          indexScan.setSucceedingOperator(new OperatorIDTuple(
              new Result(), 0));
        }

        // indexScan.setSucceedingOperator(new OperatorIDTuple(new
        // Result(),
        // 0));
       
        //connect indexScan in subgraph container
        rootNodeOfSubGraph.setSucceedingOperator(new OperatorIDTuple(
            indexScan, countingSubgraphs));
        rootNodeOfSubGraph.deleteParents();
        rootNodeOfSubGraph.setParents();

        // original connections set at new graph
        /*
         * create Operator for union of all subgraphs
         */
        OperatorIDTuple unionIDOperator = new OperatorIDTuple(union, countingSubgraphs++);
        container.setSucceedingOperator(unionIDOperator);
       
        /*
         * store this subgraph
         */
        subgraphs.add(container);
      }
     
      //connect all subgraphs as predecessor of the new union
      union.addPrecedingOperators(subgraphs);

     
      /*
       * create list of OperatorIDTuples connected to the subgraphs
       */
      List<OperatorIDTuple> list = new ArrayList<OperatorIDTuple>();
      for (BasicOperator g : subgraphs) {
        list.add(new OperatorIDTuple(g, 0));
      }

      /*
       * now connect the root with all new subgraphs
       */
      for (final BasicOperator pred : preds) {
        /*
         * and remove indexScan (because, this is moved to subgraph container)
         */
        OperatorIDTuple a = pred.getOperatorIDTuple(_indexScan);
        if (a != null) {
          pred.removeSucceedingOperator(a);
        }
        //but add all subgraphs
        pred.addSucceedingOperators(list);
View Full Code Here

            filter.getUsedVariables())) {
          Filter newFilter;
          try {
            newFilter = new Filter(filter.toString().substring(0,
                filter.toString().length() - 2));
            indexScan.setSucceedingOperator(new OperatorIDTuple(
                newFilter, 0));
            newFilter.setSucceedingOperator(new OperatorIDTuple(
                new Result(), 0));
          } catch (final ParseException e) {
            e.printStackTrace();
          }

        } else {
          indexScan.setSucceedingOperator(new OperatorIDTuple(
              new Result(), 0));
        }
      } else {
        indexScan.setSucceedingOperator(new OperatorIDTuple(
            new Result(), 0));
      }

      // indexScan.setSucceedingOperator(new OperatorIDTuple(new Result(),
      // 0));
      rootNodeOfSubGraph.setSucceedingOperator(new OperatorIDTuple(
          indexScan, 0));

      rootNodeOfSubGraph.setParents();

      // original connections set at new graph
View Full Code Here

        .getPrecedingOperators();
    final LinkedList<OperatorIDTuple> succs = (LinkedList<OperatorIDTuple>) replaceLit
        .getSucceedingOperators();

    BasicOperator pre;
    OperatorIDTuple idTuple;
    // Connect all precessors to all successors
    for (int i = 0; i < pres.size(); i++) {
      for (int a = 0; a < succs.size(); a++) {
        idTuple = succs.get(a);
        pre = pres.get(i);
        pre.addSucceedingOperator(new OperatorIDTuple(idTuple
            .getOperator(), idTuple.getId()));
        pre.removeSucceedingOperator(replaceLit);
      }
    }

    BasicOperator succ;
View Full Code Here

      this.moveToLeft(inp.getLeft().getTriplePatterns(), root);
    }

    join.setIntersectionVariables(inp.getJoinPartner());
    join.setUnionVariables(inp.getVariables());
    left.setSucceedingOperator(new OperatorIDTuple(join, 0));
    right.setSucceedingOperator(new OperatorIDTuple(join, 1));
    join.addPrecedingOperator(left);
    join.addPrecedingOperator(right);
    return join;
  }
View Full Code Here

TOP

Related Classes of lupos.engine.operators.OperatorIDTuple

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.