2012-04-08 143 views
3

我正在嘗試通過它們的遠程sparql端點查詢Dbpedia數據集。到目前爲止,我已經設法連接到端點並執行普通查詢。但是當我執行下面的查詢時,我得到了一些結果,然後發現了一個我不知道的異常。有人可以請幫忙。查詢和異常如下。執行查詢時出現異常

SELECT DISTINCT ?p ?o WHERE 
{ ?p ?x <http://dbpedia.org/resource/Nepal>. 
    ?p <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?o. } 

和異常情況如下

16:51:30 WARN XMLInputStAX$ResultSetStAX :: StAX error: XMLStreamException: Unexpected EOF; was expecting a close tag for element <result> 
at [row,col {unknown-source}]: [2068,3] 
com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was expecting a close tag for element <result> 
at [row,col {unknown-source}]: [2068,3] 
     at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:686) 
     at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2730) 
     at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019) 
     at com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.getOneSolution(XMLInputStAX.java:410) 
     at com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.hasNext(XMLInputStAX.java:217) 
     at sat.Algorithm.incomingLink(Algorithm.java:128) 
     at sat.Main.main(Main.java:20) 
2 [main] WARN com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX - StAX error: XMLStreamException: Unexpected EOF; was expecting a close tag for element <result> 
at [row,col {unknown-source}]: [2068,3].......... 

這一定有結果過大和耶拿不能夠處理它的量做?個人不確定,因爲成功顯示的結果數量似乎在每次執行時都不相同。那麼有人可以幫忙。

+0

也許結果集不正確地轉義 - 像CDATA或任何可能需要的......這讓一個EOF字符來在數據流中和愚弄管道以爲一切都結束了。 – Randy 2012-04-08 11:49:07

+0

紐約解決這個問題? – 2012-04-08 11:52:12

+0

儘管在使用DBpedia端點Web用戶界面執行相同的SPARQL查詢時沒有遇到任何錯誤,但仍具有相同的問題。 @Prera​​kPradhan你找到了解決辦法嗎?任何想法都會受到讚賞。 – talha06 2013-08-01 11:03:31

回答

1

嘗試使用諸如LIMIT和OFFSET之類的投影來控制結果集的大小。默認情況下,DPBEDIA限制爲10,000,但取決於分配給JVM的內存量,這不應該成爲問題。我認爲它使用的是使用Jena ARQ API'S並使用sparqlService方法。事情是這樣的:

QueryExecution qe = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", "SELECT DISTINCT ?p ?o WHERE { ?p ?x <http://dbpedia.org/resource/Nepal>. ?p <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?o. }"); 
ResultSet queryResults = qe.execSelect(); 
相關問題