User:TweetsFactsAndQueries/Queries-test-transclude
Jump to navigation
Jump to search
Try it!
Try it!
Try it!
# which genres are more likely to be in major key, which in minor key, which are about equally distributed?
# note: some tonalities are neither major nor minor, e. g. Q211745 atonality
SELECT ?genre ?genreLabel ?total ?major ?minor (?major / ?total AS ?majorRatio)
WITH {
SELECT DISTINCT ?tonality WHERE {
[] wdt:P826 ?tonality.
}
} AS %tonalities
WITH {
SELECT ?tonality ?isMajor ?isMinor WHERE {
INCLUDE %tonalities.
?tonality rdfs:label ?tonalityLabel.
FILTER(LANG(?tonalityLabel) = "en")
# TODO https://www.wikidata.org/wiki/Wikidata_talk:WikiProject_Music#Items_for_major_and_minor_keys
BIND(STRENDS(?tonalityLabel, " major") AS ?isMajor)
BIND(STRENDS(?tonalityLabel, " minor") AS ?isMinor)
}
} AS %tonalitiesWithMode
WITH {
SELECT ?genre ?tonality (COUNT(DISTINCT ?composition) AS ?count) WHERE {
?composition wdt:P31/wdt:P279* wd:Q207628;
wdt:P136/wdt:P279* ?genre;
wdt:P826 ?tonality.
?genre wdt:P31 wd:Q188451.
}
GROUP BY ?genre ?tonality
} AS %genresAndTonalities WITH {
SELECT ?genre (SUM(?count) AS ?total) (SUM(IF(?isMajor, ?count, 0)) AS ?major) (SUM(IF(?isMinor, ?count, 0)) AS ?minor) WHERE {
INCLUDE %genresAndTonalities.
INCLUDE %tonalitiesWithMode.
}
GROUP BY ?genre
} AS %results WHERE {
INCLUDE %results.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
ORDER BY DESC(?total) DESC(?major)
# a list of all movies shot in the 60s in Spain…
# TODO: in which a black female horse is stolen by a…
# left-handed actor…
# TODO playing a Portuguese orphan, …
# directed by a colorblind German…
# TODO who liked sailing, …
# and written by a dog-owning wom[a]n from Helsinki
# https://www.wikidata.org/wiki/Special:Diff/91950454
SELECT ?movie WHERE {
?movie wdt:P31/wdt:P279* wd:Q11424;
wdt:P915/wdt:P17 wd:Q29;
wdt:P577 ?date; # TODO *shot* in the 60s, not published. But how is that modeled? “significant event: principal photography” is occasionally used, but currently a constraint violation.
wdt:P161 ?actor;
wdt:P57 ?director;
wdt:P58 ?writer.
FILTER("1960-01-01"^^xsd:dateTime <= ?date && ?date < "1970-01-01"^^xsd:dateTime)
?actor wdt:P552 wd:Q789447.
?director wdt:P31 wd:Q5;
wdt:P27 wd:Q183;
wdt:P1050/wdt:P279* wd:Q133696.
?writer wdt:P31 wd:Q5;
wdt:P1429/(wdt:P31/wdt:P279*)? wd:Q144;
wdt:P21 wd:Q6581072;
wdt:P19|wdt:P551 wd:Q1757. # TODO meaning of “from”?
}
#defaultView:Timeline{ "hide": ["?publicationDate"] }
SELECT ?item (?title AS ?itemLabel) ?url ?publicationDate ?subject ?subjectLabel ?dead ?injured WHERE {
?item wdt:P179 wd:Q67365338;
wdt:P1476 ?title;
wdt:P953 ?url;
wdt:P577 ?publicationDate;
wdt:P921 ?subject.
OPTIONAL {
?subject wdt:P1120 ?dead_.
BIND(STRLANG(CONCAT(IF(wikibase:isSomeValue(?dead_), "unknown", STR(?dead_)), " dead"), "en") AS ?dead)
}
OPTIONAL {
?subject wdt:P1339 ?injured_.
BIND(STRLANG(CONCAT(IF(wikibase:isSomeValue(?injured_), "unknown", STR(?injured_)), " injured"), "en") AS ?injured)
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}