HTTP Sparql Query 中的德语 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。我正在添加两个代码片段 - 一个有效(第一个 - 查询安联竞技场:在 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);

我认为这根本不是耶拿的问题。正在尝试:

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

在 http://dbpedia.org/sparql 我没有得到任何结果:自己尝试一下。

SELECT * WHERE {
    <http://de.dbpedia.org/resource/Schloss_Nymphenburg> ?p ?o }
相比之下,返回

一些东西,即使它只是一堆交叉链接。

最新更新