/** Public for testing only : create a quad table.*/ private static QuadTable createQuadTable(IndexBuilder indexBuilder, NodeTable nodeTable, Location location, String[]descs, ConcurrencyPolicy policy) { TupleIndex indexes[] = indexes(indexBuilder, indexRecordQuadFactory, location, primaryIndexQuads, descs) ; return new QuadTable(indexes, nodeTable, policy) ; }
static void forceSync(DatasetGraphTDB dsg) { // Force sync - we have been bypassing DSG tables. // THIS DOES NOT WORK IF modules check for SYNC necessity. dsg.getTripleTable().getNodeTupleTable().getNodeTable().sync(); dsg.getQuadTable().getNodeTupleTable().getNodeTable().sync(); dsg.getQuadTable().getNodeTupleTable().getNodeTable().sync(); dsg.getPrefixes().getNodeTupleTable().getNodeTable().sync(); // This is not enough -- modules check whether sync needed. dsg.sync() ; } }
static void forceSync(DatasetGraphTDB dsg) { // Force sync - we have been bypassing DSG tables. // THIS DOES NOT WORK IF modules check for SYNC necessity. dsg.getTripleTable().getNodeTupleTable().getNodeTable().sync(); dsg.getQuadTable().getNodeTupleTable().getNodeTable().sync(); dsg.getQuadTable().getNodeTupleTable().getNodeTable().sync(); dsg.getPrefixes().getNodeTupleTable().getNodeTable().sync(); // This is not enough -- modules check whether sync needed. dsg.sync() ; } }
/** Create a filter to exclude the graph http://example/g2 */ private static Filter<Tuple<NodeId>> createFilter(Dataset ds) { DatasetGraphTDB dsg = (DatasetGraphTDB)(ds.asDatasetGraph()) ; final NodeTable nodeTable = dsg.getQuadTable().getNodeTupleTable().getNodeTable() ; final NodeId target = nodeTable.getNodeIdForNode(Node.createURI(graphToHide)) ; Filter<Tuple<NodeId>> filter = new Filter<Tuple<NodeId>>() { public boolean accept(Tuple<NodeId> item) { // Reverse the lookup as a demo //Node n = nodeTable.getNodeForNodeId(target) ; //System.err.println(item) ; if ( item.size() == 4 && item.get(0).equals(target) ) return false ; return true ; } } ; return filter ; }