I have already found a way to infer the contents of the triple store using Openllet reasoner and Jena TDB, but it does not seem optimal. Here is my solution:
Reasoner reasoner = PelletReasonerFactory.theInstance().create();
InfModel infModel = ModelFactory
.createInfModel(reasoner, dataset.getNamedModel(KD.URI));
/*
* To extract the model, a transaction must be open in READ mode.
*/
dataset.begin(ReadWrite.READ);
ModelExtractor me = new ModelExtractor(infModel);
dataset.end();
/*
* To replace a currently existing named model within the dataset, a transaction must be open in WRITE mode.
*/
dataset.begin(ReadWrite.WRITE);
dataset.replaceNamedModel(KD.URI, me.extractModel());
dataset.commit();
dataset.end();
This works, but I want to know of a more elegant way than to actually replace the named model in the dataset. In an ideal scenario I would also like the inference to be continuous (once a triple is inserted into the graph data is inferred automatically on the spot) but I do not know if it is possible.