@Override public boolean isEmpty() { return ! contains(Node.ANY, Node.ANY, Node.ANY, Node.ANY) ; }
protected static Iterator<Quad> triples2quadsDftGraph(Iterator<Triple> iter) { //return triples2quads(Quad.defaultGraphIRI, iter) ; return triples2quads(Quad.defaultGraphNodeGenerated, iter) ; //return triples2quads(Quad.tripleInQuad, iter) ; }
@Override public Iterator<Quad> find() { return find(Node.ANY, Node.ANY, Node.ANY, Node.ANY) ; }
public static Iterator<Quad> findInSpecificNamedGraph(DatasetGraphCaching dsg, Node g, Node s, Node p, Node o) { return triples2quadsDftGraph(dsg.getGraph(g).find(s, p, o)) ; } }
@Override public void delete(Node g, Node s, Node p, Node o) { delete(new Quad(g,s,p,o)) ; }
@Override public void add(Node g, Node s, Node p, Node o) { add(new Quad(g,s,p,o)) ; } @Override
public Iterator<Quad> find() { return find(Node.ANY, Node.ANY, Node.ANY, Node.ANY) ; }
public static Iterator<Quad> findInDftGraph(DatasetGraphCaching dsg, Node s, Node p, Node o) { return triples2quadsDftGraph(dsg.getDefaultGraph().find(s, p, o)) ; }
@Override /** Simple implementation but done without assuming iterator.remove() */ public void deleteAny(Node g, Node s, Node p, Node o) { // Delete in slices rather than assume .remove() on the iterator is implemented. // We keep executing find(g, s, p, o) until we don't get a full slice. Quad[] buffer = new Quad[DeleteBufferSize] ; while(true) { Iterator<Quad> iter = find(g, s, p, o) ; // Get a slice int len = 0 ; for (; len < DeleteBufferSize; len++) { if ( !iter.hasNext() ) break ; buffer[len] = iter.next() ; } // Delete them. for (int i = 0; i < len; i++) { delete(buffer[i]) ; buffer[i] = null ; } // Finished? if ( len < DeleteBufferSize ) break ; } }
public boolean isEmpty() { return ! contains(Node.ANY, Node.ANY, Node.ANY, Node.ANY) ; }
public boolean contains(Node g, Node s, Node p , Node o) { Iterator<Quad> iter = find(g, s, p, o) ; boolean b = iter.hasNext() ; Iter.close(iter) ; return b ; }
public static Iterator<Quad> findInSpecificNamedGraph(DatasetGraphCaching dsg, Node g, Node s, Node p, Node o) { return triples2quadsDftGraph(dsg.getGraph(g).find(s, p, o)) ; } }
protected static Iterator<Quad> triples2quadsDftGraph(Iterator<Triple> iter) { //return triples2quads(Quad.defaultGraphIRI, iter) ; return triples2quads(Quad.defaultGraphNodeGenerated, iter) ; //return triples2quads(Quad.tripleInQuad, iter) ; }
public boolean containsGraph(Node graphNode) { return contains(graphNode, Node.ANY, Node.ANY, Node.ANY) ; }
@Override public boolean contains(Node g, Node s, Node p , Node o) { Iterator<Quad> iter = find(g, s, p, o) ; boolean b = iter.hasNext() ; Iter.close(iter) ; return b ; }
public static Iterator<Quad> findInDftGraph(DatasetGraphCaching dsg, Node s, Node p, Node o) { return triples2quadsDftGraph(dsg.getDefaultGraph().find(s, p, o)) ; }
@Override public boolean containsGraph(Node graphNode) { return contains(graphNode, Node.ANY, Node.ANY, Node.ANY) ; }
@Override public boolean contains(Quad quad) { return contains(quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject()) ; }