Sparql 与 Java 耶拿
Sparql with Java Jena
我正在使用维基数据查询服务中的下一个查询:
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX xsd: <www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?lexemeId ?lemma WHERE {
?lexemeId <http://purl.org/dc/terms/language> wd:Q1860.
?lexemeId wikibase:lemma ?lemma.
FILTER (regex(?lemma, '^bank.*'))
}
它在 https://query.wikidata.org/ 执行时工作正常,但是,如果尝试使用 Java Jena,它会失败,原因:
Exception in thread "main" org.apache.jena.query.QueryParseException: Line 7, column 11: Unresolved prefixed name: wikibase:lemma
它无法将 wikibase 解析为前缀。
有什么线索吗?
提前致谢,大卫。
当您使用他们的 SPARQL 查询页面时,会预先声明一些前缀,包括 wikibase。在远程查询端点时,必须声明这些。因此,请在查询中使用 PREFIX wikibase: <http://wikiba.se/ontology#>
。
中提供了前缀列表
我正在使用维基数据查询服务中的下一个查询:
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX xsd: <www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?lexemeId ?lemma WHERE {
?lexemeId <http://purl.org/dc/terms/language> wd:Q1860.
?lexemeId wikibase:lemma ?lemma.
FILTER (regex(?lemma, '^bank.*'))
}
它在 https://query.wikidata.org/ 执行时工作正常,但是,如果尝试使用 Java Jena,它会失败,原因:
Exception in thread "main" org.apache.jena.query.QueryParseException: Line 7, column 11: Unresolved prefixed name: wikibase:lemma
它无法将 wikibase 解析为前缀。 有什么线索吗? 提前致谢,大卫。
当您使用他们的 SPARQL 查询页面时,会预先声明一些前缀,包括 wikibase。在远程查询端点时,必须声明这些。因此,请在查询中使用 PREFIX wikibase: <http://wikiba.se/ontology#>
。