来自DBpedia和Jena的SPARQL XML结果
我从DBpedia SPARQL端点获得以下
XML:
<?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="onto"/> </head> <results> <result> <binding name="onto"> <uri>http://www.w3.org/2002/07/owl#Thing</uri> </binding> </result> <result> <binding name="onto"> <uri>http://www.w3.org/2002/07/owl#Thing</uri> </binding> </result> <result> <binding name="onto"> <uri>http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing</uri> </binding> </result> </results> </sparql> 当我用Jena阅读它时,我尝试扫描它: ResultSet r = ResultSetFactory.fromXML( xmlCode ); while ( r.hasNext() ) { QuerySolution soln = r.next() ... } 我总是得到以下异常: com.hp.hpl.jena.sparql.resultset.ResultSetException: End of document while processing solution at com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.staxError(XMLInputStAX.java:503) at com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.getOneSolution(XMLInputStAX.java:413) at com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.hasNext(XMLInputStAX.java:218) 这是耶拿虫还是其他什么? 编辑:为了完整,我报告a thread about this error:
解决方法
XML结果看起来完全有效(并且没有问题地解析其他工具)所以这可能是Jena的一些问题,但是考虑到Jena框架的相对成熟度,如果在这样一个简单且明显有效的输入上出错,我会感到惊讶.
你究竟是如何从DBPedia中读取XML的?我怀疑这个bug可能与Java代码中的XML字符串的检索和格式有关,而不是与Jena的代码有关. 也是为什么这样做,为什么不使用ARQ的QueryExecutionFactory.sparqlService(字符串服务,字符串查询)方法呢? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |