Hi Jakub,

The preferred way to have parallel actions on a dataset is via transactions.

concurrency-howto covers threading within a transaction. Possible with further MRSW (multiple reader or single writer) locking.

This is how Fuseki executes multiple requests. Each HTTP request that is executing in true parallel is executed on a separate thread and inside a transaction.

So have each thread start a transaction, execute as many sequential queries as it needs and end the transaction.

In fact, only TDB2 enforces this; TDB1 only enforces it if it has already been used transactionally. Other datasets are multiple-reader safe anyway. But placing inside a transaction is the correct way.

     Andy

On 30/10/2021 15:44, Jakub Jałowiec wrote:
Dear community,
is there any high-level user interface to execute parallel SELECT queries in 
Apache Fuseki or the CLI of Apache Jena?
I've found a short note on parallelism in Apache Jena here: 
https://jena.apache.org/documentation/notes/concurrency-howto.html. But that is 
not really what I am looking for as it is a general note on how to implement 
low-level parallelism in Apache Jena.
I am interested in analytic benchmarking of Apache Jena. Ideally, I am looking 
for something that works out-of-the-box just for SELECT queries (no need to 
modify the model in a parallel fashion or synchronize state etc.).

I'd appreciate any suggestions or pointing out to any resources as I am new to Apache Jena. I 
couldn't find a lot in the archives of the list using the keywords "parallelism" and 
"concurrent".

Best regards,
Jakub

Reply via email to