以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  使用 Jena API 构建自己的d2rq应用遇到下面的问题[求助]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=84797)


--  作者: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)
  因为毕设所以接触这些东西不久,有了解这些的哥哥姐姐们希望能给我一些指点,如果觉得这个程序有问题,并且手上有更好的程序的能发上一个来那就更感谢了。


--  作者:happy2009
--  发布时间:6/17/2010 4:15:00 PM

--  
问题解决了吗?
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms