[Pellet-users] Slow reasoning & getting status info
Holger Knublauch
holger at topquadrant.com
Tue Mar 27 22:30:27 UTC 2007
Rinke Hoekstra wrote:
> Hi Brandon, Holger,
>
> Thank you for the compliment, but I'm not one of the developers ;)
>
> The problems with my ontology have actually been resolved (with thanks
> to Dave Wang and others). It was slightly inconsistent *blush* and
> contained a lot of generic concept inclusion axioms. Relaxing a number
> of class definitions solved most of my problems.
>
> The problem I reported to Holger are of a slightly different nature in
> that the same ontology is classified within 30 seconds if I use the
> Pellet commandline, whereas running the classifier from within TopBraid
> (i.e. through a Jena-Pellet bridge) can take up to a couple of minutes
> (about 6 in one case).
Here is a test case to illustrate this:
public class RinkeTestCase extends TestCase {
public void testRinke() {
OntModel ontModel =
ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
ontModel.read("http://www.estrellaproject.org/lkif-core/lkif-core.owl");
OntModelSpec spec = PelletReasonerFactory.THE_SPEC;
InfModel infModel = ModelFactory.createOntologyModel(spec, ontModel);
long startTime = System.currentTimeMillis();
int count = 0;
StmtIterator it = infModel.listStatements();
while(it.hasNext()) {
it.nextStatement();
count++;
}
long endTime = System.currentTimeMillis();
System.out.println("Elapsed: " + (endTime - startTime));
}
}
This is similar to what we are doing in TopBraid, and it really takes
minutes to list all triples. The messages
Sub Count: 13786
Sat Count: 83
are printed out after 30 seconds, similar to what Rinke states, but then
it becomes very slow.
Assuming Rinke's command line test does a comparable job, then either
the Pellet-Jena bridge is very inefficient or I am creating the model in
a wrong way. Please advise.
Thanks,
Holger
More information about the Pellet-users
mailing list