无法使用SPARQL Query从dbpedia获取数据

时间:2017-02-04 06:37:16

标签: sparql semantic-web dbpedia apache-jena

我正在尝试使用以下代码从dbpedia获取有关国家/地区的信息。但是,我没有得到任何。也是找到这种可能信息的方式。

public void getCountriesInformation() throws FileNotFoundException, IOException {
    {   
        System.out.println(listOfCountries);
        ParameterizedSparqlString qs = new ParameterizedSparqlString("PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n "
                + "SELECT * {     ?Subject rdf:type <http://dbpedia.org/page/" + listOfCountries.get(0) +"> .     ?Subject ?Predicate ?Object } ORDER BY ?Subject LIMIT 10000 OFFSET 10000");

        QueryExecution exec = QueryExecutionFactory.sparqlService("https://dbpedia.org/sparql", qs.asQuery());
        //exec.setTimeout(10000000);
        exec.setTimeout(10, TimeUnit.MINUTES);
        ResultSet results = exec.execSelect();
        ResultSetFormatter.outputAsCSV(new FileOutputStream(new File("C:/Users/leons/Desktop/CountryData.csv")), results);
        //ResultSetFormatter.out(results);
    }
    //CSVCountryNameFetcher countryNameFetcher = new CSVCountryNameFetcher();
    //countryNameFetcher.fetchDataFromCSV();
}

1 个答案:

答案 0 :(得分:1)

整个查询错误:

  1. 国家/地区是DBpedia中的资源,因此,它们不会出现在具有谓词{{​​1}}的对象位置的三元组中。这没有任何意义。

  2. DBpedia的命名空间为rdf:type

  3. 示例查询将是

    http://dbpedia.org/resource/