Я использую следующий запрос в службе запросов wikidata:
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
Невозможно определить викибазу как префикс. Любая подсказка? Спасибо заранее, Дэвид.
Когда вы используете страницу запроса SPARQL, несколько префиксов предварительно объявляются, в том числе викибазой. При удаленном запросе конечной точки они должны быть объявлены. Поэтому используйте PREFIX wikibase: <http://wikiba.se/ontology#> в своем запросе.
PREFIX wikibase: <http://wikiba.se/ontology#>
Список префиксов доступен в вики