选择任何DBpedia资源的Wiki页面

时间:2015-06-29 16:32:12

标签: java sparql jena dbpedia

我编写了一个简单的java代码来检索任何DBpedia资源的Wikipedia页面

public static void main(String[] args)throws Exception {
    String service = "http://dbpedia.org/sparql";
    String query = "SELECT ?x WHERE {"
                + "?x foaf:primaryTopic <http://dbpedia.org/resource/France>";
    QueryExecution qe = QueryExecutionFactory.sparqlService(service, query);
            try{
                ResultSet results = qe.execSelect();
                for (; results.hasNext();){
                    QuerySolution sol = (QuerySolution) results.next();
                    String answer = sol.get("?x").toString();
                    System.out.println(answer);

                }
            }
            catch(Exception e){
                System.out.println(e.getMessage());
            }
            finally{
                qe.close();
            }

但我没有结果!! 我已经尝试了sparql查询,它工作正常,所以我不知道什么是错的 SPARQL Result 有什么建议?

1 个答案:

答案 0 :(得分:0)

好吧,我忘了把声明放在一边 当我纠正它,它工作得很好。我只是编辑我的查询并添加foaf声明如下:

String query = "PREFIX foaf: <http://xmlns.com/foaf/0.1/>"
            + "SELECT  ?x WHERE {" 
                + "?x foaf:primaryTopic <http://dbpedia.org/resource/France>}";

感谢@ joshua-taylor的观点