如何在 Wikidata 上创建一个 SPARQL 查询,以获取所有具有 Project Gutenberg 电子书 ID 的书籍?
Posted
技术标签:
【中文标题】如何在 Wikidata 上创建一个 SPARQL 查询,以获取所有具有 Project Gutenberg 电子书 ID 的书籍?【英文标题】:How can I create a SPARQL query on Wikidata that gets all books that have a Project Gutenberg Ebook ID? 【发布时间】:2019-02-27 22:41:04 【问题描述】:我注意到一些关于 Wikidata 的书籍有古腾堡计划的电子书 ID。是否可以在 Wikidata 查询服务上构建一个查询来查找所有具有此属性的书籍?我是 SPARQL 的新手。
【问题讨论】:
你能举一个维基数据上具有这个电子书 ID 的书的例子吗? 当然:wikidata.org/wiki/Q6511 【参考方案1】:您可以看到,如果您将鼠标悬停在 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"))
只需添加三重模式和过滤器的正确组合即可。
【讨论】:
以上是关于如何在 Wikidata 上创建一个 SPARQL 查询,以获取所有具有 Project Gutenberg 电子书 ID 的书籍?的主要内容,如果未能解决你的问题,请参考以下文章