@Override protected void addToDftGraph(Node s, Node p, Node o) { getTripleTable().add(s,p,o) ; }
@Override protected Iterator<Quad> findInDftGraph(Node s, Node p, Node o) { return triples2quadsDftGraph(getTripleTable().find(s, p, o)) ; }
public static NodeId lookup(DatasetGraphTDB dsg, Node n) { NodeTable nt = dsg.getTripleTable().getNodeTupleTable().getNodeTable() ; NodeId nid = nt.getNodeIdForNode(n) ; return nid ; }
@Override protected void deleteFromDftGraph(Node s, Node p, Node o) { getTripleTable().delete(s,p,o) ; }
@Override public void sync() { tripleTable.sync() ; quadTable.sync() ; prefixes.sync() ; }
@Override public void close() { if ( closed ) return ; closed = true ; tripleTable.close() ; quadTable.close() ; prefixes.close(); // Which will cause reuse to throw exceptions early. tripleTable = null ; quadTable = null ; prefixes = null ; }
protected TripleTable makeTripleTable(Location location, NodeTable nodeTable, DatasetControl policy, StoreParams params) { String primary = params.getPrimaryIndexTriples() ; String[] indexes = params.getTripleIndexes() ; // Allow experimentation of other index layouts. // if ( indexes.length != 3 ) // error(log, // "Wrong number of triple table indexes: "+StrUtils.strjoin(",", // indexes)) ; log.debug("Triple table: " + primary + " :: " + String.join(",", indexes)) ; TupleIndex tripleIndexes[] = makeTupleIndexes(location, primary, indexes, params) ; if ( tripleIndexes.length != indexes.length ) error(log, "Wrong number of triple table tuples indexes: " + tripleIndexes.length) ; TripleTable tripleTable = new TripleTable(tripleIndexes, nodeTable, policy) ; return tripleTable ; }
@Override public void clear() { // Leave the node table alone. getTripleTable().clearTriples() ; getQuadTable().clearQuads() ; }
@Override public boolean isEmpty() { return getTripleTable().isEmpty() && getQuadTable().isEmpty() ; }
/** Delete a triple - return true if it was deleted, false if it didn't exist */ public boolean delete( Triple triple ) { return delete(triple.getSubject(), triple.getPredicate(), triple.getObject()) ; }
public static void dumpNodeTable(String label, DatasetGraphTDB dsg) { NodeTable nt1 = dsg.getTripleTable().getNodeTupleTable().getNodeTable() ; NodeTableLib.print(label, nt1) ; }
private static void notMatch(TripleTable table, Node s, Node p, Node o) { Iterator<Triple> iter = table.find(s, p, o) ; assertNotNull(iter) ; assertFalse(iter.hasNext()) ; }
public boolean add( Triple triple ) { return add(triple.getSubject(), triple.getPredicate(), triple.getObject()) ; }
public NodeTupleTable chooseNodeTupleTable(Node graphNode) { if ( graphNode == null || Quad.isDefaultGraph(graphNode) ) return getTripleTable().getNodeTupleTable() ; else // Includes Node.ANY and union graph return getQuadTable().getNodeTupleTable() ; }
private static void match(TripleTable table, Node s, Node p, Node o) { Iterator<Triple> iter = table.find(s, p, o) ; assertNotNull(iter) ; assertTrue(iter.hasNext()) ; }
private static void add(TripleTable table, Node s, Node p, Node o) { table.add(new Triple(s,p,o)) ; }
NodeTable nodeTable = dsg.getTripleTable().getNodeTupleTable().getNodeTable() ; Iterator<String> iter = super.getPositional().iterator() ; if ( ! iter.hasNext() )
private static void notMatch(TripleTable table, Node s, Node p, Node o) { Iterator<Triple> iter = table.find(s, p, o) ; assertNotNull(iter) ; assertFalse(iter.hasNext()) ; }
private static void add(TripleTable table, Node s, Node p, Node o) { table.add(new Triple(s,p,o)) ; }
NodeTable nodeTable = dsg.getTripleTable().getNodeTupleTable().getNodeTable() ; Iterator<String> iter = super.getPositional().iterator() ; if ( ! iter.hasNext() )