private static boolean isDefaultGraphStorage(Node gn) { if ( gn == null ) return true ; // Is it the implicit name for default graph. if ( Quad.isDefaultGraph(gn) ) // Not accessing the union of named graphs as the default graph // and pattern is directed to the default graph. return true ; return false ; }
private static boolean isDefaultGraphStorage(Node gn) { if ( gn == null ) return true ; // Is it the implicit name for default graph. if ( Quad.isDefaultGraph(gn) ) // Not accessing the union of named graphs as the default graph // and pattern is directed to the default graph. return true ; return false ; }
/** * Quad filter to reflect the security policy of this {@link SecurityContextAllowNamedGraphs}. It is * better to call {@link #createQueryExecution(Query, DatasetGraph)} which may be more * efficient. */ @Override public Predicate<Quad> predicateQuad() { return q-> ! Quad.isDefaultGraph(q.getGraph()); } }
/** Default, concrete graph (either generated or explicitly named) */ public boolean isDefaultGraph() { return isDefaultGraph(getGraph()) ; }
default Stream<Quad> findInUnionGraph(final Node s, final Node p, final Node o) { final Set<Triple> seen = new HashSet<>(); return find(ANY, s, p, o).sequential() .filter(q -> !q.isDefaultGraph()) .map(Quad::asTriple) .filter(seen::add) .map(t -> Quad.create(Quad.unionGraph, t)); } }
protected Graph fetchGraph(Node gn) { if ( Quad.isDefaultGraph(gn) || Objects.equals(gn,Quad.tripleInQuad)) // Not preferred style return getDefaultGraph() ; else return getGraph(gn) ; } }
@Override public boolean containsGraph(Node graphNode) { // Hide empty graphs. if ( Quad.isDefaultGraph(graphNode) ) return true; if ( Quad.isUnionGraph(graphNode) ) return true; Graph g = graphs.get(graphNode); return g != null && !g.isEmpty(); }
@Override public Graph getGraph(Node graphNode) { if ( Quad.isDefaultGraph(graphNode) ) return dftGraph; if ( Quad.isUnionGraph(graphNode) ) return getUnionGraph(); return null; }
@Override public boolean containsGraph(Node graphNode) { if ( Quad.isDefaultGraph(graphNode) ) return true; if ( Quad.isUnionGraph(graphNode) ) return true; return contains(graphNode, Node.ANY, Node.ANY, Node.ANY); }
@Override final public void delete(Node g, Node s, Node p, Node o) { if ( Quad.isDefaultGraph(g) ) deleteFromDftGraph(s, p, o) ; else deleteFromNamedGraph(g, s, p, o) ; }
@Override public void delete(Node g, Node s, Node p, Node o) { if ( Quad.isDefaultGraph(g) ) graph.delete(new Triple(s, p, o)); else unsupportedMethod(this, "delete(named graph)"); }
@Override public void deleteQuad(Node g, Node s, Node p, Node o) { if ( g == Quad.tripleInQuad || Quad.isDefaultGraph(o) ) deleteTuple(store.getTripleTableDesc(), s, p, o); else deleteTuple(store.getQuadTableDesc(), g, s, p, o); }
/** Implementation of find based on splitting into triples (default graph) and quads (named graph) */ @Override public Iterator<Quad> find(Node g, Node s, Node p, Node o) { if ( Quad.isDefaultGraph(g)) return findInDftGraph(s, p, o) ; if ( ! isWildcard(g) ) return findNG(g, s, p, o) ; return findAny(s, p, o) ; }
private QueryIterator specialcase(Node gn, Op subOp, QueryIterator input) { // This is a placeholder for code to specially handle explicitly named // default graph and union graph. if (Quad.isDefaultGraph(gn)) { ExecutionContext cxt2 = new ExecutionContext(execCxt, execCxt.getDataset().getDefaultGraph()) ; return execute(subOp, input, cxt2) ; } // Bad news -- if ( Lib.equals(gn, Quad.tripleInQuad) ) {} return null ; }
@Override public void addQuad(Node g, Node s, Node p, Node o) { if ( g == Quad.tripleInQuad || Quad.isDefaultGraph(o) ) addTuple(store.getTripleTableDesc(), s, p, o); else addTuple(store.getQuadTableDesc(), g, s, p, o); }
public NodeTupleTable chooseNodeTupleTable(Node graphNode) { if ( graphNode == null || Quad.isDefaultGraph(graphNode) ) return getTripleTable().getNodeTupleTable() ; else // Includes Node.ANY and union graph return getQuadTable().getNodeTupleTable() ; }
public NodeTupleTable chooseNodeTupleTable(Node graphNode) { checkNotClosed() ; if ( graphNode == null || Quad.isDefaultGraph(graphNode) ) return getTripleTable().getNodeTupleTable() ; else // Includes Node.ANY and union graph return getQuadTable().getNodeTupleTable() ; }
@Override public void quad(Quad quad) { Node s = quad.getSubject() ; Node p = quad.getPredicate() ; Node o = quad.getObject() ; Node g = null ; // Union graph?! if ( ! quad.isTriple() && ! quad.isDefaultGraph() ) g = quad.getGraph() ; process(g,s,p,o); }
@Override public void quad(Quad quad) { Node s = quad.getSubject() ; Node p = quad.getPredicate() ; Node o = quad.getObject() ; Node g = null ; // Union graph?! if ( !quad.isTriple() && !quad.isDefaultGraph() ) g = quad.getGraph() ; process(g, s, p, o) ; }
@Override protected Node[] getNodes(QuadWritable tuple) { Quad q = tuple.get(); if (q.isDefaultGraph()) { return new Node[] { q.getSubject(), q.getPredicate(), q.getObject() }; } else { return new Node[] { q.getSubject(), q.getPredicate(), q.getObject(), q.getGraph() }; } }