【问题标题】:German DBpedia endpoint in HTTP Sparql Queries returns no resultHTTP Sparql 查询中的德语 DBpedia 端点不返回结果
【发布时间】:2015-01-16 15:34:11
【问题描述】:

我正在使用 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。我正在添加两个代码 sn-ps - 一个有效(第一个 - 查询 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);

【问题讨论】:

    标签: sparql jena dbpedia


    【解决方案1】:

    我认为这根本不是 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

    【讨论】:

    • 感谢您的建议。这个适用于您的查询 (&lt;http://de.dbpedia.org/resource/Schloss_Nymphenburg&gt; ?p ?o)。但是,当我尝试运行 SELECT * WHERE { &lt;http://de.dbpedia.org/resource/Schloss_Nymphenburg&gt; &lt;http://purl.org/dc/terms/subject&gt; ?sub} 时,它什么也没返回。
    • 如果您查看我的最后一个链接,您会发现它只是 owl:sameAs 链接,没有主题或任何内容。我不确定问题是什么,但这是关于 dbpedia 而不是 jena 的问题。抱歉,我无法提供更多帮助。
    • 没错。它是 dbpedia 的本地德国数据集,没有返回结果。谢谢指点!
    猜你喜欢
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多