But can't you do this inference just once and then somewhere store those inferences? Next time you can simply load the inferred model instead of the raw dataset. It is not specific to TDB, you can load dataset A, compute the inferred model in a slow process once, materialize it as dataset B, and later on always work on dataset B - this is standard forward chaining with writing the data back to disk or database. Can you try this procedure, maybe it works for you?

Indeed this wont work if your rules are currently modeled as backward chaining rules as those are computed at query time always.


On 02.07.21 13:37, Simon Gray wrote:
Thank you Lorenz, although this seems to be a reply to my side comment about 
TDB rather than the question I had, right?

The main issue right now is that I would like to use inferencing to get e.g. 
inverse relations, but doing this is very slow the first time a query is run, 
likely due to some preprocessing step that needs to run first. I would like to 
run the preprocessing step in advance rather than running it implicitly.

Den 2. jul. 2021 kl. 13.30 skrev Lorenz Buehmann 
<[email protected]>:

you can just add the inferred model to the dataset, i.e. add all triple to your 
TDB. Then you can disable the reasoner afterwards or just omit the rules that 
you do not need anymore

On 02.07.21 13:13, Simon Gray wrote:
Hi there,

I’m using Apache Jena from Clojure to create new home for the Danish WordNet. I 
use the Arachne Aristotle library + some additional Java interop code of my own.

I would like to use OWL inferencing to query e.g transitive or inverse 
relations. This does seem to work fine although I’ve only tried using the 
supplied in-memory model for now (and it looks like I will have to create my 
own instance of a ModelMaker to integrate with TDB 1 or 2).

However, the first query always seems to run really, really slow. Is there any 
way to precompute inferred relations so that I don’t have to wait? I’ve tried 
calling `rebind` and `prepare`, but they don’t seem to do anything.

Kind regards,

Simon Gray
Research Officer
Centre for Language Technology, University of Copenhagen


Reply via email to