Mos*_*bdo 6 java semantic-web sparql wikidata
目前,Wikidata有一个SPARQL端点" https://query.wikidata.org/ ",我想使用Jena(3.0.1)查询此站点,我使用以下代码但是我收到一条错误消息" Endpoint返回内容-Type:SELECT查询当前不支持的text/html ".有办法解决吗?相同的代码适用于dbpedia.谢谢
queryString = "PREFIX bd: <http://www.bigdata.com/rdf#>\n" +
"PREFIX wikibase: <http://wikiba.se/ontology#>\n" +
"PREFIX wdt: <http://www.wikidata.org/prop/direct/>\n" +
"PREFIX wd: <http://www.wikidata.org/entity/>\n" +
"SELECT DISTINCT ?country ?countryLabel\n" +
"WHERE\n" +
"{\n" +
"\t?country wdt:P31 wd:Q3624078 .\n" +
" ?country wdt:P1622 wd:Q13196750.\n" +
" ?country wdt:P30 wd:Q15\n" +
"\tFILTER NOT EXISTS {?country wdt:P31 wd:Q3024240}\n" +
"\tSERVICE wikibase:label { bd:serviceParam wikibase:language \"en\" }\n" +
"}\n" +
"ORDER BY ?countryLabel";
query = QueryFactory.create(queryString);
qexec = QueryExecutionFactory.sparqlService("https://query.wikidata.org/", queryString);
try {
ResultSet results = qexec.execSelect();
ResultSetFormatter.out(System.out, results, query);
} catch (Exception ex) {
System.out.println(ex.getMessage());
} finally {
qexec.close();
}
Run Code Online (Sandbox Code Playgroud)
Jos*_*lor 10
根据文档,端点最后有一个/ sparql.它说
可以使用GET请求将SPARQL查询直接提交到SPARQL端点
https://query.wikidata.org/sparql?query={SPARQL}
(POST和其他方法请求将被拒绝,并且"403 Forbidden").结果默认返回为XML,如果提供查询参数format = json或标题Accept:application/sparql-results + json,则返回JSON.
归档时间: |
|
查看次数: |
1539 次 |
最近记录: |