Package lupos.datastructures.items

Examples of lupos.datastructures.items.Triple


      private Bindings computeNext() {
        while (itt.hasNext()) {
          // also consider inner joins in triple patterns like ?a ?a
          // ?b.
          final Triple t = itt.next();
          if (t != null) {
            final Bindings znext = tp.process(t, false);
            if (znext != null) {
              return znext;
            }
          }
        }
        return null;
      }

      private Bindings computeNext(final Bindings k) {
        if (!(itt instanceof SIPParallelIterator)) {
          return this.computeNext();
        }
        final TripleKey key = tp.getKey(k, order);
        while (itt.hasNext()) {
          // also consider inner joins in triple patterns like ?a ?a
          // ?b.
          final Triple t = ((SIPParallelIterator<Triple, TripleKey>) itt)
              .next(key);
          if (t != null) {
            final Bindings znext = tp.process(t, false);
            if (znext != null) {
              return znext;
View Full Code Here


        .getSubject().originalString());
    final PlainStringLiteral predicate = new PlainStringLiteral(triple
        .getPredicate().originalString());
    final PlainStringLiteral object = new PlainStringLiteral(triple
        .getObject().originalString());
    return new Triple(subject, predicate, object);
  }
View Full Code Here

  protected void addConstantTriples() {
    for (final TriplePattern tp : template) {
      if (!tp.getPos(0).isVariable() && !tp.getPos(1).isVariable()
          && !tp.getPos(2).isVariable())
        triples.add(new Triple((Literal) tp.getPos(0), (Literal) tp
            .getPos(1), (Literal) tp.getPos(2)));
    }
  }
View Full Code Here

  @Override
  public boolean add(final Bindings bindings) {
    final HashMap<BlankNode, AnonymousLiteral> assignedBlankNodes = new HashMap<BlankNode, AnonymousLiteral>();
    if (template != null) {
      for (final TriplePattern tp : template) {
        final Triple trip = new Triple();
        for (int i = 0; i < 3; i++) {
          if (tp.getPos(i) instanceof BlankNode) {
            final BlankNode bn = (BlankNode) tp.getPos(i);
            AnonymousLiteral al = assignedBlankNodes.get(bn);
            if (al == null) {
              do {
                al = new AnonymousLiteral("_:_constructedBN"
                    + bnodeid++);
              } while (alreadyUsedBlankNodes.contains(al));
              assignedBlankNodes.put(bn, al);
            }
            trip.setPos(i, al);
          } else
            trip.setPos(i, tp.getPos(i).getLiteral(bindings));
        }
        if (trip.getPos(0) != null && trip.getPos(1) != null
            && trip.getPos(2) != null)
          triples.add(trip);
      }
    }
    return super.add(bindings);
  }
View Full Code Here

            numberDistinctPredicatesSize + 1, in);
        final int numberDistinctObjects = getInt(
            numberDistinctObjectsSize + 1, in);
        return new Tuple<TripleKey, Integer>(null, fileName);
      }
      final Triple lastTriple = (lastKey == null) ? null : lastKey
          .getTriple();

      final boolean objectIsLazyLiteralOriginalContent = bits.get(1);
      int whereDifferentLiteral = 0;
      if (bits.get(2)) {
        whereDifferentLiteral = 2;
      }
      if (bits.get(3)) {
        whereDifferentLiteral += 1;
      }
      final int numberDifferent = (whereDifferentLiteral == 3) ? 3
          : 3 - whereDifferentLiteral;
      final int[] numberBytesForInt = new int[numberDifferent];

      int index = 7;
      for (int i = 0; i < numberDifferent; i++) {
        numberBytesForInt[i] = getIntSize(bits, index, in);
        index = (index + 2) % 8;
      }
      int codeForOriginalContent = 0;
      int originalContentSize = 0;
      if (objectIsLazyLiteralOriginalContent) {
        originalContentSize = getIntSize(bits, index, in);
        index = (index + 2) % 8;
      }

      final int filenameSize = getIntSize(bits, index, in);
      index = (index + 2) % 8;
      final int numberOfTriplesSize = getIntSize(bits, index, in);
      index = (index + 2) % 8;
      final int numberDistinctSubjectsSize = getIntSize(bits, index, in);
      index = (index + 2) % 8;
      final int numberDistinctPredicatesSize = getIntSize(bits, index, in);
      index = (index + 2) % 8;
      final int numberDistinctObjectsSize = getIntSize(bits, index, in);
      index = (index + 2) % 8;
      final int fileName = getInt(filenameSize + 1, in);
      final int numberOfTriples = getInt(numberOfTriplesSize + 1, in);
      final int numberDistinctSubjects = getInt(
          numberDistinctSubjectsSize + 1, in);
      final int numberDistinctPredicates = getInt(
          numberDistinctPredicatesSize + 1, in);
      final int numberDistinctObjects = getInt(
          numberDistinctObjectsSize + 1, in);

      if (objectIsLazyLiteralOriginalContent) {
        codeForOriginalContent = getInt(originalContentSize + 1, in);
      }

      final Triple t = new Triple();
      int index2 = 0;
      for (int i = 0; i < 3; i++) {
        if (i < whereDifferentLiteral && whereDifferentLiteral != 3) {
          t.setPos(map[this.order.ordinal()][i], lastTriple
              .getPos(map[this.order.ordinal()][i]));
        } else {
          if (whereDifferentLiteral != 3) {
            final int diff = getInt(
                numberBytesForInt[index2++] + 1, in);
            t.setPos(map[this.order.ordinal()][i], getLiteral(diff
                + ((LazyLiteral) lastTriple.getPos(map[this.order
                    .ordinal()][i])).getCode(), map[this.order
                .ordinal()][i], codeForOriginalContent,
                objectIsLazyLiteralOriginalContent));
          }
          for (int j = i + ((whereDifferentLiteral != 3) ? 1 : 0); j < 3; j++) {
            final int code = getInt(
                numberBytesForInt[index2++] + 1, in);
            t.setPos(map[this.order.ordinal()][j], getLiteral(code,
                map[this.order.ordinal()][j],
                codeForOriginalContent,
                objectIsLazyLiteralOriginalContent));
          }
          break;
View Full Code Here

TOP

Related Classes of lupos.datastructures.items.Triple

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.