gpt4 book ai didi

java - 使用 Jena 在 DBpedia 上创建 SPARQL 查询

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:18:07 25 4
gpt4 key购买 nike

我正在尝试使用 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() ;

知道我做错了什么吗?

最佳答案

问题是你的FROM <...>条款。删除它,一切都很好。有了那个子句,我怀疑端点将查询限制为具有该名称的图,但不存在这样的图,因此没有结果。

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

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

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

关于java - 使用 Jena 在 DBpedia 上创建 SPARQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2267333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com