以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  [求助]用ARQ查询sparql语句没有输出结果,怎么回事?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=91688)


--  作者:stellazph
--  发布时间:7/8/2011 7:15:00 PM

--  [求助]用ARQ查询sparql语句没有输出结果,怎么回事?

程序是这样的,可以运行。但是不输出结果,怎么回事呢?本体用的LUBM生成的OWL本体。用pellet查询就有结果输出,但ARQ里面就没有。
public class OntoQuery {
 
 public static void main(String[] args) throws IOException{

//      创建一个本体模型,这里使用的是前一段时间设计的IIPO本体,附带实例。

       OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
       final String[] ontology = new String[] {
     "file:examples/data/university0-0.owl",
     "file:examples/data/university0-1.owl",
     "file:examples/data/university0_2.owl",
     "file:examples/data/university0_3.owl"};

       for (int j=0; j<ontology.length ;j++)
       model.read(ontology [j]);

       

//     创建一个查询语句

       String queryString = "PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>"
           + "PREFIX ub:<http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#>"
           +"SELECT ?X ?Y ?Z "
           +"WHERE"
           +"{?X rdf:type ub:Student."
            + "?Y rdf:type ub:Faculty."
            + "?Z rdf:type ub:Course."
             +"?X ub:advisor ?Y."
             +"?Y ub:teacherOf ?Z."
              +"?X ub:takesCourse ?Z}";
//      创建一个查询
       Query query = QueryFactory.create(queryString);

//     执行查询,获得结果
              QueryExecution qe = QueryExecutionFactory.create(query, model);
                    ResultSet results = qe.execSelect();

//     向控制台输出结果s    

       ResultSetFormatter.out(results);
       

//     释放资源

      qe.close();

   } // the end of main.

}

结果为
-------------
| X | Y | Z |
=============
-------------
哪里出错了呢?


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