/** Get exactly one triple, or null for none or more than one. */ public static Triple triple1(DatasetGraph dsg, Node s, Node p, Node o) { Iterator<Quad> iter = dsg.find(Node.ANY, s, p, o); if ( !iter.hasNext() ) return null; Quad q = iter.next(); if ( iter.hasNext() ) return null; return q.asTriple(); }
/** Get exactly one triple, or null for none or more than one. */ private Triple triple1(DatasetGraph dsg, Node s, Node p, Node o) { Iterator<Quad> iter = dsg.find(Node.ANY, s, p, o) ; if ( !iter.hasNext() ) return null ; Quad q = iter.next() ; if ( iter.hasNext() ) return null ; return q.asTriple() ; }
@Override public void delete(Quad quad) { Graph graph = getGraph(quad); if(graph != null) { graph.delete(quad.asTriple()); } }
@Override public void quad(Quad quad) { if ( quad.isTriple() || quad.isDefaultGraph() ) { triple(quad.asTriple()); return; } countQuads++; Tuple<NodeId> tuple = nodes(nodeTable, quad); dest4.accept(tuple); }
@Override public void add(Quad quad) { if ( isDefaultGraph(quad) ) graph.add(quad.asTriple()); else unsupportedMethod(this, "add(named graph)"); }
@Override public void delete(Quad quad) { if ( isDefaultGraph(quad) ) graph.delete(quad.asTriple()); else unsupportedMethod(this, "delete(named graph)"); }
private static Iterator<Triple> projectQuadsToTriples(Node graphNode, Iterator<Quad> iter) { // Checking. Function<Quad, Triple> f = (q) -> { if ( graphNode != null && !q.getGraph().equals(graphNode) ) throw new InternalError("projectQuadsToTriples: Quads from unexpected graph (expected=" + graphNode + ", got=" + q.getGraph() + ")"); return q.asTriple(); }; // Without checking //Function<Quad, Triple> f = (q) -> q.asTriple(); return Iter.map(iter, f); }
@Override public void quad(Quad quad) { if ( quad.isTriple() || quad.isDefaultGraph() || quad.isUnionGraph() ) { triple(quad.asTriple()) ; } }
@Override public void send(Quad quad) { if ( quad.isTriple() ) dataset.getDefaultGraph().add(quad.asTriple()) ; else dataset.add(quad) ; }
@Test public void find_union_01() { List<Quad> x = toList(dsg.find(Quad.unionGraph, null, null, null)) ; assertEquals(3, x.size()) ; x.stream().allMatch(q->q.getGraph().equals(Quad.unionGraph)) ; List<Triple> z = x.stream().map(Quad::asTriple).collect(Collectors.toList()) ; assertTrue(z.contains(q4.asTriple())) ; assertTrue(z.contains(q5.asTriple())) ; Quad qx = Quad.create(Quad.unionGraph, q4.asTriple()) ; assertTrue(x.contains(qx)) ; Quad qz = Quad.create(Quad.unionGraph, q2.asTriple()) ; assertFalse(x.contains(qz)) ; }
@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()) ; }
public OpQuadPattern asQuadPattern() { if ( opQuadPattern == null ) { BasicPattern bp = new BasicPattern() ; bp.add(getQuad().asTriple()) ; opQuadPattern = new OpQuadPattern(quad.getGraph(),bp) ; } return opQuadPattern ; }
@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()) ; }
public static Element createElement(Quad quad) { Element tripleEl = createElement(quad.asTriple()); Element result = Quad.isDefaultGraph(quad.getGraph()) ? tripleEl : new ElementNamedGraph(quad.getGraph(), tripleEl); return result; }
@Override protected ExtendedIterator<Triple> graphBaseFind(Triple m) { List<Triple> results = new ArrayList<>(); Iterator<Quad> iter = findNG(graphName, m.getMatchSubject(), m.getMatchPredicate(), m.getMatchObject()); for ( ; iter.hasNext() ; ) results.add(iter.next().asTriple()); return WrappedIterator.create(results.iterator()); } }
@Test public void find_union_02() { DatasetGraphBaseFind dsgx = (DatasetGraphBaseFind)dsg ; assertNotNull(dsgx.getUnionGraph()); List<Triple> x = toList(dsgx.getUnionGraph().find(null, null, null)) ; assertEquals(3, x.size()) ; assertTrue(x.contains(q4.asTriple())) ; assertTrue(x.contains(q5.asTriple())) ; assertTrue(x.contains(q10.asTriple())) ; }
private static ExtendedIterator<Triple> quadsToTriples(DatasetGraph dsg, Node graphName, Triple m) { Iterator<Quad> qIter = dsg.findNG(graphName, m.getSubject(), m.getPredicate(), m.getObject()); Iterator<Triple> tIter = Iter.map(qIter, quad->quad.asTriple()); return WrappedIterator.createNoRemove(tIter) ; }
@Test(expected=DeleteDeniedException.class) public void find_union_05() { DatasetGraphBaseFind dsgx = (DatasetGraphBaseFind)dsg ; dsgx.getUnionGraph().delete(q4.asTriple()); }
@Test(expected=AddDeniedException.class) public void find_union_04() { DatasetGraphBaseFind dsgx = (DatasetGraphBaseFind)dsg ; dsgx.getUnionGraph().add(q4.asTriple()); }
@Test public void find_dsgFind_union_04() { Assume.assumeTrue("Not a DatasetGraphBaseFind", dsg instanceof DatasetGraphBaseFind) ; DatasetGraphBaseFind dsgx = (DatasetGraphBaseFind)dsg ; List<Triple> x = toList(dsgx.findInUnionGraph(null, null, o)) ; //print(dsgx) ; assertEquals(1, x.size()) ; assertTrue(x.contains(q3.asTriple())) ; }