Hi,

I have an large OWL ontology file as RDF which includes swrl rules and i'm
trying to reason in java with jena TDB using Pellet but when i run the
following code on eclipse.



public class TestJenaTDB {


 public static void main(String[] args) {

// TODO Auto-generated method stub



String directory = "TDB";

Dataset dataset = TDBFactory.createDataset(directory);

Model tdb = dataset.getDefaultModel();

OntModel ont = ModelFactory.createOntologyModel(PelletReasonerFactory.
THE_SPEC,tdb);

 // read the input file

String source = "Ontology_rdf.owl";

ont.read(source,"RDF/XML");

//FileManager.get().readModel( tdb, source,"RDF/XML");

   PelletOptions.USE_CONTINUOUS_RULES = true;

 Reasoner reasoner = PelletReasonerFactory.theInstance().create();

 reasoner = reasoner.bindSchema(ont);


 InfModel infModel = ModelFactory.createInfModel(reasoner, tdb);

  String sparqlQueryString = "PREFIX ling: <
http://www.lsis.org/LingOnto/LingOnto.owl#> PREFIX rdf: <
http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?p  WHERE {\n" + "?p
rdf:type ling:PER }";


     Query query = QueryFactory.create(sparqlQueryString) ;

    QueryExecution qexec = QueryExecutionFactory.create(query, infModel) ;

    ResultSet results = qexec.execSelect() ;

    ResultSetFormatter.out(results) ;



    TDB.sync(dataset);

    qexec.close();

tdb.close();

dataset.close();


 }


}


i get this exception:


Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

at org.mindswap.pellet.EdgeList.getEdges(EdgeList.java:202)

at com.clarkparsia.pellet.rules.rete.AlphaEdgeNode.getEdges(
AlphaEdgeNode.java:115)

at com.clarkparsia.pellet.rules.rete.AlphaEdgeNode.getMatches(
AlphaEdgeNode.java:105)

at com.clarkparsia.pellet.rules.rete.AlphaEdgeNode.getMatches(
AlphaEdgeNode.java:89)

at com.clarkparsia.pellet.rules.rete.BetaMemoryIndex$JoinIndexed.getWMEs(
BetaMemoryIndex.java:208)

at com.clarkparsia.pellet.rules.rete.BetaMemoryNode.activate(
BetaMemoryNode.java:71)

at com.clarkparsia.pellet.rules.rete.BetaNode.activateChildren(
BetaNode.java:24)

at com.clarkparsia.pellet.rules.rete.BetaMemoryNode.activate(
BetaMemoryNode.java:75)

at com.clarkparsia.pellet.rules.rete.BetaNode.activateChildren(
BetaNode.java:24)

at com.clarkparsia.pellet.rules.rete.BetaMemoryNode.activate(
BetaMemoryNode.java:75)

at com.clarkparsia.pellet.rules.rete.BetaNode.activateChildren(
BetaNode.java:24)

at com.clarkparsia.pellet.rules.rete.BetaMemoryNode.activate(
BetaMemoryNode.java:58)

at com.clarkparsia.pellet.rules.rete.AlphaNode.activate(AlphaNode.java:55)



What am I doing incorrect ? Thanks

Reply via email to