I would like to confirm my understanding about reasoning in Jena, as well as
ask whether the Pellet reasoner does things different.
When I create an OntModel, there is essentially no overhead, this is very fast.
With the very first use of the OntModel, it takes considerable time to produce
a response. Once I get that response, is ALL the reasoning been completed for
the entire OntModel? Subsequent calls are faster, suggesting that there is much
less work being done. Is ALL reasoning done with the first call, or is there
additional lookup/reasoning done with subsequent calls?
Does Pellet operate the same way, when it is being used with Jena? Does it do
all inferencing at once, or in a more lazy eval fashion?
I am doing some benchmarking, there is one piece of code that is running orders
of magnitude slower than everything else. The code is as follows: (This is
using SDB with the latest version of Postgres)
OntClass oclass = omodel.getOntClass(GRAPE);
ExtendedIterator<OntProperty> properties =
oclass.listDeclaredProperties(true);
while( properties.hasNext() ){
OntProperty property = properties.next();
System.out.println(property.getLocalName());
}
I have run the command to create the indexes on the data. Is this expected to
be real slow?