【问题标题】:Using Jena to create a SPARQL query on DBpedia使用 Jena 在 DBpedia 上创建 SPARQL 查询
【发布时间】:2010-02-15 16:29:20
【问题描述】:

我正在尝试使用 Jena 创建一个 SPARQL 查询来查询 DBpedia。

当我将它与独立工具 (Twinkle) 一起使用时,该查询正在工作,但当我将它插入此 Java 代码时,它返回一个空集。

String sparqlQueryString1 = "PREFIX dbont: <http://dbpedia.org/ontology/> " +
        "PREFIX dbp: <http://dbpedia.org/property/>" +
        "PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>" +
        "   SELECT ?musician  ?place" +
        "   FROM<http://dbpedia.org/resource/Daphne_Oram>" +
        "   WHERE { " +
        "       ?musician dbont:birthPlace ?place ." +
        "   }";

Query query = QueryFactory.create(sparqlQueryString1);
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query);

ResultSet results = qexec.execSelect();
ResultSetFormatter.out(System.out, results, query);       

qexec.close() ;

任何想法我做错了什么?

【问题讨论】:

    标签: java semantic-web sparql jena


    【解决方案1】:

    问题在于您的FROM &lt;...&gt; 子句。删除它,一切都很好。有了该子句,我怀疑端点将查询限制为具有该名称的图,但不存在这样的图,因此没有结果。

    令人困惑的是,查询似乎在http://dbpedia.org/sparql 的表单上工作。但是,设置了默认的图形 URI,因此查询也会遍历该图形。清除它,查询不起作用。作为替代方案,您可以将其设置为检索远程数据。这会引入提到三个出生地的命名 rdf。

    如果您想找到该音乐家的出生地,请使用:

    { <http://dbpedia.org/resource/Daphne_Oram> dbont:birthPlace ?place . }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      相关资源
      最近更新 更多