public Iterator<Quad> find(Node g, Node s, Node p, Node o) { return dsg.find(g, s, p, o) ; }
public Iterator<Quad> find() { return dsg.find() ; }
public Iterator<Quad> find(Quad quad) { return dsg.find(quad) ; }
@Override public Iterator<Quad> find(Quad quad) { return get().find(quad) ; }
@Override public void write(OutputStream out, DatasetGraph dataset, PrefixMap prefixMap, String baseURI, Context context) { write(out, dataset.find(null, null, null, null), this.charSpace) ; } }
@Override public void write(Writer out, DatasetGraph dataset, PrefixMap prefixMap, String baseURI, Context context) { write(out, dataset.find(null, null, null, null), this.charSpace) ; }
@Override public Iterator<Quad> find(Quad quad) { return get().find(quad) ; }
@Override public Iterator<Quad> find(Node g, Node s, Node p, Node o) { return get().find(g, s, p, o) ; }
@Override public Iterator<Quad> find(Node g, Node s, Node p, Node o) { return get().find(g, s, p, o) ; }
@Override public Iterator<Quad> find() { return get().find() ; }
@Override public Iterator<Quad> find() { return get().find() ; }
@Override public ClosableIterator<Statement> iterator() { return new StatementIterator(this.dataset.asDatasetGraph().find()); }
public static void write(OutputStream out, DatasetGraph dsg) { Prologue prologue = Prologue.create(null, null) ; // (null, graph.getPrefixMapping()) ; // Write prologue. Sink<Quad> sink = new SinkQuadOutput(out, prologue, SyntaxLabels.createNodeToLabel()) ; Iterator<Quad> iter = dsg.find(Node.ANY, Node.ANY, Node.ANY, Node.ANY) ; Iter.sendToSink(iter, sink) ; } }
protected static void write(StreamRDF dest, DatasetGraph datasetGraph, PrefixMap prefixes, String baseURI) { start(dest) ; dest.base(baseURI) ; writePrefixes(dest, prefixes) ; Iterator<Quad> iter = datasetGraph.find(null, null, null, null) ; StreamRDFLib.quadsToStream(dest, iter) ; finish(dest) ; }
@Override protected ExtendedIterator<Triple> graphBaseFind(Node s, Node p, Node o) { Node g = graphNode(gn) ; Iterator<Triple> iter = GLib.quads2triples(dsg.find(g, s, p, o)) ; if ( Quad.isUnionGraph(gn) ) return graphUnionFind(s, p, o) ; return WrappedIterator.createNoRemove(iter) ; }
protected ExtendedIterator<Triple> graphUnionFind(Node s, Node p, Node o) { Node g = graphNode(gn) ; // Implementations may wish to do better so this is separated out. // For example, Iter.distinctAdjacent is a lot cheaper than Iter.distinct // but assumes thing come back in a particular order Iterator<Quad> iterQuads = getDataset().find(g, s, p, o) ; Iterator<Triple> iter = GLib.quads2triples(iterQuads) ; // Suppress duplicates after projecting to triples. iter = Iter.distinct(iter) ; return WrappedIterator.createNoRemove(iter) ; }
@Override public ClosableIterator<Statement> findStatements(UriOrVariable contextURI, ResourceOrVariable subject, UriOrVariable predicate, NodeOrVariable object) throws ModelRuntimeException { return new StatementIterator(this.dataset.asDatasetGraph().find( (contextURI != null) ? TypeConversion.toJenaNode(contextURI) : com.hp.hpl.jena.graph.Node.ANY, TypeConversion.toJenaNode(subject), TypeConversion.toJenaNode(predicate), TypeConversion.toJenaNode(object))); }
@Test(expected=ConcurrentModificationException.class) public void mrswDataset1() { DatasetGraph dsg = create().asDatasetGraph() ; Quad quad = SSE.parseQuad("(<g> <y> <p> 99)") ; Iterator<Quad> iter = dsg.find() ; dsg.add(quad) ; // Bad - after an update. iter.hasNext() ; iter.next() ; }
StreamRDF stream = StreamRDFLib.dataset(dsg) ; RDFDataMgr.parse(stream, s, source) ; Iterator<Quad> iter = dsg.find() ; for ( ; iter.hasNext() ; )
@Test public void mrswSPARQL1() { Dataset ds = create(); Query query = QueryFactory.create("SELECT * { ?s ?p ?o}") ; QueryExecution qExec = QueryExecutionFactory.create(query, ds) ; ResultSet rs = qExec.execSelect() ; while(rs.hasNext()) rs.next(); qExec.close() ; DatasetGraph dsg = ds.asDatasetGraph() ; Quad quad = SSE.parseQuad("(<g> <y> <p> 99)") ; dsg.add(quad) ; Iterator<Quad> iter = dsg.find() ; iter.hasNext() ; iter.next() ; }