@Override public boolean isEmpty() { return dsg.isEmpty(); } }
@Override public boolean isEmpty() { return getR().isEmpty(); }
@Override public boolean isEmpty() { return getLeft().isEmpty() || getLeft() == getRight() || !contains(ANY); }
/** Decide on the bulk loader. */ private DataLoader chooseLoader(DatasetGraph dsg, String graphName) { Objects.requireNonNull(dsg); Node gn = null; if ( graphName != null ) gn = NodeFactory.createURI(graphName); LoaderEnum useLoader = loader; if ( useLoader == null ) { // Default choice - phased if empty. basic if not. boolean isEmpty = Txn.calculateRead(dsg, ()->dsg.isEmpty()); if ( isEmpty ) useLoader = LoaderEnum.Phased; else useLoader = LoaderEnum.Basic; } MonitorOutput output = isQuiet() ? LoaderOps.nullOutput() : LoaderOps.outputToLog(); DataLoader loader = createLoader(useLoader, dsg, gn, output); if ( output != null ) output.print("Loader = %s", loader.getClass().getSimpleName()); return loader ; }
private void write(DatasetGraph dsg) { writeBase(baseURI) ; writePrefixes(prefixMap) ; if ( !prefixMap.isEmpty() && !dsg.isEmpty() ) out.println() ; Iterator<Node> graphNames = dsg.listGraphNodes() ; boolean anyGraphOutput = writeGraphTriG(dsg, null) ; for ( ; graphNames.hasNext() ; ) { if ( anyGraphOutput ) out.println() ; Node gn = graphNames.next() ; anyGraphOutput |= writeGraphTriG(dsg, gn) ; } }
/** Decide on the bulk loader. */ private DataLoader chooseLoader(DatasetGraph dsg, String graphName) { Objects.requireNonNull(dsg); Node gn = null; if ( graphName != null ) gn = NodeFactory.createURI(graphName); LoaderEnum useLoader = loader; if ( useLoader == null ) { // Default choice - phased if empty. basic if not. boolean isEmpty = Txn.calculateRead(dsg, ()->dsg.isEmpty()); if ( isEmpty ) useLoader = LoaderEnum.Phased; else useLoader = LoaderEnum.Basic; } MonitorOutput output = isQuiet() ? LoaderOps.nullOutput() : LoaderOps.outputToLog(); DataLoader loader = createLoader(useLoader, dsg, gn, output); if ( output != null ) output.print("Loader = %s", loader.getClass().getSimpleName()); return loader ; }
@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 isolation_01() { // Start a read transaction on another thread. // The transaction has begin() by the time threadTxnRead // returns but the action of the ThreadTxn is not triggered // until other.run() is called. DatasetGraph dsg = create() ; ThreadAction other = ThreadTxn.threadTxnRead(dsg, ()-> Assert.assertTrue(dsg.isEmpty()) ) ; dsg.begin(WRITE) ; dsg.add(q1) ; dsg.commit() ; dsg.end() ; other.run() ; } }
@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()) ; }