On 27/06/13 09:12, mycircuit wrote:
Hi, I am struggling to understand the usage of this idiom:

reasoner = reasoner.bindSchema(schema);

This creates a new reasoner which is a specialized version of the original reasoner for that ontology. This is sometimes call "partial evaluation".

If you are just going to use the reasoner once on one data set then this has no benefit compared to just running the reasoner over a model that contains both the data and the schema.

If you are going to be using a reasoner plus the same ontology over a number of different data sets then it might have a benefit. Some reasoners may be able to precompute some state based on the ontology once, and then reuse that state for each dataset.

The builtin rule based reasoners for OWL and RDFS can do a little useful prework like this, though the savings aren't usually that great. However, we have had experimental reasoners (not released) that compiled the ontology into a tailored rule sets. That kind of approach can give big savings if you are going to be processing lots of separate small data sets through it.

Dave

Reply via email to