-- 作者:zhangfan152
-- 发布时间:5/18/2010 12:25:00 PM
-- 使用 Jena API 构建自己的d2rq应用遇到下面的问题[求助]
小弟新手在这里想请教大家个问题,我在做毕业设计的时候利用D2RQ发布linked Data,从网上下的d2r-server可以根据数据库生成mapping文件,但在用到自己的Eclipse工程过程中遇到了问题,源程序如下: package test; import com.hp.hpl.jena.query.Query; import com.hp.hpl.jena.query.QueryExecutionFactory; import com.hp.hpl.jena.query.QueryFactory; import com.hp.hpl.jena.query.QuerySolution; import com.hp.hpl.jena.query.ResultSet; import de.fuberlin.wiwiss.d2rq.ModelD2RQ; public class Test111 { public void queryBySPARQL(){ ModelD2RQ m = new ModelD2RQ("file:/D:/d2r-server-0.7/Academic.n3"); String SPARQLPrefix = "PREFIX vocab: http://localhost:2020/vocab/resource/"; String SPARQL = SPARQLPrefix + "SELECT ?name ?email ?paper WHERE {" + " ?author vocab:Name ?name . " + " ?author vocab:Email ?email ." + " ?author vocab:Paper2Author ?paper . }" ; Query query = QueryFactory.create(SPARQL); ResultSet rs = QueryExecutionFactory.create(query, m).execSelect(); while (rs.hasNext()) { QuerySolution row = rs.nextSolution(); System.out.println("name:"+row.get("name")+",email:"+row.get("email")+",paper:"+row.get("paper")); } } public static void main(String[] args) { new Test111().queryBySPARQL(); } } 运行之后出现如下错误: Exception in thread "main" com.hp.hpl.jena.query.QueryParseException: Encountered " <PNAME_NS> "http: "" at line 1, column 15. Was expecting: <IRIref> ... at com.hp.hpl.jena.sparql.lang.ParserSPARQL.perform(ParserSPARQL.java:86) at com.hp.hpl.jena.sparql.lang.ParserSPARQL.parse(ParserSPARQL.java:39) at com.hp.hpl.jena.query.QueryFactory.parse(QueryFactory.java:129) at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:72) at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:43) at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:31) at test.Test111.queryBySPARQL(Test111.java:22) at test.Test111.main(Test111.java:31) 因为毕设所以接触这些东西不久,有了解这些的哥哥姐姐们希望能给我一些指点,如果觉得这个程序有问题,并且手上有更好的程序的能发上一个来那就更感谢了。
|