Bruger:Dipsacus fullonum/SPARQL
Udseende
Interessante Wikidata-SPARQL-forespørgsler på Wikidata.
Antal biografier på dawiki fordelt efter fødselsår (1800-nu) og køn (linjegraf)
[redigér | rediger kildetekst]# Count biographies at dawiki by birth year and sex
#defaultView:LineChart
SELECT ?sex ?birth_year ?articles ?sexLabel
WITH
{
SELECT ?sex ?birth_year (COUNT(?link) as ?articles)
WHERE
{
?link schema:about ?person;
schema:isPartOf <https://da.wikipedia.org/>. hint:Prior hint:runFirst true.
?person wdt:P31 wd:Q5.
?person p:P569/psv:P569 [
wikibase:timeValue ?dateOfBirth;
wikibase:timePrecision ?precision
].
FILTER(?precision >= "8"^^xsd:integer) # Precision is decade or smaller
BIND(SUBSTR(STR(?dateOfBirth),1,4) as ?birth_year)
?person wdt:P21 ?sex.
}
GROUP BY ?birth_year ?sex
} AS %results
WHERE
{
INCLUDE %results.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
FILTER(?birth_year >= "1800")
}
ORDER BY ASC(?birth_year)
Antal biografier på dawiki fordelt efter fødselsårti (150-nu) og køn (linjegraf)
[redigér | rediger kildetekst]# Count biographies at dawiki by birth decade and sex
#defaultView:LineChart
SELECT ?sex ?birth_decade ?articles ?sexLabel
WITH
{
SELECT ?sex ?birth_decade (COUNT(?link) as ?articles)
WHERE
{
?link schema:about ?person;
schema:isPartOf <https://da.wikipedia.org/>. hint:Prior hint:runFirst true.
?person wdt:P31 wd:Q5.
?person p:P569/psv:P569 [
wikibase:timeValue ?dateOfBirth;
wikibase:timePrecision ?precision
].
FILTER(?precision >= "8"^^xsd:integer) # Precision is decade or smaller
BIND(SUBSTR(STR(?dateOfBirth),1,3) as ?birth_decade)
?person wdt:P21 ?sex.
}
GROUP BY ?birth_decade ?sex
} AS %results
WHERE
{
INCLUDE %results.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
FILTER(?birth_decade >= "150")
}
ORDER BY ASC(?birth_decade)
Artikler som mangler i en kategori, men som er i kategorien på andre sprog
[redigér | rediger kildetekst]Denne forespørgsel vil finde alle artikler på dansk Wikipedia som ikke er i en bestemt kategori, men hvor den tilsvarende artikel om emnet i en anden Wikipedia er i den tilsvarende kategori på den anden Wikipedia.
SELECT ?item ?article ?title ?found_in
WITH
{
SELECT
?item
(GROUP_CONCAT(?endpoint; SEPARATOR=", ") AS ?found_in)
(MAX(?in_category) AS ?already_in_category)
WHERE
{
?category schema:name "Kategori:Olympiske sølvmedaljevindere fra Sovjetunionen"@da .
?category schema:isPartOf <https://da.wikipedia.org/> .
?category schema:about ?category_item .
?other_cat schema:about ?category_item .
?other_cat schema:isPartOf ?wikimedia_site .
?other_cat schema:name ?category_title .
BIND (STRBEFORE(STRAFTER(STR(?wikimedia_site), "https://"), "/") AS ?endpoint)
OPTIONAL
{
SERVICE wikibase:mwapi
{
bd:serviceParam wikibase:endpoint ?endpoint .
bd:serviceParam wikibase:api "Generator" .
bd:serviceParam mwapi:generator "categorymembers" .
bd:serviceParam mwapi:gcmtitle ?category_title .
bd:serviceParam mwapi:gcmlimit "max" .
?item wikibase:apiOutputItem mwapi:item .
}
}
FILTER BOUND (?item)
BIND (IF(?wikimedia_site = <https://da.wikipedia.org/>, 1, 0) AS ?in_category)
}
GROUP BY ?item
HAVING (?already_in_category = 0)
} AS %get_items
WHERE
{
hint:Query hint:optimizer "None" .
INCLUDE %get_items
?article schema:about ?item .
?article schema:isPartOf <https://da.wikipedia.org/> .
?article schema:name ?title .
}
Russere med dansk Wikipedia-artikel som ikke er i udvalgte beskæftigelsesgrupper
[redigér | rediger kildetekst]SELECT ?artikel ?dansk_titel (GROUP_CONCAT(DISTINCT ?landLabel; separator=", ") AS ?statsborger)
(GROUP_CONCAT(DISTINCT ?beskæftigelseLabel; separator=", ") AS ?erhverv) ?ru_label ?modersmålsnavn ?sprogkode
WITH
{
SELECT ?artikel ?person
WHERE
{
?person wdt:P31 wd:Q5 . # Menneske
VALUES ?land { wd:Q34266 wd:Q15180 wd:Q2184 wd:Q159 }
?person wdt:P27 ?land . # Statsborger i Det Russiske Kejserrige, Sovjetunionen, Russiske SFSR eller Rusland
?artikel schema:about ?person.
?artikel schema:isPartOf <https://da.wikipedia.org/>.
}
} AS %personer
WHERE
{
INCLUDE %personer
?person wdt:P27 ?land .
OPTIONAL
{
?person wdt:P1559 ?modersmålsnavn.
BIND (LANG(?modersmålsnavn) AS ?sprogkode)
}
OPTIONAL
{
?person rdfs:label ?ru_label.
FILTER (LANG(?ru_label) = "ru")
}
OPTIONAL { ?person wdt:P106 ?beskæftigelse . }
FILTER NOT EXISTS
{
?person wdt:P106 ?beskæft .
VALUES ?grupper { wd:Q901 wd:Q483501 wd:Q50995749 wd:Q82955 wd:Q16727193 wd:Q47064}
# videnskabsmand, kunstner, sportsperson, politiker, humanist, militærperson
?beskæft wdt:P279* ?grupper . hint:Prior hint:gearing "forward" .
}
?artikel schema:name ?dansk_titel .
SERVICE wikibase:label
{
bd:serviceParam wikibase:language "da" .
?land rdfs:label ?landLabel .
?beskæftigelse rdfs:label ?beskæftigelseLabel .
}
}
GROUP BY ?artikel ?dansk_titel ?ru_label ?modersmålsnavn ?sprogkode
ORDER BY ?dansk_titel