Hi,

I have a big INSERT DATA query, which it has about 20K triples.

I passed the query string to UpdateFactory.create(), and it threw exception.


at 
com.hp.hpl.jena.sparql.lang.ParserSPARQL11Update._parse(ParserSPARQL11Update.java:80)
at 
com.hp.hpl.jena.sparql.lang.ParserSPARQL11Update.parse$(ParserSPARQL11Update.java:41)
at com.hp.hpl.jena.sparql.lang.UpdateParser.parse(UpdateParser.java:39)
at com.hp.hpl.jena.update.UpdateFactory.make(UpdateFactory.java:88)
at com.hp.hpl.jena.update.UpdateFactory.create(UpdateFactory.java:79)
at com.hp.hpl.jena.update.UpdateFactory.create(UpdateFactory.java:57)
at com.hp.hpl.jena.update.UpdateFactory.create(UpdateFactory.java:47)
...
Caused by: java.lang.StackOverflowError
at 
com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11TokenManager.jjMoveNfa_0(SPARQLParser11TokenManager.java:2216)
at 
com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11TokenManager.jjMoveStringLiteralDfa2_0(SPARQLParser11TokenManager.java:421)
at 
com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11TokenManager.jjMoveStringLiteralDfa1_0(SPARQLParser11TokenManager.java:341)
at 
com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11TokenManager.jjMoveStringLiteralDfa0_0(SPARQLParser11TokenManager.java:151)
at 
com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11TokenManager.getNextToken(SPARQLParser11TokenManager.java:3753)
at 
com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.jj_ntk(SPARQLParser11.java:5026)
at 
com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.Verb(SPARQLParser11.java:2535)
at 
com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.PropertyListNotEmpty(SPARQLParser11.java:2503)
at 
com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.TriplesSameSubject(SPARQLParser11.java:2469)
at 
com.hp.hpl.jena.sparql.lang.sparql_11.SPARQLParser11.TriplesTemplate(SPARQLParser11.java:1619)

Is there a workaround for this, besides breaking down the query (tried with 5K 
triples and it works fine)?


Thanks,

Z

Reply via email to