我注意到Wikidata上的某些书有古腾堡计划电子书ID。是否可以在Wikidata查询服务上构造一个查询,以查找具有此属性的所有书籍?我是SPARQL的新手。
答案 0 :(得分:4)
如您所见,如果将鼠标悬停在https://www.wikidata.org/wiki/Q6511上的Project Gutenberg电子书ID的链接上,则SPARQL中使用的实际属性代码是https://www.wikidata.org/wiki/Property:P2034或wdt:P2034
简而言之。
要通过SPARQL检索所有具有电子书ID的项目,只需做一个基本的三重匹配即可。
SELECT ?work ?bookId
WHERE { ?work wdt:P2034 ?bookId }
当然,您可以扩展此查询的显示方式。例如,要检索书的(英文)标题而不只是标识符,您可以执行以下操作:
SELECT ?title ?ebook_id
WHERE {
?work rdfs:label ?title;
wdt:P2034 ?ebook_id.
FILTER(langMatches(lang(?title), "en"))
}
添加三重模式和过滤器的正确组合完全是一个问题。