HTTP Sparql查询中的德语DBpedia端点不返回任何结果

时间:2015-01-16 15:34:11

标签: sparql jena dbpedia

我使用Jena Java框架使用SPARQL查询DBpedia端点,以获取德国城市中所有兴趣点的类型。对于有英文DBpedia条目的地方,我没有遇到任何问题。但是,当涉及到要从德语DBpedia端点(http://de.dbpedia.org/resource /Schloß_Nymphenburg)查询的地名时,此查询不返回任何结果。这里也提到了这个问题(http://mail-archives.apache.org/mod_mbox/jena-users/201110.mbox/%3C4E877C8A.4050705@apache.org%3E)。即使提到这个,我也无法解决问题。我不知道如何使用QueryEngineHTTP。我正在添加两个代码片段 - 一个有用(第一个 - 查询Allianz Arena:在DBpedia中有英文条目)和一个不起作用(第二个 - 对于SchloßNymphenburg,有德语条目)。 这可能是一个非常微不足道的问题,但我无法解决它。任何指向解决方案的指针都非常有用。 非常感谢! 代码1 - 工作:

String service = "http://dbpedia.org/sparql";
final ParameterizedSparqlString query = new ParameterizedSparqlString(
            "PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>" +
            "PREFIX dbo: <http://dbpedia.org/ontology/>" +
            "PREFIX dcterms: <http://purl.org/dc/terms/>" +

            "SELECT * WHERE {" +
                "?s geo:lat ?lat ." +
                "?s geo:long ?long ." +
                "?s dcterms:subject ?sub}");
query.setIri("?s", "http://dbpedia.org/resource/Allianz_Arena");
QueryExecution qe = QueryExecutionFactory.sparqlService(service, query.toString());
ResultSet results = qe.execSelect();
ResultSetFormatter.out(System.out, results);

代码2 - 不工作:

String service = "http://dbpedia.org/sparql";
final ParameterizedSparqlString query = new ParameterizedSparqlString(
        "PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>" +
        "PREFIX dbo: <http://dbpedia.org/ontology/>" +
        "PREFIX dcterms: <http://purl.org/dc/terms/>" +

        "SELECT * WHERE {" +
            "?s geo:lat ?lat ." +
            "?s geo:long ?long ." +
            "?s dcterms:subject ?sub}");

query.setIri("?s", "http://de.dbpedia.org/resource/Schloß_Nymphenburg");
QueryExecution qe = QueryExecutionFactory.sparqlService(service, query.toString());
ResultSet results = qe.execSelect();
ResultSetFormatter.out(System.out, results);

1 个答案:

答案 0 :(得分:0)

我认为这根本不是jena的问题。尝试:

SELECT * WHERE {
    <http://de.dbpedia.org/resource/Schloß_Nymphenburg> ?p ?o }

http://dbpedia.org/sparql我没有收到任何结果:try it yourself

SELECT * WHERE {
    <http://de.dbpedia.org/resource/Schloss_Nymphenburg> ?p ?o }
相反,

会返回一些东西,即使它只是一堆cross links