Package lupos.engine.operators

Examples of lupos.engine.operators.BasicOperator


                break;
            }

            // --- handle JumpOver - begin ---
            this.j_end = (lupos.engine.operators.BasicOperator) _precOp_1_0;
            BasicOperator _searchIndex_1_0 = _precOp_1_0;
            boolean _continueFlag_1_0 = false;

            while(_searchIndex_1_0 != null && (!(_searchIndex_1_0 instanceof lupos.engine.operators.index.BasicIndexScan))) {
                if(_searchIndex_1_0.getClass() != lupos.engine.operators.singleinput.filter.Filter.class) {
                    _continueFlag_1_0 = true;
                    break;
                }

                if(_searchIndex_1_0.getSucceedingOperators().size() != 1 || _searchIndex_1_0.getPrecedingOperators().size() != 1) {
                    _continueFlag_1_0 = true;
                    break;
                }

                _searchIndex_1_0 = _searchIndex_1_0.getPrecedingOperators().get(0);
            }

            if(_continueFlag_1_0) {
                continue;
            }

            this.j_begin = (lupos.engine.operators.BasicOperator) _searchIndex_1_0.getSucceedingOperators().get(0).getOperator();
            // --- handle JumpOver - end ---


            List<BasicOperator> _precedingOperators_2_0 = this.j_begin.getPrecedingOperators();
View Full Code Here


  }

  @Override
  protected boolean checkPrecondition(final Map<String, BasicOperator> mso) {
    final Filter filter = (Filter) mso.get("filter");
    BasicOperator searchTriplePattern = filter;
    while (searchTriplePattern != null
        && !(searchTriplePattern instanceof TriplePattern)) {
      if (searchTriplePattern.getPrecedingOperators().size() > 1)
        return false;
      searchTriplePattern = searchTriplePattern.getPrecedingOperators()
      .get(0);
    }
    if (searchTriplePattern == null
        || !(searchTriplePattern instanceof TriplePattern))
      return false;
    if (searchTriplePattern.getSucceedingOperators().size() > 1)
      return false;
    triplePattern = (TriplePattern) searchTriplePattern;
    lupos.sparql1_1.Node n = filter.getNodePointer();
    if (n.jjtGetNumChildren() > 0) {
      n = n.jjtGetChild(0);
View Full Code Here

        f2.setUnionVariables(this.f.getUnionVariables());
        // --- update filter - end ---
       
       
        // --- clone jump-over operators - begin ---
        BasicOperator tmpOp = this.i.getSucceedingOperators().get(0).getOperator();
        BasicOperator parentOp = i2;
       
        while(!tmpOp.equals(this.f)) {
            BasicOperator newOp = tmpOp.clone();
            this.addNodeToStartNodeMapNullCheck(newOp, _startNodes);
       
            parentOp.setSucceedingOperator(new lupos.engine.operators.OperatorIDTuple(newOp, 0));
            newOp.setPrecedingOperator(parentOp);
       
            parentOp = newOp;
            tmpOp = tmpOp.getSucceedingOperators().get(0).getOperator();
        }
       
View Full Code Here

    final Collection<BasicOperator> deleted = new LinkedList<BasicOperator>();
    final Collection<BasicOperator> added = new LinkedList<BasicOperator>();

    final Filter filter = (Filter) mso.get("filter");
    final BasicOperator aboveFilter = filter.getPrecedingOperators().get(0);

    aboveFilter.setSucceedingOperators(filter.getSucceedingOperators());

    triplePattern.replace(var, constant);
    triplePattern.replace(varInference, constant);

    final AddBinding addBinding = new AddBinding(var, constant);
View Full Code Here

                break;
            }

            // --- handle JumpOver - begin ---
            this.j_end = (lupos.engine.operators.BasicOperator) _precOp_1_0;
            BasicOperator _searchIndex_1_0 = _precOp_1_0;
            boolean _continueFlag_1_0 = false;

            while(_searchIndex_1_0 != null && (!(_searchIndex_1_0 instanceof lupos.engine.operators.index.BasicIndexScan))) {
                if(!(_searchIndex_1_0 instanceof lupos.engine.operators.BasicOperator)) {
                    _continueFlag_1_0 = true;
                    break;
                }

                lupos.engine.operators.BasicOperator j = (lupos.engine.operators.BasicOperator) _searchIndex_1_0;

                if(j instanceof lupos.engine.operators.singleinput.path.Closure) {
  _continueFlag_1_0 = true;
  break;
}

                if(_searchIndex_1_0.getSucceedingOperators().size() != 1 || _searchIndex_1_0.getPrecedingOperators().size() != 1) {
                    _continueFlag_1_0 = true;
                    break;
                }

                _searchIndex_1_0 = _searchIndex_1_0.getPrecedingOperators().get(0);
            }

            if(_continueFlag_1_0) {
                continue;
            }

            this.j_begin = (lupos.engine.operators.BasicOperator) _searchIndex_1_0.getSucceedingOperators().get(0).getOperator();
            // --- handle JumpOver - end ---


            List<BasicOperator> _precedingOperators_2_0 = this.j_begin.getPrecedingOperators();
View Full Code Here

public class RuleDeleteOperatorWithNoSuccs extends Rule {

  @Override
  protected void init() {
    final BasicOperator op = new BasicOperator();

    subGraphMap = new HashMap<BasicOperator, String>();
    subGraphMap.put(op, "op");

    startNode = op;
View Full Code Here

    startNode = op;
  }

  @Override
  protected boolean checkPrecondition(final Map<String, BasicOperator> mso) {
    final BasicOperator op = mso.get("op");
    // Remark: Query-Operator is allowed to have no successor
    return ((op.getSucceedingOperators().size() == 0) && (!(op instanceof Result)));
  }
View Full Code Here

  public Tuple<Collection<BasicOperator>, Collection<BasicOperator>> transformOperatorGraph(
      final Map<String, BasicOperator> mso,
      final BasicOperator rootOperator) {
    final Collection<BasicOperator> deleted = new LinkedList<BasicOperator>();
    final Collection<BasicOperator> added = new LinkedList<BasicOperator>();
    final BasicOperator op = mso.get("op");

    final List<BasicOperator> pres = op.getPrecedingOperators();
    for (int i = 0; i < pres.size(); i++) {
      final BasicOperator pre = pres.get(i);

      // Delete from fathers, because it has no succs
      pre.removeSucceedingOperator(op);
    }

    rootOperator.deleteParents();
    rootOperator.setParents();
    rootOperator.detectCycles();
View Full Code Here

    final Map<BasicOperator, BasicOperator> operators = new HashMap<BasicOperator, BasicOperator>();

    // myRule.transformBasicOperatorGraph(mso,rootOperator);
    for (final String label : this.transformation.keySet()) {
      if (mso.containsKey(label)) {
        final BasicOperator op1 = this.transformation.get(label);
        final BasicOperator op2 = mso.get(label);
        final List<OperatorIDTuple> succs = op2
            .getSucceedingOperators();
        for (int i = succs.size() - 1; i >= 0; i--) {
          final OperatorIDTuple opID = succs.get(i);
          if (this.inSubgraph(mso, opID)) {
            succs.remove(i);
            opID.getOperator().removePrecedingOperator(op2);
            if (opID.getOperator().getPrecedingOperators().size() == 0) {
              deleted.add(opID.getOperator());
            }
          }
        }
        op2.addSucceedingOperators(op1.getSucceedingOperators());
        operators.put(op1, op2);
      } else {
        final BasicOperator toAdd = this.transformation.get(label).clone();
        added.add(toAdd);
        operators.put(this.transformation.get(label), toAdd);
      }
    }
    for (final BasicOperator op : operators.keySet()) {
      final BasicOperator realOp = operators.get(op);
      for (int i = 0; i < realOp.getSucceedingOperators().size(); i++) {
        final OperatorIDTuple succ = realOp.getSucceedingOperators()
            .get(i);
        if (operators.containsKey(succ.getOperator())) {
          realOp.getSucceedingOperators().set(
              i,
              new OperatorIDTuple(operators.get(succ
                  .getOperator()), succ.getId()));
          operators.get(succ.getOperator()).addPrecedingOperator(
              realOp);
View Full Code Here

                    break;
                }

                // --- handle JumpOver - begin ---
                this.jump_filter_end = (lupos.engine.operators.BasicOperator) _precOp_2_0;
                BasicOperator _searchIndex_2_0 = _precOp_2_0;
                boolean _continueFlag_2_0 = false;

                while(_searchIndex_2_0 != null && (_searchIndex_2_0.getClass() != lupos.engine.operators.BasicOperator.class)) {
                    if(_searchIndex_2_0.getClass() != lupos.engine.operators.singleinput.filter.Filter.class) {
                        _continueFlag_2_0 = true;
                        break;
                    }

                    if(_searchIndex_2_0.getSucceedingOperators().size() != 1 || _searchIndex_2_0.getPrecedingOperators().size() != 1) {
                        _continueFlag_2_0 = true;
                        break;
                    }

                    _searchIndex_2_0 = _searchIndex_2_0.getPrecedingOperators().get(0);
                }

                if(_continueFlag_2_0) {
                    continue;
                }

                this.jump_filter_begin = (lupos.engine.operators.BasicOperator) _searchIndex_2_0.getSucceedingOperators().get(0).getOperator();
                // --- handle JumpOver - end ---


                List<BasicOperator> _precedingOperators_3_0 = this.jump_filter_begin.getPrecedingOperators();
View Full Code Here

TOP

Related Classes of lupos.engine.operators.BasicOperator

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.