我如何在 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?

我注意到 Wikidata 上的一些书籍有 Project Gutenberg 电子书 ID。是否可以在维基数据查询服务上构建一个查询来查找所有包含此 属性 的图书?我是 SPARQL 的新手。

如您所见,如果您将鼠标悬停在 https://www.wikidata.org/wiki/Q6511, the actual property code to be used in SPARQL is https://www.wikidata.org/wiki/Property:P2034 上的 Project Gutenberg e-book ID 的 link 上,或简称为 wdt:P2034

要通过 SPARQL 检索具有 e-book 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")) 
}

这完全取决于添加三重模式和过滤器的正确组合。