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