Examples of TriplePattern


Examples of lupos.engine.operators.tripleoperator.TriplePattern

  public static void addInferenceRulesForExternalOntology(
      final Root ic, final TripleOperator tp, final Item data) {
    RudimentaryRDFSchemaInference.addInferenceRulesForExternalOntology(ic,
        tp, data);
    try {
      TriplePattern tp_1;
      TriplePattern tp_2;

      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs6
       * uuu rdf:type rdf:Property . uuu rdfs:subPropertyOf uuu .
       */
      final TriplePattern tp_rdfs6 = new TriplePattern(v("uuu"), TYPE,
          PROPERTY);
      addTps(data, ic, tp, v("uuu"), SUBPROPERTY, v("uuu"), tp_rdfs6);
      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs8
       * uuu rdf:type rdfs:Class . uuu rdfs:subClassOf rdfs:Resource .
       */
      final TriplePattern tp_rdfs8 = new TriplePattern(v("uuu"), TYPE,
          CLASS);
      addTps(data, ic, tp, v("uuu"), SUBCLASS, RESSOURCE, tp_rdfs8);
      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs10
       * uuu rdf:type rdfs:Class . uuu rdfs:subClassOf uuu .
       */
      final TriplePattern tp_rdfs10 = new TriplePattern(v("uuu"), TYPE,
          CLASS);
      addTps(data, ic, tp, v("uuu"), SUBCLASS, v("uuu"), tp_rdfs10);
      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs12
       * uuu rdf:type rdfs:ContainerMembershipProperty . uuu
       * rdfs:subPropertyOf rdfs:member .
       */
      final TriplePattern tp_rdfs12 = new TriplePattern(v("uuu"), TYPE,
          u("2000/01/rdf-schema#ContainerMembershipProperty"));
      addTps(data, ic, tp, v("uuu"), SUBPROPERTY,
          u("2000/01/rdf-schema#member"), tp_rdfs12);
      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs13
       * uuu rdf:type rdfs:Datatype . uuu rdfs:subClassOf rdfs:URILiteral
       * .
       */
      final TriplePattern tp_rdfs13 = new TriplePattern(
          v("uuu"),
          TYPE,
          LiteralFactory
              .createURILiteral("<http://www.w3.org/2000/01/rdf-schema#Datatype>"));
      addTps(data, ic, tp, v("uuu"), SUBCLASS,
View Full Code Here

Examples of lupos.engine.operators.tripleoperator.TriplePattern

    try {
      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs2
       * aaa rdfs:domain xxx . uuu aaa yyy . uuu rdf:type xxx .
       */
      final TriplePattern tp_1_1 = tp(v("aaa"), DOMAIN, v("xxx"));
      final TriplePattern tp_1_2 = tp(v("uuu"), v("aaa"), v("yyy"));
      addTps(data, ic, tp, v("uuu"), TYPE, v("xxx"), tp_1_1, tp_1_2);
      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs3
       * aaa rdfs:range xxx . uuu aaa vvv . vvv rdf:type xxx .
       */
      final TriplePattern tp_2_1 = new TriplePattern(v("aaa"), RANGE,
          v("xxx"));
      final TriplePattern tp_2_2 = new TriplePattern(v("uuu"), v("aaa"),
          v("vvv"));
      addTps(data, ic, tp, v("vvv"), TYPE, v("xxx"), tp_2_1, tp_2_2);
      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs4a
       * uuu aaa xxx . uuu rdf:type rdfs:Resource .
       */
      final TriplePattern tp_rdfs4a = new TriplePattern(v("uuu"),
          v("aaa"), v("xxx"));
      addTps(data, ic, tp, v("uuu"), TYPE, RESSOURCE, tp_rdfs4a);
      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs4b
       * uuu aaa vvv. vvv rdf:type rdfs:Resource .
       */
      final TriplePattern tp_rdfs4b = new TriplePattern(v("uuu"),
          v("aaa"), v("vvv"));
      addTpsFilter(data, ic, tp, v("vvv"), TYPE, RESSOURCE,
          "FILTER(isBLANK(?vvv) || isURI(?vvv))", tp_rdfs4b);

      /*
 
View Full Code Here

Examples of lupos.engine.operators.tripleoperator.TriplePattern

  public static void addInferenceRulesForExternalOntology(
      final Root ic, final TripleOperator tp, final Item data) {
    RudimentaryRDFSchemaInference.addInferenceRulesForExternalOntology(ic,
        tp, data);
    try {
      TriplePattern tp_1;
      // TriplePattern tp_2;

      // rules (I) and (II) already defined in
      // RudimentaryRDFSchemaInference
View Full Code Here

Examples of lupos.engine.operators.tripleoperator.TriplePattern

      final Root ic, final TripleOperator tp, final Item data) {
    RudimentaryRDFSchemaInference.addInferenceRulesForInstanceData(ic, tp,
        data);
    try {
      // (VIII)
      final TriplePattern tp_1_1 = tp(v("aaa"), DOMAIN, v("xxx"));
      final TriplePattern tp_1_2 = tp(v("uuu"), v("aaa"), v("yyy"));
      addTps(data, ic, tp, v("uuu"), TYPE, v("xxx"), tp_1_1, tp_1_2);

      // ((IX)
      final TriplePattern tp_2_1 = new TriplePattern(v("aaa"), RANGE,
          v("xxx"));
      final TriplePattern tp_2_2 = new TriplePattern(v("uuu"), v("aaa"),
          v("vvv"));
      addTps(data, ic, tp, v("vvv"), TYPE, v("xxx"), tp_2_1, tp_2_2);

      // (X)
      // already in RudimentaryRDFSchemaInference

      // (XI)
      final TriplePattern tp_rdfs11_1 = new TriplePattern(v("c1"),
          SUBCLASS, v("c2"));
      final TriplePattern tp_rdfs11_2 = new TriplePattern(v("s"), TYPE,
          v("c1"));
      addTpsFilter(data, ic, tp, v("s"), TYPE, v("c2"),
          "Filter(?c1!=?c2)", tp_rdfs11_1, tp_rdfs11_2);

      // (XII)
      final TriplePattern tp_rdfs12_1 = new TriplePattern(v("p1"),
          DOMAIN, v("c"));
      final TriplePattern tp_rdfs12_2 = new TriplePattern(v("p2"),
          SUBPROPERTY, v("p1"));
      final TriplePattern tp_rdfs12_3 = new TriplePattern(v("s"),
          v("p2"), v("o"));
      addTps(data, ic, tp, v("s"), TYPE, v("c"), tp_rdfs12_1,
          tp_rdfs12_2, tp_rdfs12_3);

      // (XIII)
      final TriplePattern tp_rdfs13_1 = new TriplePattern(v("p1"), RANGE,
          v("c"));
      final TriplePattern tp_rdfs13_2 = new TriplePattern(v("p2"),
          SUBPROPERTY, v("p1"));
      final TriplePattern tp_rdfs13_3 = new TriplePattern(v("s"),
          v("p2"), v("o"));
      addTps(data, ic, tp, v("o"), TYPE, v("c"), tp_rdfs13_1,
          tp_rdfs13_2, tp_rdfs13_3);

      // (XIV)
      final TriplePattern tp_14 = tp(v("s"), v("p"), v("o"));
      addTps(data, ic, tp, v("p"), SUBPROPERTY, v("p"), tp_14);

      // (XV)
      final TriplePattern tp_15 = tp(v("s"), v("p"), v("o"));
      addTps(data, ic, tp, v("o"), SUBCLASS, v("o"), tp_15);

    } catch (final Exception e) {
      System.out.println(e);
      e.printStackTrace();
View Full Code Here

Examples of lupos.engine.operators.tripleoperator.TriplePattern

  protected static Triple t(final String a, final String b, final String c) {
    return new Triple(u(a), u(b), u(c));
  }

  protected static TriplePattern tp(final Item a, final Item b, final Item c) {
    return new TriplePattern(a, b, c);
  }
View Full Code Here

Examples of lupos.engine.operators.tripleoperator.TriplePattern

  protected static void addTps(final Item data, final Root ic,
      final TripleOperator tp, final Item a, final Item b, final Item c,
      final TriplePattern... tps) {
    final Generate g = new Generate(tp, a, b, c);
    if (tps.length == 1) {
      final TriplePattern tpo = tps[0];
      tpo.setSucceedingOperator(new OperatorIDTuple(g, 0));
      final Collection<TriplePattern> ctp = new LinkedList<TriplePattern>();
      ctp.add(tpo);
      ic.addSucceedingOperator(new OperatorIDTuple(ic.newIndexScan(
          new OperatorIDTuple(g, 0), ctp, null), 0));
    } else {

      final Collection<TriplePattern> ctp = new LinkedList<TriplePattern>();
      for (int i = 0; i < tps.length; i++) {
        final TriplePattern tpo = tps[i];
        ctp.add(tpo);
      }
      ic.addSucceedingOperator(new OperatorIDTuple(ic.newIndexScan(
          new OperatorIDTuple(g, 0), ctp, null), 0));
    }
View Full Code Here

Examples of lupos.engine.operators.tripleoperator.TriplePattern

      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs5
       * uuu rdfs:subPropertyOf vvv . vvv rdfs:subPropertyOf xxx . uuu
       * rdfs:subPropertyOf xxx .
       */
      final TriplePattern tp_rdfs5_1 = new TriplePattern(v("uuu"),
          SUBPROPERTY, v("vvv"));
      final TriplePattern tp_rdfs5_2 = new TriplePattern(v("vvv"),
          SUBPROPERTY, v("xxx"));
      addTpsFilter(data, ic, tp, v("uuu"), SUBPROPERTY, v("xxx"),
          "(?uuu!=?vvv)", "(?vvv!=?xxx)", tp_rdfs5_1,
          tp_rdfs5_2);

      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs11
       * uuu rdfs:subClassOf vvv . vvv rdfs:subClassOf xxx . uuu
       * rdfs:subClassOf xxx .
       */
      final TriplePattern tp_rdfs11_1 = new TriplePattern(v("uuu"),
          SUBCLASS, v("vvv"));
      final TriplePattern tp_rdfs11_2 = new TriplePattern(v("vvv"),
          SUBCLASS, v("xxx"));
      addTpsFilter(data, ic, tp, v("uuu"), SUBCLASS, v("xxx"),
          "(?uuu!=?vvv)", "(?vvv!=?xxx)", tp_rdfs11_1,
          tp_rdfs11_2);
    } catch (final Exception e) {
View Full Code Here

Examples of lupos.engine.operators.tripleoperator.TriplePattern

    try {
      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs9
       * uuu rdfs:subClassOf xxx . vvv rdf:type uuu . vvv rdf:type xxx .
       */
      final TriplePattern tp_rdfs9_1 = new TriplePattern(v("uuu"),
          SUBCLASS, v("xxx"));
      final TriplePattern tp_rdfs9_2 = new TriplePattern(v("vvv"), TYPE,
          v("uuu"));
      addTpsFilter(data, ic, tp, v("vvv"), TYPE, v("xxx"),
          "(?uuu!=?xxx)", tp_rdfs9_1, tp_rdfs9_2);
      /*
       * RDFS entailment rules. Rule Name If E contains: then add: rdfs7
       * aaa rdfs:subPropertyOf bbb . uuu aaa yyy . uuu bbb yyy .
       */
      final TriplePattern tp_rdfs7_1 = new TriplePattern(v("aaa"),
          SUBPROPERTY, v("bbb"));
      final TriplePattern tp_rdfs7_2 = new TriplePattern(v("uuu"),
          v("aaa"), v("yyy"));
      addTpsFilter(data, ic, tp, v("uuu"), v("bbb"), v("yyy"),
          "(?aaa!=?bbb)", tp_rdfs7_1, tp_rdfs7_2);
    } catch (final Exception e) {
      System.out.println(e);
View Full Code Here

Examples of lupos.engine.operators.tripleoperator.TriplePattern

      // do reification of blank nodes!
      final GraphResult gr = new GraphResult();
      for(Bindings b: qr){
        Collection<TriplePattern> ctp_new = new LinkedList<TriplePattern>();
        for(TriplePattern tp: ctp){
          TriplePattern tp_new=new TriplePattern(reificate(tp.getItems()[0]), reificate(tp.getItems()[1]), reificate(tp.getItems()[2]));
          ctp_new.add(tp_new);
        }
        gr.setTemplate(ctp_new);
        gr.add(b);
        id++;
View Full Code Here

Examples of lupos.engine.operators.tripleoperator.TriplePattern

                    final List<TriplePattern> listTps = determineTriplePatterns(
                        basicOperator,
                        new LinkedList<TriplePattern>(),
                        new HashSet<BasicOperator>());
                    if (listTps.size() > 0) {
                      final TriplePattern tp = listTps.get(0);
                      int current = 0;
                      for (final OperatorIDTuple oid : root
                          .getSucceedingOperators()) {
                        if (oid.getOperator() instanceof BasicIndexScan) {
                          if (((BasicIndexScan) oid.getOperator())
                              .getTriplePattern()
                              .contains(tp)) {
                            if (min == -1 || min > current) {
                              min = current;
                              minIndex = i;
                            }
                          }
                        }
                        current++;
                      }
                    }
                    i++;
                  }
                  if (minIndex > -1) {
                    final BasicOperator bo = basicOperator.getPrecedingOperators().get(minIndex);
                    if (bo != null && bo.getSucceedingOperators().size()==1) {
                      if (!this.severalTimesQueryResults(bo, new HashSet<BasicOperator>())) {
                        List<TriplePattern> tpsOfOthers = null;
                        for (final BasicOperator others : basicOperator
                            .getPrecedingOperators()) {
                          if (!others.equals(bo)) {
                            if (tpsOfOthers == null) {
                              tpsOfOthers = determineTriplePatterns(
                                  others,
                                  new LinkedList<TriplePattern>(),
                                  new HashSet<BasicOperator>());
                            } else {
                              tpsOfOthers
                              .addAll(determineTriplePatterns(
                                  others,
                                  new LinkedList<TriplePattern>(),
                                  new HashSet<BasicOperator>()));
                            }
                          }
                        }
                        this.tpsOfSucceedingJoins(basicOperator, tpsOfOthers);
                        if (tpsOfOthers != null) {
                          final SIPFilterOperator sip_op = (replacements
                              .get(Join.class) == HashMapIndexJoin.class) ? new SIPFilterOperatorIterator(
                                  tpsOfOthers,
                                  basicOperator
                                  .getIntersectionVariables())

                          : new SIPFilterOperator(tpsOfOthers, basicOperator.getIntersectionVariables());

                          final List<Variable> intersectionVariables = new LinkedList<Variable>();
                          final List<Variable> unionVariables = new LinkedList<Variable>();
                          intersectionVariables.addAll(bo.getIntersectionVariables());
                          unionVariables.addAll(bo.getUnionVariables());
                          sip_op.setIntersectionVariables(intersectionVariables);
                          sip_op.setUnionVariables(unionVariables);
                          sip_op.addSucceedingOperators(bo.getSucceedingOperators());
                          sip_op.setPrecedingOperator(bo);
                          bo.setSucceedingOperator(new OperatorIDTuple(sip_op, 0));
                          basicOperator.removePrecedingOperator(bo);
                          basicOperator.addPrecedingOperator(sip_op);
                        }
                      }
                    }
                  }
                }
              }
            } else if (basicOperator.getClass() == Optional.class) {
              // root.deleteParents();
              // root.setParents();
              // root.detectCycles();
              // root.sendMessage(new BoundVariablesMessage());

              // check if MergeWithoutSortingOptional can be used
              boolean flag = true;
              if (basicOperator.getIntersectionVariables().size() > 0) {
                for (final BasicOperator bo : basicOperator
                    .getPrecedingOperators()) {
                  flag = flag
                  && operatorCanReceiveSortedData(
                      bo,
                      basicOperator
                      .getIntersectionVariables());
                }
              } else {
                flag = false;
              }
              if (flag) {
                final LinkedList<BasicOperator> llbo = new LinkedList<BasicOperator>();
                llbo.addAll(basicOperator.getPrecedingOperators());
                for (final BasicOperator bo : llbo) {
                  operatorMustReceiveSortedData(root, bo,
                      basicOperator.getIntersectionVariables());
                }
                final BasicOperator newOperator = new MergeWithoutSortingOptional();
                newOperator.cloneFrom(basicOperator);
                basicOperator.replaceWith(newOperator);
                return newOperator;
              }
            } else if (basicOperator instanceof FastSort) {
              if (basicOperator.getPrecedingOperators().size() == 1
                  && !(basicOperator.getPrecedingOperators().get(0) instanceof SIPFilterOperator)
                      && basicOperator.getSucceedingOperators().size() == 1) {
                if (basicOperator.getSucceedingOperators().get(0)
                    .getOperator() instanceof Join) {
                  final Join join = (Join) basicOperator
                  .getSucceedingOperators().get(0)
                  .getOperator();
                  int min = -1;
                  int minIndex = -1;
                  int i = 0;
                  for (final BasicOperator bo : join
                      .getPrecedingOperators()) {
                    final TriplePattern tp = determineTriplePatterns(
                        join,
                        new LinkedList<TriplePattern>(),
                        new HashSet<BasicOperator>())
                        .get(0);
                    int current = 0;
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.