private static void add(TripleTable table, Node s, Node p, Node o) { table.add(new Triple(s,p,o)) ; }
@Override protected Iterator<Quad> findInDftGraph(Node s, Node p, Node o) { checkNotClosed() ; return isolate(triples2quadsDftGraph(getTripleTable().find(s, p, o))) ; }
static Map<String, TupleIndex> indexMap(DatasetGraphTDB dsgtdb) { Map<String, TupleIndex> indexMap = new HashMap<>(); // All triple/quad indexes. Arrays.stream(dsgtdb.getTripleTable().getNodeTupleTable().getTupleTable().getIndexes()) .forEach(idx->indexMap.put(idx.getName(), idx)); Arrays.stream(dsgtdb.getQuadTable().getNodeTupleTable().getTupleTable().getIndexes()) .forEach(idx->indexMap.put(idx.getName(), idx)); return indexMap; }
/** Delete a triple */ public void delete(Triple triple) { delete(triple.getSubject(), triple.getPredicate(), triple.getObject()) ; }
public void syncStorage() { storage.tripleTable.sync(); storage.quadTable.sync(); storage.prefixes.sync(); }
public TripleTable buildTripleTable(NodeTable nodeTable) { String primary = params.getPrimaryIndexTriples(); String[] indexes = params.getTripleIndexes(); // Validation checks - common index forms. if ( indexes.length != 3 && indexes.length != 2 ) error(log(), "Wrong number of triple table indexes: "+String.join(",", indexes)); log().debug("Triple table: "+primary+" :: "+String.join(",", indexes)); TupleIndex tripleIndexes[] = makeTupleIndexes(primary, indexes); if ( tripleIndexes.length != indexes.length ) error(log(), "Wrong number of triple table tuples indexes: "+tripleIndexes.length); TripleTable tripleTable = new TripleTable(tripleIndexes, nodeTable); return tripleTable; }
@Override public boolean isEmpty() { checkNotClosed(); return getTripleTable().isEmpty() && getQuadTable().isEmpty(); }
@Override public void clear() { checkNotClosed() ; // Leave the node table alone. getTripleTable().clearTriples() ; getQuadTable().clearQuads() ; }
/** Release resources. * Do not call directly - this is called from StoreConnection. * Use {@link StoreConnection#release(Location)}. */ public void shutdown() { close(); storage.tripleTable.close() ; storage.quadTable.close() ; storage.prefixes.close(); txnSystem.getTxnMgr().shutdown(); }
@Override protected void deleteFromDftGraph(Node s, Node p, Node o) { checkNotClosed() ; requireWriteTxn() ; notifyDelete(null, s, p, o) ; getTripleTable().delete(s, p, o) ; }
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() ; }
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()) ; }
/** Add triple */ public void add(Triple triple) { add(triple.getSubject(), triple.getPredicate(), triple.getObject()) ; }
public DataToTuples(DatasetGraphTDB dsgtdb, Destination<Tuple<NodeId>> tuples3, Destination<Tuple<NodeId>> tuples4, MonitorOutput output) { this.dsgtdb = dsgtdb; this.dest3 = tuples3; this.dest4 = tuples4; this.input = new ArrayBlockingQueue<>(LoaderConst.QueueSizeData); this.nodeTable = dsgtdb.getQuadTable().getNodeTupleTable().getNodeTable(); this.prefixes = dsgtdb.getPrefixes(); this.output = output; NodeTable nodeTable2 = dsgtdb.getTripleTable().getNodeTupleTable().getNodeTable(); if ( nodeTable != nodeTable2 ) throw new BulkLoaderException("Different node tables"); }
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)) ; }
public TDBDatasetDetails(DatasetGraphTDB dsg) { ntTop = dsg.getTripleTable().getNodeTupleTable().getNodeTable() ; tripleIndexes = ArrayUtils.copy(dsg.getTripleTable().getNodeTupleTable().getTupleTable().getIndexes()) ; quadIndexes = ArrayUtils.copy(dsg.getQuadTable().getNodeTupleTable().getTupleTable().getIndexes()) ; fillInNodeTableDetails() ; fillInIndexDetails() ; }
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()) ; }
@Override protected void addToDftGraph(Node s, Node p, Node o) { checkNotClosed() ; requireWriteTxn() ; notifyAdd(null, s, p, o) ; getTripleTable().add(s,p,o) ; }
public DataToTuplesInline(DatasetGraphTDB dsgtdb, Destination<Tuple<NodeId>> dest3, Destination<Tuple<NodeId>> dest4, MonitorOutput output) { this.dsgtdb = dsgtdb; this.dest3 = dest3; this.dest4 = dest4; this.output = output; this.nodeTable = dsgtdb.getTripleTable().getNodeTupleTable().getNodeTable(); this.prefixes = dsgtdb.getPrefixes(); NodeTable nodeTable2 = dsgtdb.getQuadTable().getNodeTupleTable().getNodeTable(); if ( nodeTable != nodeTable2 ) throw new BulkLoaderException("Different node tables"); }