[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