Virtuoso OpenLink Reasoning: backward or/and forward

Dear Williams,

Thank you very much for your answers.

I am conducting a comparative study between Virtuoso and other relational RDF management systems in order to be used later in a real application case. However, I has difficulty finding detailed and up-to-date technical information about query processing and reasoning in virtuoso.

The mechanism described in the official documentation details that reasoning is based on the concept of rule sets. In this case, as outlined no query rewriting (expanding) is required as the graph of the rule is copied in the input data and the system iterates over sub-classes (at run-time) (is this correct for the actual version?)

I find that the combination of backward and forward chaining is a distinction with the other systems. However, In which cases each type is used?

Also, How the materialization in bulk-load and query time can be activated because by default it is not. (by demand… how this is possible?)

Thanks again for you help.