[Pellet-Users] OutOfMemory using Pellet with Jena
Evren Sirin
evren at cs.umd.edu
Sun Dec 12 16:29:37 EST 2004
Alberto wrote:
>I tried the pizza ontology
>( http://www.co-ode.org/ontologies/pizza/pizza_20041007.owl)
>
This ontology is not large and does not seem to be complex for Pellet to
handle. But I see that there is a bug in the preprocessing step that
causes Pellet to go into an infinite loop. Thanks for point ing out this
problem.
>and the wine
>ontology
>(http://www.w3.org/TR/owl-guide/wine.rdf)
>
Wine ontology is a notoriously hard ontology crack. It was designed to
show all the features of OWL and in the end turned out to be this
monster ontology no (sound and complete) reasoner was able to handle
(Cerebra from Network Inference is the only reasoner I know of that
claimed victory). As you point out Pellet will handle the ontology if
you take a subset. We were doing some experiments with the wine ontology
nad it turns out that reducing the number of individuals (expecially the
Wine instances) does the trick. Here is the same Wine ontology with a
smaller number of Wine instances
http://www.mindswap.org/2004/owl/wine/winesimple.owl. Pellet is still
somewhat slow to classify this version (takes around 30-40sec on my
computer). But considering that there is not much hope for handling the
whole wine ontology in the near future that is the best we can offer :)
Regards,
Evren
>and I get the same results:
>
>with the following code, using Jena API only:
>
> Model data = ModelLoader.loadModel("file:wine.rdf");
> Model schema = ModelLoader.loadModel("file:wine.rdf");
> Reasoner reasoner = ReasonerRegistry.getOWLReasoner();
> reasoner = reasoner.bindSchema(schema);
> InfModel infmodel = ModelFactory.createInfModel(reasoner, data);
> ValidityReport validity = infmodel.validate();
> if (validity.isValid()) {
> System.out.println("OK");
> }
> else
> System.out.println("Conflicts");
>
>I get:
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
>
>and with Pellet
>
> String ont = "file:wine.rdf";
> PelletReasoner reasoner = new PelletReasoner();
> OntModelSpec spec = new OntModelSpec( OntModelSpec.OWL_DL_MEM );
> spec.setReasoner( reasoner );
> OntModel model = ModelFactory.createOntologyModel( spec, null );
> model.read( ont );
> Iterator ei=model.listClasses();
> while(ei.hasNext())
> System.out.println(ei.next());
>
>the simple application doesn't terminate after many minutes (at least 30 and I
>noticed from the Task Manager window that CPU usage is 100% when the
>application is running!)
>I also tried with smaller versions of the same ontologies (I simply removed
>part of the file content)and the same code works.
>
>I would be very grateful if anybody could provide any information.
>
>Thanks in advance,
>Alberto
>
>
>
>
>
>
More information about the Pellet-Users
mailing list