Search in sources :

Example 6 with Pair

use of org.apache.jena.atlas.lib.Pair in project jena by apache.

the class TestTransRestart method countRDFNodes.

// Only call when the dataset is not in TDBMaker or in StoreConnection  
private int countRDFNodes() {
    ObjectFile objects = FileFactory.createObjectFileDisk(location.getPath(Names.indexId2Node, Names.extNodeData));
    int count = 0;
    Iterator<Pair<Long, ByteBuffer>> iter = objects.all();
    while (iter.hasNext()) {
        iter.next();
        count++;
    }
    objects.close();
    return count;
}
Also used : ObjectFile(org.apache.jena.tdb.base.objectfile.ObjectFile) Pair(org.apache.jena.atlas.lib.Pair)

Example 7 with Pair

use of org.apache.jena.atlas.lib.Pair in project jena by apache.

the class dumpnodetable method dump.

public static void dump(OutputStream w, NodeTable nodeTable) {
    // Better to hack the indexes?
    Iterator<Pair<NodeId, Node>> iter = nodeTable.all();
    long count = 0;
    try (IndentedWriter iw = new IndentedWriter(w)) {
        for (; iter.hasNext(); ) {
            Pair<NodeId, Node> pair = iter.next();
            iw.print(pair.car().toString());
            iw.print(" : ");
            // iw.print(pair.cdr()) ;
            Node n = pair.cdr();
            String $ = stringForNode(n);
            iw.print($);
            iw.println();
            count++;
        }
        iw.println();
        iw.printf("Total: " + count);
        iw.println();
        iw.flush();
    }
}
Also used : IndentedWriter(org.apache.jena.atlas.io.IndentedWriter) Node(org.apache.jena.graph.Node) NodeId(org.apache.jena.tdb.store.NodeId) Pair(org.apache.jena.atlas.lib.Pair)

Example 8 with Pair

use of org.apache.jena.atlas.lib.Pair in project jena by apache.

the class BPlusTreeRewriter method writePackedDataBlocks.

// **** data block phase
/** Pack record blocks into linked RecordBufferPages */
private static Iterator<Pair<Integer, Record>> writePackedDataBlocks(Iterator<Record> records, final BPlusTree bpt) {
    if (debug) {
        divider();
        System.out.println("---- Data level");
    }
    final RecordBufferPageMgr mgr = bpt.getRecordsMgr().getRecordBufferPageMgr();
    Iterator<RecordBufferPage> iter = new RecordBufferPageLinker(new RecordBufferPagePacker(records, mgr));
    Function<RecordBufferPage, Pair<Integer, Record>> transform = rbp -> {
        mgr.put(rbp);
        Record r = rbp.getRecordBuffer().getHigh();
        r = bpt.getRecordFactory().createKeyOnly(r);
        return new Pair<>(rbp.getId(), r);
    };
    // Write and convert to split pairs.
    Iterator<Pair<Integer, Record>> iter2 = Iter.map(iter, transform);
    if (debug) {
        if (rebalance)
            System.out.println("Before rebalance (data)");
        iter2 = summarizeDataBlocks(iter2, bpt.getRecordsMgr().getRecordBufferPageMgr());
    //iter2 = printDataBlocks(iter2, bpt.getRecordsMgr().getRecordBufferPageMgr()) ;
    }
    if (rebalance)
        iter2 = new RebalenceDataEnd(iter2, bpt);
    // Testing - materialize - debug wil have done this
    if (materialize && !debug)
        iter2 = Iter.toList(iter2).iterator();
    if (debug && rebalance) {
        System.out.println("After rebalance (data)");
        iter2 = summarizeDataBlocks(iter2, bpt.getRecordsMgr().getRecordBufferPageMgr());
    //iter2 = printDataBlocks(iter2, bpt.getRecordsMgr().getRecordBufferPageMgr()) ;
    }
    return iter2;
}
Also used : IteratorWithBuffer(org.apache.jena.atlas.iterator.IteratorWithBuffer) Record(org.apache.jena.tdb.base.record.Record) Logger(org.slf4j.Logger) Iterator(java.util.Iterator) LoggerFactory(org.slf4j.LoggerFactory) BPlusTreeRewriterUtils.summarizeDataBlocks(org.apache.jena.tdb.index.bplustree.BPlusTreeRewriterUtils.summarizeDataBlocks) RecordFactory(org.apache.jena.tdb.base.record.RecordFactory) Function(java.util.function.Function) BlockMgr(org.apache.jena.tdb.base.block.BlockMgr) BPlusTreeRewriterUtils.printIndexBlocks(org.apache.jena.tdb.index.bplustree.BPlusTreeRewriterUtils.printIndexBlocks) BPlusTreeRewriterUtils.divider(org.apache.jena.tdb.index.bplustree.BPlusTreeRewriterUtils.divider) RecordBufferPageMgr(org.apache.jena.tdb.base.recordbuffer.RecordBufferPageMgr) Pair(org.apache.jena.atlas.lib.Pair) RecordBuffer(org.apache.jena.tdb.base.buffer.RecordBuffer) Iter(org.apache.jena.atlas.iterator.Iter) PtrBuffer(org.apache.jena.tdb.base.buffer.PtrBuffer) RecordBufferPage(org.apache.jena.tdb.base.recordbuffer.RecordBufferPage) RecordBufferPageMgr(org.apache.jena.tdb.base.recordbuffer.RecordBufferPageMgr) Record(org.apache.jena.tdb.base.record.Record) RecordBufferPage(org.apache.jena.tdb.base.recordbuffer.RecordBufferPage) Pair(org.apache.jena.atlas.lib.Pair)

Example 9 with Pair

use of org.apache.jena.atlas.lib.Pair in project jena by apache.

the class BPlusTreeRewriterUtils method printDataBlocks.

private static Iterator<Pair<Integer, Record>> printDataBlocks(Iterator<Pair<Integer, Record>> iter, RecordBufferPageMgr recordPageMgr) {
    divider();
    List<Pair<Integer, Record>> x = Iter.toList(iter);
    System.out.printf(">>Packed data blocks\n");
    for (Pair<Integer, Record> pair : x) {
        System.out.printf("  %s\n", pair);
        RecordBufferPage rbp = recordPageMgr.getRead(pair.car());
        //System.out.printf("RecordBufferPage[id=%d,link=%d] %d\n", rbp.getId(), rbp.getLink(), rbp.getCount() ) ;
        System.out.println(rbp);
        recordPageMgr.release(rbp);
    }
    System.out.printf("<<Packed data blocks\n");
    System.out.printf("Blocks: %d\n", x.size());
    return x.iterator();
}
Also used : Record(org.apache.jena.tdb.base.record.Record) Pair(org.apache.jena.atlas.lib.Pair) RecordBufferPage(org.apache.jena.tdb.base.recordbuffer.RecordBufferPage)

Example 10 with Pair

use of org.apache.jena.atlas.lib.Pair in project jena by apache.

the class BPlusTreeRewriterUtils method summarizeDataBlocks.

static Iterator<Pair<Integer, Record>> summarizeDataBlocks(Iterator<Pair<Integer, Record>> iter, RecordBufferPageMgr recordPageMgr) {
    divider();
    List<Pair<Integer, Record>> x = Iter.toList(iter);
    for (Pair<Integer, Record> pair : x) {
        RecordBufferPage rbp = recordPageMgr.getRead(pair.car());
        System.out.printf("%s -- RecordBufferPage[id=%d,link=%d] (%d) -> [%s]\n", pair, rbp.getId(), rbp.getLink(), rbp.getCount(), rbp.getRecordBuffer().getHigh());
        recordPageMgr.release(rbp);
    }
    return x.iterator();
}
Also used : Record(org.apache.jena.tdb.base.record.Record) Pair(org.apache.jena.atlas.lib.Pair) RecordBufferPage(org.apache.jena.tdb.base.recordbuffer.RecordBufferPage)

Aggregations

Pair (org.apache.jena.atlas.lib.Pair)19 Var (org.apache.jena.sparql.core.Var)9 VarExprList (org.apache.jena.sparql.core.VarExprList)8 ArrayList (java.util.ArrayList)7 Node (org.apache.jena.graph.Node)6 NodeId (org.apache.jena.tdb.store.NodeId)5 Record (org.apache.jena.tdb.base.record.Record)4 List (java.util.List)3 Op (org.apache.jena.sparql.algebra.Op)3 RecordBufferPage (org.apache.jena.tdb.base.recordbuffer.RecordBufferPage)3 ByteBuffer (java.nio.ByteBuffer)2 Iterator (java.util.Iterator)1 Function (java.util.function.Function)1 IndentedWriter (org.apache.jena.atlas.io.IndentedWriter)1 Iter (org.apache.jena.atlas.iterator.Iter)1 IteratorDelayedInitialization (org.apache.jena.atlas.iterator.IteratorDelayedInitialization)1 IteratorWithBuffer (org.apache.jena.atlas.iterator.IteratorWithBuffer)1 Binding (org.apache.jena.sparql.engine.binding.Binding)1 BindingMap (org.apache.jena.sparql.engine.binding.BindingMap)1 ExprAggregator (org.apache.jena.sparql.expr.ExprAggregator)1