On 07/01/14 13:28, Milorad Tosic wrote:
Hi,

I'm reading the Jena paper [1] (which is very nice and useful, BTW), where I 
found the following:


"Prior to this release, Jena used a heuristic method to attempt to
associate restriction properties with the classes sub-classing that
restriction. Since there were problems with precisely defining the
heuristic, and ensuring correct behaviour (especially with
inference models), we have dropped the use of this heuristic from
Jena 2.2 onwards."

Do I misinterpret the statement when I conclude that Jena API does underneath 
some reasoning independently on the existing reasoner embedding mechanism?

Depends what you mean by "reasoning" and "underneath".

There are parts of the OntAPI where you are explicitly asking for things which a reasoner might have already worked out. For example listSuperClasses. The implementation for those checks if there is a reasoner present and if so just queries directly knowing that the super-class closure is available from the reasoner. If there is no reasoner then listSuperClasses has to manually iterate over the super class tree to fulfil its contract. I wouldn't call that reasoning underneath though - it is just explicit in the API call what is being returned.

Generally the OntAPI design tries to leave reasoning to the reasoner and minimize the number of places like listSuperClasses where there API has to bridge the gap in the absence of a reasoner.

Dave

Reply via email to