Sparql与Java Jena

问题描述 投票:0回答:1

我在 wikidata 查询服务中使用 next 查询。

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,就会失败,原因是:它无法解析wikibase作为前缀。

Exception in thread "main" org.apache.jena.query.QueryParseException: Line 7, column 11: Unresolved prefixed name: wikibase:lemma

它不能解析wikibase作为前缀,有什么线索吗? 先谢谢你,大卫

java sparql jena wikidata wikibase
1个回答
1
投票

当你使用他们的SPARQL查询页面时,会预先声明一些前缀,包括wikibase。当远程查询端点时,这些都必须被声明。所以使用 PREFIX wikibase: <http://wikiba.se/ontology#> 在您的查询中。

前缀的列表可以在 维基

© www.soinside.com 2019 - 2024. All rights reserved.