其他分享
首页 > 其他分享> > 使用Jena在DBpedia上创建SPARQL查询

使用Jena在DBpedia上创建SPARQL查询

作者:互联网

我试图使用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 . }

标签:jena,java,sparql,semantic-web
来源: https://codeday.me/bug/20191001/1837687.html