@Override public NodeTable getNodeTable() { return nodeTupleTable.getNodeTable() ; }
@Override public Iterator<Tuple<NodeId>> find(NodeId... ids) { return nodeTupleTable.find(ids) ; }
@Override public Iterator<Tuple<NodeId>> findAll() { return nodeTupleTable.findAll() ; }
/** Find matching triples */ public Iterator<Triple> find(Node s, Node p, Node o) { Iterator<Tuple<NodeId>> iter = table.findAsNodeIds(s, p, o) ; if ( iter == null ) return new NullIterator<>() ; Iterator<Triple> iter2 = TupleLib.convertToTriples(table.getNodeTable(), iter) ; return iter2 ; }
public static StatsResults stats(DatasetGraphTDB dsg, Node gn) NodeTable nt = dsg.getTripleTable().getNodeTupleTable().getNodeTable() ; StatsCollectorNodeId stats = new StatsCollectorNodeId(nt) ; Iterator<Tuple<NodeId>> iter = dsg.getTripleTable().getNodeTupleTable().findAll() ; for ( ; iter.hasNext(); ) Iterator<Tuple<NodeId>> iter = unionGraph ? SolverLib.unionGraph(ntt) : ntt.find(gnid, null, null, null) ; for ( ; iter.hasNext(); )
/** Find all the graph names in the quads table. */ public static QueryIterator graphNames(DatasetGraphTDB ds, Node graphNode, QueryIterator input, Predicate<Tuple<NodeId>> filter, ExecutionContext execCxt) { List<Abortable> killList = new ArrayList<>() ; Iterator<Tuple<NodeId>> iter1 = ds.getQuadTable().getNodeTupleTable().find(NodeId.NodeIdAny, NodeId.NodeIdAny, NodeId.NodeIdAny, NodeId.NodeIdAny) ; if ( filter != null ) iter1 = Iter.filter(iter1, filter) ; Iterator<NodeId> iter2 = Iter.map(iter1, (t) -> t.get(0)) ; iter2 = makeAbortable(iter2, killList) ; Iterator<NodeId> iter3 = Iter.distinct(iter2) ; iter3 = makeAbortable(iter3, killList) ; Iterator<Node> iter4 = NodeLib.nodes(ds.getQuadTable().getNodeTupleTable().getNodeTable(), iter3) ; final Var var = Var.alloc(graphNode) ; Iterator<Binding> iterBinding = Iter.map(iter4, node -> BindingFactory.binding(var, node)) ; // Not abortable. return new QueryIterTDB(iterBinding, killList, input, execCxt) ; }
@Override public Iterator<Node> listGraphNodes() { Iterator<Tuple<NodeId>> x = quadTable.getNodeTupleTable().findAll() ; Iterator<NodeId> z = Iter.iter(x).map(t -> t.get(0)).distinct() ; return NodeLib.nodes(quadTable.getNodeTupleTable().getNodeTable(), z) ; }
NodeTupleTable nodeTupleTableQuads = dsg.getQuadTable().getNodeTupleTable() ; if ( nodeTupleTableTriples.getNodeTable() != nodeTupleTableQuads.getNodeTable() ) throw new TDBException("Different node tables for triples and quads") ; NodeTable nodeTable = nodeTupleTableTriples.getNodeTable() ; dumpNodeTable(nodeTupleTableTriples.getNodeTable(), dumpedNodeTables) ; dumpNodeTable(nodeTupleTableQuads.getNodeTable(), dumpedNodeTables) ; dumpNodeTupleTable(nodeTupleTableTriples.getTupleTable()) ; System.out.print("## Quad Table\n") ; dumpNodeTupleTable(nodeTupleTableQuads.getTupleTable()) ; dumpTupleIndexes(nodeTupleTableTriples.getTupleTable().getIndexes()) ; dumpTupleIndexes(nodeTupleTableQuads.getTupleTable().getIndexes()) ; if ( ! dumpedNodeTables.contains(pntt.getNodeTable())) dumpNodeTable(pntt.getNodeTable(), dumpedNodeTables) ; dumpedNodeTables.add(pntt.getNodeTable()) ; dumpTupleIndexes(prefixes.getNodeTupleTable().getTupleTable().getIndexes()) ;
/** Remove by pattern */ private synchronized void removeAll(Node g, Node p, Node uri) { Iterator<Tuple<Node>> iter = nodeTupleTable.find(g, p, uri) ; List<Tuple<Node>> list = Iter.toList(iter) ; // Materialize. Iter.close(iter) ; for ( Tuple<Node> tuple : list ) nodeTupleTable.deleteRow(tuple.get(0), tuple.get(1), tuple.get(2)) ; }
/** Add a quad - return true if it was added, false if it already existed */ public boolean add(Node g, Node s, Node p, Node o) { return table.addRow(g,s,p,o) ; }
/** Delete a quad - return true if it was deleted, false if it didn't exist */ public boolean delete(Node g, Node s, Node p, Node o) { return table.deleteRow(g, s, p, o) ; }
@Override public void close() { nodeTupleTable.close() ; } }
/** Clear - does not clear the associated node tuple table */ public void clearTriples() { table.clear() ; } }
public static StatsResults stats(DatasetGraphTDB dsg, Node gn) NodeTable nt = dsg.getTripleTable().getNodeTupleTable().getNodeTable() ; StatsCollectorNodeId stats = new StatsCollectorNodeId(nt) ; Iterator<Tuple<NodeId>> iter = dsg.getTripleTable().getNodeTupleTable().findAll() ; for ( ; iter.hasNext(); ) Iterator<Tuple<NodeId>> iter = unionGraph ? SolverLib.unionGraph(ntt) : ntt.find(gnid, null, null, null) ; for ( ; iter.hasNext(); )
boolean b = prepare(nodeTupleTable.getNodeTable(), patternTuple, input, ids, var) ; if ( !b ) return Iter.nullIterator() ; Iterator<Tuple<NodeId>> iterMatches = nodeTupleTable.find(asTuple(ids)) ;
/** Find matching quads */ public Iterator<Quad> find(Node g, Node s, Node p, Node o) { Iterator<Tuple<NodeId>> iter = table.findAsNodeIds(g, s, p, o) ; if ( iter == null ) return new NullIterator<>() ; Iterator<Quad> iter2 = TupleLib.convertToQuads(table.getNodeTable(), iter) ; return iter2 ; }
boolean anyGraph = (graphNode==null ? false : (Node.ANY.equals(graphNode))) ; int tupleLen = nodeTupleTable.getTupleTable().getTupleLen() ; if ( graphNode == null ) { if ( 3 != tupleLen ) NodeTable nodeTable = nodeTupleTable.getNodeTable() ;
public boolean add(Node s, Node p, Node o) { return table.addRow(s, p, o) ; }
/** Delete a triple - return true if it was deleted, false if it didn't exist */ public boolean delete(Node s, Node p, Node o) { return table.deleteRow(s, p, o) ; }
@Override public void close() { nodeTupleTable.close() ; }