Wikidata:WikiProject Books/Queries

See Wikidata:Request a query too.

Books from an author with their publication date edit

Example here with Gilles Deleuze (Q184226)

SELECT ?book ?bookLabel ?date WHERE {
  ?book wdt:P31/wdt:P279* wd:Q571 .
  ?book wdt:P50 wd:Q184226 .
  OPTIONAL {
    ?book wdt:P577 ?date .
  }
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en,fr"
  }
}
Try it!

Items that are about a U.S. supreme court decision and have a Wikisource (en.wikisource) page edit

SELECT ?item ?itemLabel ?article
WHERE
{
    ?item wdt:P31 wd:Q19692072 .
    ?article schema:about ?item ;
    schema:isPartOf    <https://en.wikisource.org/> .
    SERVICE wikibase:label {
      bd:serviceParam wikibase:language "en"
    }
}
Try it!

Wikidata Graph Builder (starting on Roe v. Wade (Q300950)) : here

Books on french wikisource by person born in Quebec edit

#books on french wikisource by person born in Quebec
SELECT ?livre ?livreLabel ?lieuLabel ?page WHERE {
	?livre wdt:P50 ?personne.
	?personne wdt:P19 ?lieu.
	?lieu wdt:P131+ wd:Q176.
	?page schema:about ?livre.
	?page schema:isPartOf <https://fr.wikisource.org/> .
	SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
Try it!

Books on any wikisource by person born in Lombardy edit

#books on any wikisource by person born in Lombardy
SELECT DISTINCT ?book ?page WHERE {
    ?book wdt:P50 ?person.
    ?person wdt:P19 ?place.
    ?place wdt:P131+ wd:Q1210. 
    ?page schema:about ?book .
    ?page schema:isPartOf/wikibase:wikiGroup "wikisource" 	
} limit 10
Try it!

(limit to the 10 first to avoid times out - maybe query can be improved?)

Plays by Jean Racine Q742 by number of characters edit

NEED IMPROVEMENTS/CLEANING
#Plays by Jean Racine Q742 by number of characters
SELECT ?play (COUNT(DISTINCT ?character) AS ?nbChar) WHERE {
  ?play wdt:P50 wd:Q742.
  ?play wdt:P674 ?character.
}
GROUP BY ?play
Try it!

Authors on the Italian Wikisource edit

#Authors on the Italian Wikisource
SELECT ?author ?authorLabel
WHERE
{
	?author wdt:P31 wd:Q5 . #who are human
    ?page schema:about ?author.
	?page schema:isPartOf <https://it.wikisource.org/> . #who are on it.wikisource.org
	SERVICE wikibase:label { bd:serviceParam wikibase:language "it" }
}
Try it!

Narrative locations in travel books on a map (and by layer) edit

#defaultView:Map
SELECT ?book ?bookLabel ?place ?placeLabel ?coord ?layer WHERE {
  ?book wdt:P840 ?place ; wdt:P136 wd:Q1164267 . #books with "narrative location" and which are "travel books"
  ?place wdt:P625 ?coord . #take coordinates from the location

  ?book rdfs:label ?layer . #take the name for the legend of the layer
  FILTER(LANG(?layer) = "fr") . #take only the name in French
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr" . }
}
Try it!

Book with « Bretagne » in the French label edit

#Book French with « Bretagne » in the French label
SELECT distinct ?book ?title ?authorLabel
WHERE
{
	?book rdfs:label ?title ;wdt:P31 wd:Q3331189 ;
	FILTER (lang(?title) = "fr"). 
	FILTER regex (?title, "Bretagne").
	SERVICE wikibase:label { bd:serviceParam wikibase:language "fr" }
}
Try it!

Templates on Wikisources edit

Templates used on Wikisources (sorted by numbers of Wikisources where it is used), could be useful to spread good templates.

SELECT DISTINCT ?template ?templateLabel (COUNT(DISTINCT ?page) as ?count) (GROUP_CONCAT(DISTINCT(?page); separator=", ") as ?pages) WHERE {
    ?template wdt:P31/wdt:P279* wd:Q11266439 .
    ?page schema:about ?template .
    ?page schema:isPartOf/wikibase:wikiGroup "wikisource"
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
GROUP BY ?template ?templateLabel
ORDER BY DESC(?count)
limit 10
Try it!