I'm trying to execute a large SPARQL Update request, basically with one INSERT DATA
command, and a set of DELETE ... WHERE
commands. The request performs an insertion of some triples and removes the old values of functional properties of individuals, affected by the INSERT
command, in order to keep the data consistent; 300-400 operations per request on average. To perform the request I use Apache Jena's UpdateProcessor
with SPARQL Update endpoint of Blazegraph (http://localhost:9999/blazegraph/namespace/kb/update
):
UpdateProcessor processor = UpdateExecutionFactory.createRemote(request, updateUrl, client);
processor.execute()
Execution time of such request is about 5-7 seconds on average on my laptop, but I also noticed that CPU and disk utilization by Blazegraph itself are low although the response time is long. I guess, if there is a bottleneck, something should reach the ceiling (100% of CPU, or high dist I/O). But they are still low... Bulk load is not applicable here, because I need not only add the new triples, but also modify the dataset according to these new triples.
How could it be improved? Maybe I missed something in the Blazegraph configuration...
Here is my RWStore.properties
:
com.bigdata.rdf.sail.truthMaintenance=false
com.bigdata.rdf.store.AbstractTripleStore.quads=true
com.bigdata.rdf.store.AbstractTripleStore.statementIdentifiers=false
com.bigdata.rdf.store.AbstractTripleStore.textIndex=true
com.bigdata.rdf.store.AbstractTripleStore.axiomsClass=com.bigdata.rdf.axioms.NoAxioms
com.bigdata.rdf.sail.isolatableIndices=false
com.bigdata.rdf.sail.bufferCapacity=100000
com.bigdata.journal.AbstractJournal.file=./journal/blazegraph.jnl
com.bigdata.journal.AbstractJournal.bufferMode=DiskRW
com.bigdata.btree.writeRetentionQueue.capacity=4000
com.bigdata.btree.BTree.branchingFactor=512
com.bigdata.rdf.store.DataLoader.commit=Incremental
Blazegraph version 2.1.1. Startup options:
java -server -Xmx8g -XX:+UseG1GC -Dbigdata.propertyFile=RWStore.properties -jar blazegraph.jar
Java version:
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)