我同意RobV 的评论,令人惊讶的是,在编写了第一个查询之后,编写第二个查询会遇到很多困难。无论如何,这种变化是相对微不足道的。我检查了两者dc:subject
和dcterms:subject
,似乎古腾堡数据是用 存储的dc:subject
,所以我在这个查询中使用了它,而不是dcterms:subject
。这是查询;您只需要添加dc:subject <.../Shakespeare...>
到模式中,并删除作者约束。一些前缀使查询更易于编写,结果也更易于阅读。
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX gp: <http://wifo5-04.informatik.uni-mannheim.de/gutendata/resource/people/>
PREFIX gs: <http://wifo5-04.informatik.uni-mannheim.de/gutendata/resource/subject/>
PREFIX gr: <http://wifo5-04.informatik.uni-mannheim.de/gutendata/resource/>
SELECT ?book ?author ?bookTitle WHERE {
?book dc:creator ?author ;
dc:title ?bookTitle ;
dc:subject gs:Shakespeare_William_1564-1616 .
}
使用这样的查询,您最终应该得到如下结果:
--------------------------------------------------------------------------------------------
| book | author | bookTitle |
============================================================================================
| gr:etext14827 | gp:Guizot_François_Pierre_Guillaume_1787-1874 | "Étude sur Shakspeare" |
| gr:etext5429 | gp:Johnson_Samuel_1709-1784 | "Preface to Shakespeare" |
--------------------------------------------------------------------------------------------