Sample queries
Jump to navigation
Jump to search
Instance count
To get an overview of what's in the BBP, the following query will return a count of all of the different instances, such as works, people, and places.
SELECT ?typeLabel (count(distinct ?x) as ?count) WHERE { ?x wdt:P8 ?type . ?type rdfs:label ?typeLabel. FILTER((LANG(?typeLabel)) = "en") } group by ?type ?typeLabel order by desc(?count)
First 100 Works
Get a list of all of the works
(as of 2019-11, that's exactly 100 works!)
SELECT ?work ?workLabel (count(distinct ?edition) as ?editions) (min(?year) as ?earliestPublicationDate) (GROUP_CONCAT(distinct ?authorLabel; SEPARATOR="; ") as ?authors) (GROUP_CONCAT(distinct ?literaryFormLabel; SEPARATOR="; ") as ?format) WHERE { ?work wdt:P8 wd:Q4 . OPTIONAL { ?work wdt:P90 ?author . ?author rdfs:label ?authorLabel } OPTIONAL { ?work wdt:P11 ?literaryForm . ?literaryForm rdfs:label ?literaryFormLabel } OPTIONAL { ?edition wdt:P13 ?work . ?edition p:P29|p:P32 ?pubStatement } OPTIONAL { ?pubStatement pq:P31 ?date . BIND(str(YEAR(?date)) AS ?year) } ?work rdfs:label ?workLabel . } group by ?work ?workLabel order by ?workLabel
Author Gallery
Return a list of everyone in the BBP listed as an author, as long as they also have a picture in Wikimedia commons, and sort the results by the total number of works listed.
PREFIX wd_1: <http://www.wikidata.org/entity/> PREFIX wdt_1: <http://www.wikidata.org/prop/direct/> SELECT distinct ?person ?personLabel ?pic (COUNT(distinct ?work) as ?workCount) WHERE { ?person wdt:P8 wd:Q3 . ?person rdfs:label ?personLabel . ?person wdt:P107 ?wid . ?person ^wdt:P90 ?work . BIND(IRI(CONCAT('http://www.wikidata.org/entity/', ?wid)) AS ?wikidataURI ) SERVICE <https://query.wikidata.org/sparql> { ?wikidataURI wdt_1:P18 ?pic . } } group by ?person ?personLabel ?pic order by desc(?workCount)
Birthplaces
Map the birth places for everyone listed in the BBP, using coordinate data from Wikidata
PREFIX wd_1: <http://www.wikidata.org/entity/> PREFIX wdt_1: <http://www.wikidata.org/prop/direct/> SELECT distinct ?person ?personLabel ?pob ?pobLabel ?coords WITH { SELECT ?person WHERE { ?item wdt:P8 wd:Q3 . ?item wdt:P107 ?wid . BIND(IRI(CONCAT('http://www.wikidata.org/entity/', ?wid)) AS ?person ) } } AS %people WHERE { include %people SERVICE <https://query.wikidata.org/sparql> { ?person wdt_1:P19 ?pob . ?pob wdt_1:P625 ?coords . ?person rdfs:label ?personLabel . FILTER((LANG(?personLabel)) = "en") ?pob rdfs:label ?pobLabel . FILTER((LANG(?pobLabel)) = "en") } }
Inscription Overview
SELECT ?item ?itemLabel ?inscriptionNote ?from ?to WHERE { ?item wdt:P52 ?inscriptionNote . ?item rdfs:label ?itemLabel . ?item ?x ?statement . ?statement ps:P52 ?inscriptionNote ; pq:P53 ?addressee ; pq:P54 ?inscriber . ?addressee rdfs:label ?to . ?inscriber rdfs:label ?from . } ORDER by ?from
Narrative Publication Overview
prefix wd_1: <http://www.wikidata.org/entity/> prefix wdt_1: <http://www.wikidata.org/prop/direct/> select ?work ?edition ?publisher (year(?date) as ?publicationYear) (count(*) as ?editionsPublishedAtThisLocation) ?coords { ?work wdt:P11 wd:Q28 . ?edition wdt:P13 ?work ; wdt:P29 ?publisher . ?edition ?has ?pubStmt . ?pubStmt ps:P29 ?publisher ; pq:P30 ?place ; pq:P31 ?date . ?place wdt:P107 ?wid . ?publisher rdfs:label ?pubLabel . ?place rdfs:label ?placeLabel . BIND(IRI(CONCAT('http://www.wikidata.org/entity/', ?wid)) AS ?placeMatch ) SERVICE <https://query.wikidata.org/sparql> { ?placeMatch wdt_1:P625 ?coords . } } group by ?work ?edition ?publisher ?date ?coords ?pubLabel ?placeLabel