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