@Override protected Iter<Quad> findInSpecificNamedGraph(Node g, Node s, Node p , Node o) { Graph graph = fetchGraph(g) ; if ( g == null ) return Iter.nullIter() ; return triples2quads(g, graph.find(s, p, o)) ; }
@Override protected Iterator<Quad> findInAnyNamedGraphs(Node s, Node p, Node o) { Iterator<Node> gnames = listGraphNodes() ; Iterator<Quad> iter = null ; // Named graphs for ( ; gnames.hasNext() ; ) { Node gn = gnames.next(); Iterator<Quad> qIter = findInSpecificNamedGraph(gn, s, p, o) ; if ( qIter != null ) // copes with null for iter iter = Iter.append(iter, qIter) ; } return iter ; }
@Override protected Iterator<Quad> findInDftGraph(Node s, Node p , Node o) { return triples2quadsDftGraph(getDefaultGraph().find(s, p, o)) ; }
protected Graph fetchGraph(Node gn) { if ( Quad.isDefaultGraph(gn) ) return getDefaultGraph() ; else return getGraph(gn) ; } }
@Override public void add(Quad quad) { Graph g = fetchGraph(quad.getGraph()) ; if ( g == null ) System.err.println("null graph") ; g.add(quad.asTriple()) ; }
@Override public void close() { defaultGraph.close(); for ( Graph graph : graphs.values() ) graph.close(); super.close() ; } }
protected Graph fetchGraph(Node gn) { if ( Quad.isDefaultGraph(gn) || Lib.equal(gn,Quad.tripleInQuad)) // Not preferred style return getDefaultGraph() ; else return getGraph(gn) ; } }
@Override public void delete(Quad quad) { Graph g = fetchGraph(quad.getGraph()) ; g.delete(quad.asTriple()) ; }
@Override public void close() { defaultGraph.close(); for ( Graph graph : graphs.values() ) graph.close(); super.close() ; } }
@Override protected Iter<Quad> findInSpecificNamedGraph(Node g, Node s, Node p , Node o) { Graph graph = fetchGraph(g) ; if ( g == null ) return Iter.nullIter() ; return triples2quads(g, graph.find(s, p, o)) ; }
@Override protected Iterator<Quad> findInDftGraph(Node s, Node p , Node o) { return triples2quadsDftGraph(getDefaultGraph().find(s, p, o)) ; }
@Override protected Iterator<Quad> findInAnyNamedGraphs(Node s, Node p, Node o) { Iterator<Node> gnames = listGraphNodes() ; Iterator<Quad> iter = null ; // Named graphs for ( ; gnames.hasNext() ; ) { Node gn = gnames.next(); Iterator<Quad> qIter = findInSpecificNamedGraph(gn, s, p, o) ; if ( qIter != null ) // copes with null for iter iter = Iter.append(iter, qIter) ; } return iter ; }
@Override public void delete(Quad quad) { Graph g = fetchGraph(quad.getGraph()) ; if ( g == null ) throw new JenaException("No such graph: "+quad.getGraph()) ; g.delete(quad.asTriple()) ; }
@Override public void add(Quad quad) { Graph g = fetchGraph(quad.getGraph()) ; if ( g == null ) throw new JenaException("No such graph: "+quad.getGraph()) ; g.add(quad.asTriple()) ; }