Search in sources :

Example 1 with StatsCollectorNodeId

use of org.apache.jena.tdb2.solver.stats.StatsCollectorNodeId in project jena by apache.

the class tdbstats method stats$.

private static StatsResults stats$(DatasetGraphTDB dsg, Node gn) {
    NodeTable nt = dsg.getTripleTable().getNodeTupleTable().getNodeTable();
    StatsCollectorNodeId stats = new StatsCollectorNodeId(nt);
    if (gn == null) {
        Iterator<Tuple<NodeId>> iter = dsg.getTripleTable().getNodeTupleTable().findAll();
        for (; iter.hasNext(); ) {
            Tuple<NodeId> t = iter.next();
            stats.record(null, t.get(0), t.get(1), t.get(2));
        }
    } else {
        // If the union graph, then we need to scan all quads but with uniqueness.
        boolean unionGraph = Quad.isUnionGraph(gn);
        NodeId gnid = null;
        if (!unionGraph) {
            gnid = nt.getNodeIdForNode(gn);
            if (NodeId.isDoesNotExist(gnid))
                Log.warn(tdbstats.class, "No such graph: " + gn);
        }
        NodeTupleTable ntt = dsg.getQuadTable().getNodeTupleTable();
        Iterator<Tuple<NodeId>> iter = unionGraph ? SolverLibTDB.unionGraph(ntt) : ntt.find(gnid, null, null, null);
        for (; iter.hasNext(); ) {
            Tuple<NodeId> t = iter.next();
            stats.record(t.get(0), t.get(1), t.get(2), t.get(3));
        }
    }
    return stats.results();
}
Also used : NodeTupleTable(org.apache.jena.tdb2.store.nodetupletable.NodeTupleTable) NodeId(org.apache.jena.tdb2.store.NodeId) StatsCollectorNodeId(org.apache.jena.tdb2.solver.stats.StatsCollectorNodeId) NodeTable(org.apache.jena.tdb2.store.nodetable.NodeTable) Tuple(org.apache.jena.atlas.lib.tuple.Tuple) StatsCollectorNodeId(org.apache.jena.tdb2.solver.stats.StatsCollectorNodeId)

Example 2 with StatsCollectorNodeId

use of org.apache.jena.tdb2.solver.stats.StatsCollectorNodeId in project jena by apache.

the class TestStats method statsForDftGraph.

private StatsResults statsForDftGraph() {
    // StatsCollectorNodeId writes nodes for rdf:type (this is not good).
    return Txn.calculateWrite(dsg, () -> {
        Iterator<Tuple<NodeId>> iter = triples.findAll();
        StatsCollectorNodeId stats = new StatsCollectorNodeId(nt);
        for (; iter.hasNext(); ) {
            Tuple<NodeId> t = iter.next();
            stats.record(null, t.get(0), t.get(1), t.get(2));
        }
        return stats.results();
    });
}
Also used : NodeId(org.apache.jena.tdb2.store.NodeId) StatsCollectorNodeId(org.apache.jena.tdb2.solver.stats.StatsCollectorNodeId) Tuple(org.apache.jena.atlas.lib.tuple.Tuple) StatsCollectorNodeId(org.apache.jena.tdb2.solver.stats.StatsCollectorNodeId)

Example 3 with StatsCollectorNodeId

use of org.apache.jena.tdb2.solver.stats.StatsCollectorNodeId in project jena by apache.

the class TestStats method statsForGraph.

private StatsResults statsForGraph(NodeId gid) {
    // StatsCollectorNodeId writes nodes for rdf:type (this is not good).
    return Txn.calculateWrite(dsg, () -> {
        Iterator<Tuple<NodeId>> iter = quads.find(gid, null, null, null);
        StatsCollectorNodeId stats = new StatsCollectorNodeId(nt);
        for (; iter.hasNext(); ) {
            Tuple<NodeId> t = iter.next();
            stats.record(t.get(0), t.get(1), t.get(2), t.get(3));
        }
        return stats.results();
    });
}
Also used : NodeId(org.apache.jena.tdb2.store.NodeId) StatsCollectorNodeId(org.apache.jena.tdb2.solver.stats.StatsCollectorNodeId) Tuple(org.apache.jena.atlas.lib.tuple.Tuple) StatsCollectorNodeId(org.apache.jena.tdb2.solver.stats.StatsCollectorNodeId)

Aggregations

Tuple (org.apache.jena.atlas.lib.tuple.Tuple)3 StatsCollectorNodeId (org.apache.jena.tdb2.solver.stats.StatsCollectorNodeId)3 NodeId (org.apache.jena.tdb2.store.NodeId)3 NodeTable (org.apache.jena.tdb2.store.nodetable.NodeTable)1 NodeTupleTable (org.apache.jena.tdb2.store.nodetupletable.NodeTupleTable)1