Refine search
public static void copyPrefixes(DatasetGraph dsgSrc, DatasetGraph dsgDst) { List<Node> graphNames = Iter.toList(dsgSrc.listGraphNodes()); copyPrefixes(dsgSrc.getDefaultGraph(), dsgDst.getDefaultGraph()); graphNames.forEach((gn)->copyPrefixes(dsgSrc.getGraph(gn), dsgDst.getGraph(gn))); }
@Override public void loadDataset(Dataset dataset) { Txn.executeWrite(dataset,() ->{ dataset.asDatasetGraph().find().forEachRemaining((q)->this.dataset.asDatasetGraph().add(q)); }); }
/** * Create a operations wrapper around {@code dsg}. * The {@link Context} of the wrapper is the context of the {@code dsg}. */ public DatasetGraphWrapper(DatasetGraph dsg) { this(dsg, (dsg == null) ? null : dsg.getContext()); }
private static void copyOver(DatasetGraph dsgDest, DatasetGraph dsgSrc) { dsgDest.setDefaultGraph(dsgSrc.getDefaultGraph()) ; for ( final Iterator<Node> names = dsgSrc.listGraphNodes() ; names.hasNext() ; ) { final Node gn = names.next() ; dsgDest.addGraph(gn, dsgSrc.getGraph(gn)) ; } }
@Test public void sparql5() { Dataset dataset = create() ; String graphName = "http://example/" ; Triple triple = SSE.parseTriple("(<x> <y> 123)") ; Graph g2 = dataset.asDatasetGraph().getGraph(NodeFactory.createURI(graphName)) ; // Graphs only exists if they have a triple in them g2.add(triple) ; Query query = QueryFactory.create("ASK { GRAPH <"+graphName+"> {} }") ; boolean b = QueryExecutionFactory.create(query, dataset).execAsk() ; assertEquals(true, b) ; }
@Test public void dataset5() { String graphName = "http://example/" ; Triple triple = SSE.parseTriple("(<x> <y> <z>)") ; Dataset ds = graphLocation.getDataset() ; Graph g2 = ds.asDatasetGraph().getGraph(org.apache.jena.graph.NodeFactory.createURI(graphName)) ; // Graphs only exists if they have a triple in them g2.add(triple) ; assertTrue(ds.containsNamedModel(graphName)) ; List<String> x = Iter.toList(ds.listNames()) ; List<String> y = Arrays.asList(graphName) ; assertEquals(x,y) ; assertEquals(1, ds.asDatasetGraph().size()) ; } }
@Test public void graph_02() { Node g = NodeFactory.createURI("g") ; DatasetGraph dsg = emptyDataset() ; assertNotNull(dsg) ; Quad quad = SSE.parseQuad("(quad <g> <s> <p> <o>)") ; dsg.add(quad) ; Triple t = SSE.parseTriple("(<s> <p> <o>)") ; dsg.getGraph(g).delete(t) ; assertTrue(dsg.getDefaultGraph().isEmpty()) ; assertTrue(dsg.getGraph(NodeFactory.createURI("g")).isEmpty()) ; assertFalse(dsg.find(Node.ANY, Node.ANY, Node.ANY, Node.ANY).hasNext()) ; }
private static void add(Dataset dataset, String graphName, Triple triple) { Txn.executeWrite(dataset, ()->{ Graph g2 = dataset.asDatasetGraph().getGraph(NodeFactory.createURI(graphName)) ; g2.add(triple) ; }); }
@Test public void quad_01() { DatasetGraph dsg = emptyDataset() ; assertNotNull(dsg) ; Quad quad = SSE.parseQuad("(quad <g> <s> <p> <o>)") ; dsg.add(quad) ; assertTrue(dsg.contains(quad)) ; Iterator<Quad> iter = dsg.find(quad) ; assertTrue(iter.hasNext()) ; Quad quad2 = iter.next(); assertFalse(iter.hasNext()) ; assertEquals(quad, quad2) ; // and the graph view. assertTrue(dsg.getDefaultGraph().isEmpty()) ; assertFalse(dsg.getGraph(NodeFactory.createURI("g")).isEmpty()) ; }
@Test public void emptyGraph_1() { DatasetGraph dsg = emptyDataset() ; Node gn = NodeFactory.createURI("http://example/g") ; Quad q = SSE.parseQuad("(:g :s :p :o)"); dsg.add(q); List<Node> nodes1 = Iter.toList(dsg.listGraphNodes()); assertEquals(1, nodes1.size()); dsg.delete(q); List<Node> nodes2 = Iter.toList(dsg.listGraphNodes()); assertEquals(0, nodes2.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()) ; }
@Test public void testARQConstructQuad_bnodes() { String queryString = "PREFIX : <http://example/> CONSTRUCT { :s :p :o GRAPH _:a { :s :p :o1 } } WHERE { }"; Query q = QueryFactory.create(queryString, Syntax.syntaxARQ); QueryExecution qExec = QueryExecutionFactory.create(q, d); Dataset ds = qExec.execConstructDataset() ; assertEquals(1, Iter.count(ds.asDatasetGraph().listGraphNodes())) ; Node n = ds.asDatasetGraph().listGraphNodes().next(); assertTrue(n.isBlank()); Graph g = ds.asDatasetGraph().getGraph(n) ; assertNotNull(g) ; assertFalse(g.isEmpty()) ; }
@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 find_01() { Node g1 = NodeFactory.createURI("g1") ; DatasetGraph dsg = emptyDataset() ; Quad quad1 = SSE.parseQuad("(quad <g1> <s1> <p1> <o1>)") ; Quad quad2 = SSE.parseQuad("(quad <g2> <s2> <p2> <o2>)") ; dsg.add(quad1) ; dsg.add(quad2) ; List<Quad> quads = Iter.toList(dsg.find(g1, null, null, null)) ; assertEquals(1, quads.size()) ; Quad q = quads.get(0) ; assertEquals(quad1, q) ; }
@Test public void graph_txn_2() { Graph g = dsg.getDefaultGraph(); Triple t = SSE.parseTriple("(:S :P :O)"); g.getTransactionHandler().execute(()->g.add(t)); Graph g2 = dsg.getDefaultGraph(); g2.getTransactionHandler().execute(()-> Assert.assertTrue(g.contains(t)) ); }
@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 graph_txn_3() { Node gn = SSE.parseNode(":gn"); Graph g = dsg.getGraph(gn); Triple t = SSE.parseTriple("(:S :P :O)"); Quad q = Quad.create(gn, t); g.getTransactionHandler().execute(()->g.add(t)); g.getTransactionHandler().execute(()->{ Assert.assertTrue(g.contains(t)); dsg.contains(q); }); } }
private void doPutPost(String graph, String file, boolean replace) { Objects.requireNonNull(file); Lang lang = RDFLanguages.filenameToLang(file); Txn.executeWrite(dataset,() ->{ if ( RDFLanguages.isTriples(lang) ) { Model model = LibRDFConn.isDefault(graph) ? dataset.getDefaultModel() : dataset.getNamedModel(graph); if ( replace ) model.removeAll(); RDFDataMgr.read(model, file); } else if ( RDFLanguages.isQuads(lang) ) { if ( replace ) dataset.asDatasetGraph().clear(); // Try to POST to the dataset. RDFDataMgr.read(dataset, file); } else throw new ARQException("Not an RDF format: "+file+" (lang="+lang+")"); }); }
@Test public void quad_03() { DatasetGraph dsg = emptyDataset() ; assertNotNull(dsg) ; Quad quad1 = SSE.parseQuad("(quad <g> <s> <p> <o1>)") ; Quad quad2 = SSE.parseQuad("(quad <g> <s> <p> <o2>)") ; dsg.add(quad1) ; dsg.add(quad2) ; dsg.deleteAny(NodeFactory.createURI("g"), NodeFactory.createURI("s"), null, null) ; assertFalse(dsg.contains(quad1)) ; assertFalse(dsg.contains(quad2)) ; }