public boolean exists() { if ( isDefault ) return true ; return dsg.containsGraph(graphName) ; }
public boolean exists() { if ( isDefault ) return true ; return dsg.containsGraph(graphName) ; }
@Override public boolean containsGraph(Node graphNode) { return either(dsg -> dsg.containsGraph(graphNode)); }
@Override public boolean containsGraph(Node graphNode) { return getLeft().containsGraph(graphNode); }
@Override public boolean containsGraph(Node graphNode) { return getR().containsGraph(graphNode); }
protected void execDropClear(UpdateDropClear update, Node g, boolean isClear) { if ( !alwaysSilent ) { if ( g != null && !datasetGraph.containsGraph(g) && !update.isSilent() ) error("No such graph: " + g); } if ( isClear ) { if ( g == null || datasetGraph.containsGraph(g) ) graph(datasetGraph, g).clear(); } else datasetGraph.removeGraph(g); }
@Override public boolean containsNamedModel(String uri) { // Does not touch the cache. checkGraphName(uri) ; Node n = NodeFactory.createURI(uri) ; return dsg.containsGraph(n) ; }
/** Check whether a dataset contains a named graph of the given name. * Graph with special names (union and default) return true. */ public static boolean containsGraph(DatasetGraph dsg, Node gn) { if ( Quad.isDefaultGraph(gn) || Quad.isUnionGraph(gn) ) return true ; return dsg.containsGraph(gn) ; }
/** Execute action for each graph that exists */ private void forEachGraph(Consumer<Graph> action) { if ( graphs == null ) { // Fast-path the dynamic union of all named graphs. dataset.listGraphNodes().forEachRemaining((gn) -> action.accept(dataset.getGraph(gn))); return ; } graphs.stream() // Need to check to avoid auto-creation. .filter(gn -> dataset.containsGraph(gn)) // For the explicit name of the default graph. .map(gn -> Quad.isDefaultGraph(gn) ? dataset.getDefaultGraph() : dataset.getGraph(gn)) .forEach(action); }
@Override public void visit(UpdateCreate update) { Node g = update.getGraph(); if ( g == null ) return; if ( datasetGraph.containsGraph(g) ) { if ( !alwaysSilent && !update.isSilent() ) error("Graph store already contains graph : " + g); return; } // In-memory specific datasetGraph.addGraph(g, GraphFactory.createDefaultGraph()); }
@Override public boolean containsGraph(Node graphNode) { return both(dsg -> dsg.containsGraph(graphNode) && !dsg.getGraph(graphNode).isEmpty()); }
@Test public void emptyGraph_2_link() { DatasetGraph dsg = emptyDataset() ; Node gn = NodeFactory.createURI("http://example/g") ; Quad q = SSE.parseQuad("(:g :s :p :o)"); dsg.add(q); assertTrue(dsg.containsGraph(gn)); // Variation on emptyGraph_2 dsg.delete(q); assertTrue(dsg.containsGraph(gn)); }
@Test public void emptyGraph_2() { DatasetGraph dsg = emptyDataset() ; Node gn = NodeFactory.createURI("http://example/g") ; Quad q = SSE.parseQuad("(:g :s :p :o)"); dsg.add(q); assertTrue(dsg.containsGraph(gn)); dsg.delete(q); assertFalse(dsg.containsGraph(gn)); } }
private boolean validBinaryGraphOp(UpdateBinaryOp update) { if ( update.getSrc().isDefault() ) return true; if ( update.getSrc().isOneNamedGraph() ) { Node gn = update.getSrc().getGraph(); if ( !datasetGraph.containsGraph(gn) ) { if ( !update.getSilent() ) error("No such graph: " + gn); return false; } return true; } error("Invalid source target for oepration; " + update.getSrc()); return false; }
@Test public void testCreateDrop4() { DatasetGraph gStore = getEmptyDatasetGraph() ; gStore.addGraph(graphIRI, GraphFactory.createDefaultGraph()) ; script(gStore, "drop-1.ru") ; assertFalse(gStore.containsGraph(graphIRI)) ; } }
@Test public void clear_01() { DatasetGraph dsg = emptyDataset() ; Quad quad = SSE.parseQuad("(quad <g> <s> <p> <o>)") ; Node gn = SSE.parseNode("<g>") ; assertTrue(dsg.isEmpty()) ; dsg.add(quad) ; assertFalse(dsg.isEmpty()) ; assertTrue(dsg.containsGraph(gn)) ; dsg.clear() ; assertTrue(dsg.isEmpty()) ; assertFalse(dsg.containsGraph(gn)) ; }
@Test public void graph_00() { DatasetGraph dsg = emptyDataset() ; assertNotNull(dsg) ; Node gn = NodeFactory.createURI("g") ; Graph g = GraphFactory.createDefaultGraph() ; g.add(SSE.parseTriple("(<s> <p> <o>)")) ; // So the graph is not empty. dsg.addGraph(gn, g); assertTrue(dsg.containsGraph(gn)) ; }
@Test public void load3() { DatasetGraph gs = graphStore() ; UpdateRequest req = UpdateFactory.create("LOAD <"+DIR+"/D.nq>") ; UpdateAction.execute(req, gs) ; assertEquals(0, gs.getDefaultGraph().size()) ; gs.containsGraph(NodeFactory.createURI("http://example/")) ; assertEquals(1, gs.getGraph(gName).size()) ; }
@Test public void testUpdateScript8() { Node gn = NodeFactory.createURI("http://example/g") ; Node testNode = NodeFactory.createURI("http://example/test") ; Node result = NodeFactory.createURI("http://example/result") ; DatasetGraph gStore = getEmptyDatasetGraph() ; script(gStore, "data-5-with.ru") ; assertTrue(gStore.containsGraph(gn)) ; Graph g = gStore.getGraph(gn) ; assertEquals(2, g.size()) ; assertEquals(0, gStore.getDefaultGraph().size()) ; }
@Test public void quad_02() { DatasetGraph dsg = emptyDataset() ; assertNotNull(dsg) ; Quad quad = SSE.parseQuad("(quad <g> <s> <p> <o>)") ; dsg.add(quad) ; dsg.containsGraph(NodeFactory.createURI("g")) ; dsg.delete(quad) ; assertTrue(dsg.isEmpty()) ; assertTrue(dsg.getDefaultGraph().isEmpty()) ; assertTrue(dsg.getGraph(NodeFactory.createURI("g")).isEmpty()) ; }