Sample queries: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 14: | Line 14: | ||
</pre> | </pre> | ||
[http://tinyurl.com/vr66u8a Try it out!] | [http://tinyurl.com/vr66u8a Try it out!] | ||
== First 100 Works == | |||
Get a list of all of the works <br/> | |||
(as of 2019-11, that's exactly 100 works!) | |||
<pre> | |||
# List all of the works, as well as any "authors" and "formats" associated with those works. | |||
SELECT ?work ?workLabel (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 } | |||
?work rdfs:label ?workLabel . | |||
} | |||
group by ?work ?workLabel | |||
order by ?workLabel | |||
</pre> | |||
== 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. | |||
<pre> | |||
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) | |||
</pre> | |||
== Birthplaces == | == Birthplaces == |
Revision as of 22:24, 10 November 2019
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!)
# List all of the works, as well as any "authors" and "formats" associated with those works. SELECT ?work ?workLabel (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 } ?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