Examples of TriggerOneTime


Examples of lupos.engine.operators.tripleoperator.TriggerOneTime

public class RuleDeleteTriggerOneTimeJoin extends Rule {

  @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

Examples of lupos.engine.operators.tripleoperator.TriggerOneTime

  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 TriggerOneTime trigger = (TriggerOneTime) mso.get("trigger");
    final Join join = (Join) mso.get("join");
    join.removePrecedingOperator(trigger);
    if (join.getPrecedingOperators().size() <= 1) {
      // remove join
      for (final OperatorIDTuple oit : join.getSucceedingOperators()) {
        oit.getOperator().removePrecedingOperator(join);
      }
      for (final BasicOperator bo : join.getPrecedingOperators()) {
        bo.removeSucceedingOperator(join);
        bo.addSucceedingOperators(join.getSucceedingOperators());
        for (final OperatorIDTuple oit : join.getSucceedingOperators()) {
          oit.getOperator().addPrecedingOperator(bo);
        }
      }
      deleted.add(join);
    }
    // remove join from trigger operator
    trigger.removeSucceedingOperator(join);
    if (trigger.getSucceedingOperators().size() == 0) {
      // remove trigger operator
      for (final BasicOperator bo : trigger.getPrecedingOperators()) {
        bo.removeSucceedingOperator(trigger);
      }
      deleted.add(trigger);
    }
    if (deleted.size() > 0 || added.size() > 0)
View Full Code Here

Examples of lupos.engine.operators.tripleoperator.TriggerOneTime

            // first generate the Add(...)-operators for
            // the evaluated triple patterns and add them
            // under an UNION operator
            final Union union = new Union();
            final TriggerOneTime trigger = new TriggerOneTime();

            while (it.hasNext()) {
              final Triple t = it.next();
              BasicOperator lastOperator = union;
              for (int i = 0; i < 3; i++) {
                if (tp.getPos(i).isVariable()) {
                  final AddBinding add = new AddBinding(
                      (Variable) tp.getPos(i), t
                          .getPos(i));
                  add
                      .addSucceedingOperator(new OperatorIDTuple(
                          lastOperator, 0));
                  // Not completely correct, but for
                  // the succeeding optimization steps
                  // enough!
                  add
                      .setUnionVariables((HashSet<Variable>) tp
                          .getVariables().clone());
                  add.setIntersectionVariables(add
                      .getUnionVariables());
                  lastOperator.addPrecedingOperator(add);
                  lastOperator = add;
                }
              }
              trigger.addSucceedingOperator(new OperatorIDTuple(
                  lastOperator, 0));
            }

            if (trigger.getSucceedingOperators().size() > 0) {
              trigger.setPrecedingOperators(tp
                  .getPrecedingOperators());
              for (final BasicOperator po : tp
                  .getPrecedingOperators()) {
                po.addSucceedingOperator(new OperatorIDTuple(
                    trigger, 0));
View Full Code Here

Examples of lupos.engine.operators.tripleoperator.TriggerOneTime

  @Override
  public void createEmptyIndexScanSubmittingQueryResultWithOneEmptyBindingsAndConnectWithRoot(final OperatorIDTuple opID, final Item graphConstraint) {
    if(graphConstraint!=null) {
      throw new Error("This evaluator does not support named graphs!");
    }
    final TriggerOneTime trigger = new TriggerOneTime(true);
    this.currentPatternMatcher.addSucceedingOperator(trigger);
    if(opID!=null) {
      trigger.addSucceedingOperator(opID);
    }
  }
View Full Code Here

Examples of lupos.engine.operators.tripleoperator.TriggerOneTime

    }
  }

  @Override
  public void createEmptyIndexScanAndConnectWithRoot(final OperatorIDTuple opID) {
    final TriggerOneTime trigger = new TriggerOneTime(false);
    this.currentPatternMatcher.addSucceedingOperator(trigger);
    if(opID!=null) {
      trigger.addSucceedingOperator(opID);
    }
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.