use of org.apache.jena.query.Dataset in project jena by apache.
the class T_TDBWriteTransaction method run.
public static void run(String location) {
if (false) {
Journal journal = Journal.create(Location.create(location));
JournalControl.print(journal);
journal.close();
}
//String location = args[0]; // + "/" + UUID.randomUUID().toString();
//String baseGraphName = "com.ibm.test.graphNamePrefix.";
long totalExecTime = 0L;
long size = 0;
Dataset dataset = TDBFactory.createDataset(location);
Dataset dataset1 = TDBFactory.createDataset(location);
if (bracketWithReader)
dataset1.begin(ReadWrite.READ);
for (int i = 0; i < TOTAL; i++) {
List<String> lastProcessedUris = new ArrayList<>();
for (int j = 0; j < 10 * i; j++) {
String lastProcessedUri = "http://test.net/xmlns/test/1.0/someUri" + j;
lastProcessedUris.add(lastProcessedUri);
}
//Dataset dataset = TDBFactory.createDataset(location);
//String graphName = baseGraphName + i;
long t = System.currentTimeMillis();
try {
dataset.begin(ReadWrite.WRITE);
Model m = dataset.getDefaultModel();
m.removeAll();
Resource subject = m.createResource(INDEX_INFO_SUBJECT);
Property predicate = m.createProperty(TIMESTAMP_PREDICATE);
m.addLiteral(subject, predicate, System.currentTimeMillis());
predicate = m.createProperty(URI_PREDICATE);
for (String uri : lastProcessedUris) {
m.add(subject, predicate, m.createResource(uri));
}
predicate = m.createProperty(VERSION_PREDICATE);
m.addLiteral(subject, predicate, 1.0);
size += m.size() + 1;
predicate = m.createProperty(INDEX_SIZE_PREDICATE);
m.addLiteral(subject, predicate, size);
dataset.commit();
} catch (Throwable e) {
dataset.abort();
throw new RuntimeException(e);
} finally {
dataset.end();
long writeOperationDuration = System.currentTimeMillis() - t;
totalExecTime += writeOperationDuration;
System.out.println("Write operation " + i + " took " + writeOperationDuration + "ms");
}
}
if (bracketWithReader)
dataset1.end();
System.out.println("All " + TOTAL + " write operations wrote " + size + " triples and took " + totalExecTime + "ms");
}
use of org.apache.jena.query.Dataset in project jena by apache.
the class InMemDatasetAssembler method open.
@Override
public Dataset open(final Assembler assembler, final Resource root, final Mode mode) {
checkType(root, DatasetAssemblerVocab.tDatasetTxnMem);
final Dataset dataset = createTxnMem();
setContext(root, dataset.getContext());
dataset.begin(WRITE);
// load data into the default graph
if (root.hasProperty(data)) {
multiValueResource(root, data).forEach(defaultGraphDocument -> read(dataset, defaultGraphDocument.getURI()));
}
// load data into named graphs
multiValueResource(root, pNamedGraph).forEach(namedGraphResource -> {
final String graphName = getAsStringValue(namedGraphResource, pGraphName);
if (namedGraphResource.hasProperty(data)) {
multiValueResource(namedGraphResource, data).forEach(namedGraphData -> read(dataset.getNamedModel(graphName), namedGraphData.getURI()));
}
});
dataset.commit();
dataset.end();
return dataset;
}
use of org.apache.jena.query.Dataset in project jena by apache.
the class AbstractTestTransactionLifecycle method testCommitCommit.
private void testCommitCommit(ReadWrite mode) {
Dataset ds = create();
ds.begin(mode);
ds.commit();
try {
ds.commit();
fail("Expected transaction exception - commit-commit(" + mode + ")");
} catch (JenaTransactionException ex) {
safeEnd(ds);
}
}
use of org.apache.jena.query.Dataset in project jena by apache.
the class AbstractTestTransactionLifecycle method testAbortCommit.
private void testAbortCommit(ReadWrite mode) {
assumeTrue(supportsAbort());
Dataset ds = create();
ds.begin(mode);
ds.abort();
try {
ds.commit();
fail("Expected transaction exception - abort-commit(" + mode + ")");
} catch (JenaTransactionException ex) {
safeEnd(ds);
}
}
use of org.apache.jena.query.Dataset in project jena by apache.
the class AbstractWholeFileQuadInputFormatTests method writeGoodTuples.
private void writeGoodTuples(OutputStream output, int num) {
Dataset ds = DatasetFactory.createGeneral();
Model m = ModelFactory.createDefaultModel();
Resource currSubj = m.createResource("http://example.org/subjects/0");
Property predicate = m.createProperty("http://example.org/predicate");
for (int i = 0; i < num; i++) {
if (i % 100 == 0) {
ds.addNamedModel("http://example.org/graphs/" + (i / 100), m);
m = ModelFactory.createDefaultModel();
}
if (i % 10 == 0) {
currSubj = m.createResource("http://example.org/subjects/" + (i / 10));
}
m.add(currSubj, predicate, m.createTypedLiteral(i));
}
if (!m.isEmpty()) {
ds.addNamedModel("http://example.org/graphs/extra", m);
}
this.writeTuples(ds, output);
}
Aggregations