SPARQL examples: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 195: | Line 195: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[https://wikihum.lab.dariah.pl/wdqs/#%23Miejscowo%C5%9Bci%20kt%C3%B3re%20w%20XVI%20wieku%20by%C5%82y%20w%C5%82asno%C5%9Bci%C4%85%20monarsz%C4%85%0ASELECT%20%3Fitem%20%3FitemLabel%20%3Fahp_id%20%3Fcoordinate%0A%20%20WHERE%0A%20%20%7B%0A%20%20%20%20%20%20%3Fitem%20wdt%3AP81%20%3Fahp_id%20.%0A%20%20%20%20%20%20%3Fitem%20p%3AP63%20%3Fstatement%20.%0A%20%20%20%20%20%20%3Fitem%20p%3AP134%20%3Fstatement1.%0A%20%20%20%20%20%20%3Fstatement%20pq%3AP40%20%3Fpointintime%20.%0A%20%20%20%20%20%20%3Fstatement1%20pq%3AP40%20%3Fpointintime1%20.%0A%20%20%20%20%20%20%3Fstatement%20ps%3AP63%20%3Fcoordinate%20.%0A%20%20%20%20%20%20%3Fstatement1%20%28ps%3AP134%2F%28wdt%3AP56%2a%29%29%20wd%3AQ64.%0A%20%20%20%20%20%20FILTER%28YEAR%28%3Fpointintime%29%20%3D%201600%29%0A%20%20%20%20%20%20FILTER%28YEAR%28%3Fpointintime1%29%20%3D%201600%29%0A%20%20%20%20%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%20%20%7D Try It!] | [https://wikihum.lab.dariah.pl/wdqs/#%23Miejscowo%C5%9Bci%20kt%C3%B3re%20w%20XVI%20wieku%20by%C5%82y%20w%C5%82asno%C5%9Bci%C4%85%20monarsz%C4%85%0ASELECT%20%3Fitem%20%3FitemLabel%20%3Fahp_id%20%3Fcoordinate%0A%20%20WHERE%0A%20%20%7B%0A%20%20%20%20%20%20%3Fitem%20wdt%3AP81%20%3Fahp_id%20.%0A%20%20%20%20%20%20%3Fitem%20p%3AP63%20%3Fstatement%20.%0A%20%20%20%20%20%20%3Fitem%20p%3AP134%20%3Fstatement1.%0A%20%20%20%20%20%20%3Fstatement%20pq%3AP40%20%3Fpointintime%20.%0A%20%20%20%20%20%20%3Fstatement1%20pq%3AP40%20%3Fpointintime1%20.%0A%20%20%20%20%20%20%3Fstatement%20ps%3AP63%20%3Fcoordinate%20.%0A%20%20%20%20%20%20%3Fstatement1%20%28ps%3AP134%2F%28wdt%3AP56%2a%29%29%20wd%3AQ64.%0A%20%20%20%20%20%20FILTER%28YEAR%28%3Fpointintime%29%20%3D%201600%29%0A%20%20%20%20%20%20FILTER%28YEAR%28%3Fpointintime1%29%20%3D%201600%29%0A%20%20%20%20%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%20%20%7D Try It!] | ||
=== Miejscowości według typu własności w XVI wieku === | |||
<syntaxhighlight lang="SPARQL" class="mw-highlight-lang-sparql"> | |||
#defaultView:Map | |||
SELECT DISTINCT ?item ?itemLabel ?ahp_id ?coordinate (SAMPLE(?layer) AS ?layer) | |||
WHERE | |||
{ | |||
?item wdt:P81 ?ahp_id . | |||
?item p:P63 ?statement . | |||
?item p:P134 ?statement1. | |||
?statement pq:P40 ?pointintime . | |||
?statement1 pq:P40 ?pointintime1 . | |||
?statement ps:P63 ?coordinate . | |||
?statement1 (ps:P134/(wdt:P56*)) ?typ | |||
#?statement1 (ps:P134/(wdt:P56*)) wd:Q64. # Q64 - własność monarsza, Q63 - duchowna, Q65 - mieszczańska, Q66 - szlachecka | |||
BIND( | |||
IF(?typ = wd:Q64, "monarsza", | |||
IF(?typ = wd:Q63, "duchowna", | |||
IF(?typ = wd:Q65, "mieszczańska", | |||
IF(?typ = wd:Q66, "szlachecka", | |||
"inna")))) | |||
AS ?layer). | |||
FILTER(YEAR(?pointintime) = 1600) | |||
FILTER(YEAR(?pointintime1) = 1600) | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } | |||
} | |||
GROUP BY ?item ?itemLabel ?ahp_id ?coordinate | |||
</syntaxhighlight> | |||
[https://wikihum.lab.dariah.pl/wdqs/#%23Miejscowo%C5%9Bci%20wed%C5%82ug%20typu%20w%C5%82asno%C5%9Bci%20w%20XVI%20wieku%0A%23defaultView%3AMap%0ASELECT%20DISTINCT%20%3Fitem%20%3FitemLabel%20%3Fahp_id%20%3Fcoordinate%20%28SAMPLE%28%3Flayer%29%20AS%20%3Flayer%29%0A%20%20WHERE%0A%20%20%7B%0A%20%20%20%20%20%20%3Fitem%20wdt%3AP81%20%3Fahp_id%20.%0A%20%20%20%20%20%20%3Fitem%20p%3AP63%20%3Fstatement%20.%0A%20%20%20%20%20%20%3Fitem%20p%3AP134%20%3Fstatement1.%0A%20%20%20%20%20%20%3Fstatement%20pq%3AP40%20%3Fpointintime%20.%0A%20%20%20%20%20%20%3Fstatement1%20pq%3AP40%20%3Fpointintime1%20.%0A%20%20%20%20%20%20%3Fstatement%20ps%3AP63%20%3Fcoordinate%20.%0A%20%20%20%20%20%20%3Fstatement1%20%28ps%3AP134%2F%28wdt%3AP56%2a%29%29%20%3Ftyp%0A%20%20%20%20%20%20%23%3Fstatement1%20%28ps%3AP134%2F%28wdt%3AP56%2a%29%29%20wd%3AQ64.%20%20%23%20Q64%20-%20w%C5%82asno%C5%9B%C4%87%20monarsza%2C%20Q63%20-%20duchowna%2C%20Q65%20-%20mieszcza%C5%84ska%2C%20Q66%20-%20szlachecka%0A%20%20%20%20%20%20BIND%28%0A%20%20%20%20%20%20IF%28%3Ftyp%20%3D%20wd%3AQ64%2C%20%22monarsza%22%2C%0A%20%20%20%20%20%20IF%28%3Ftyp%20%3D%20wd%3AQ63%2C%20%22duchowna%22%2C%0A%20%20%20%20%20%20IF%28%3Ftyp%20%3D%20wd%3AQ65%2C%20%22mieszcza%C5%84ska%22%2C%0A%20%20%20%20%20%20IF%28%3Ftyp%20%3D%20wd%3AQ66%2C%20%22szlachecka%22%2C%0A%20%20%20%20%20%20%22inna%22%29%29%29%29%0A%20%20%20%20%20%20AS%20%3Flayer%29.%0A%20%20%20%20%20%20FILTER%28YEAR%28%3Fpointintime%29%20%3D%201600%29%0A%20%20%20%20%20%20FILTER%28YEAR%28%3Fpointintime1%29%20%3D%201600%29%0A%20%20%20%20%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%20%20%7D%0AGROUP%20BY%20%3Fitem%20%3FitemLabel%20%3Fahp_id%20%3Fcoordinate Try It!] | |||
=== Podsumowanie liczby osób urodzonych w poszczególnych stuleciach === | === Podsumowanie liczby osób urodzonych w poszczególnych stuleciach === |
Revision as of 14:30, 25 August 2024
This page is parsed by the web interface of the query service to fill the query example dialog.
Miejscowości, które w XVI wieku pełniły funkcję stolicy powiatu
SELECT ?item ?itemLabel ?ahp_id ?coordinate
WHERE
{
?item wdt:P81 ?ahp_id .
?item p:P63 ?statement .
?statement pq:P40 ?pointintime .
?statement ps:P63 ?coordinate .
?item p:P79 ?statement1.
?statement1 pq:P40 ?pointintime1 .
?statement1 (ps:P79/(wdt:P56*)) wd:Q99. # stolica powiatu
FILTER(YEAR(?pointintime) = 1600 && YEAR(?pointintime1) = 1600)
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Miejscowości, które w XVI wieku były miejscami odbywania sejmiku partykularnego
SELECT ?item ?itemLabel ?ahp_id ?coordinate
WHERE
{
?item wdt:P81 ?ahp_id .
?item p:P63 ?statement .
?statement pq:P40 ?pointintime .
?statement ps:P63 ?coordinate .
?item p:P79 ?statement1.
?statement1 pq:P40 ?pointintime1 .
?statement1 (ps:P79/(wdt:P56*)) wd:Q91. # miejsca odbywania sejmiku partykularnego
FILTER(YEAR(?pointintime) = 1600 && YEAR(?pointintime1) = 1600)
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Miejscowości, które w XVI wieku były miastami a obecnie są wsiami
SELECT ?settlement ?settlementLabel ?coordinate16thCentury WHERE {
# Warunek dla miejscowości
?settlement wdt:P27 wd:Q175698.
# Miejscowość była miastem w XVI wieku
?settlement p:P62 ?cityStatement.
?cityStatement ps:P62 wd:Q622;
pq:P40 ?pointInTime16thCentury.
FILTER(YEAR(?pointInTime16thCentury) > 1500 && YEAR(?pointInTime16thCentury) <= 1600)
# Miejscowość jest wsią w roku 2022
?settlement p:P62 ?villageStatement.
?villageStatement ps:P62 wd:Q653;
pq:P40 ?pointInTime2022.
FILTER(YEAR(?pointInTime2022) = 2022)
# Pobieranie współrzędnych z XVI wieku
?settlement p:P63 ?coordStatement.
?coordStatement ps:P63 ?coordinate16thCentury;
pq:P40 ?coordTime.
FILTER(YEAR(?coordTime) > 1500 && YEAR(?coordTime) <= 1600)
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Osady historyczne z XVI wieku
# miejscowości, które istniały w XVI wieku lecz nie istnieją obecnie (domyślny widok: mapa)
#defaultView:Map
SELECT ?settlement ?settlementLabel ?settlementDescription ?coordinate16thCentury WHERE {
# Warunek dla elementów będących osadami
?settlement wdt:P27 wd:Q175698.
# Filtr na opis zawierający tekst "osada historyczna"
?settlement schema:description ?settlementDescription.
FILTER(CONTAINS(LCASE(?settlementDescription), "osada historyczna"))
# Pobieranie współrzędnych z XVI wieku
?settlement p:P63 ?coordStatement.
?coordStatement ps:P63 ?coordinate16thCentury;
pq:P40 ?coordTime.
FILTER(YEAR(?coordTime) > 1500 && YEAR(?coordTime) <= 1600)
# Usługa pobierania etykiet i opisów w odpowiednim języku
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],pl". }
}
Osoby urodzone w XVI wieku
# lista osób urodzonych w XVI wieku
SELECT DISTINCT ?human ?humanLabel (YEAR(?date_of_birth) AS ?year) WHERE {
?human wdt:P27 wd:Q5.
?human wdt:P11 ?date_of_birth.
FILTER (YEAR(?date_of_birth) > 1500 && YEAR(?date_of_birth) < 1601)
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
ORDER BY ?date_of_birth
Lista osób długowiecznych
# osoby ze znaną datą urodzin i śmierci żyjące pow. 90 lat
SELECT ?item ?itemLabel ?age
WHERE {
?item wdt:P27 wd:Q5 .
?item p:P11/psv:P11 ?birth_date_node .
?item p:P12/psv:P12 ?death_date_node .
?birth_date_node wikibase:timeValue ?birth_date.
?death_date_node wikibase:timeValue ?death_date.
?birth_date_node wikibase:timePrecision ?birth_precision.
?death_date_node wikibase:timePrecision ?death_precision.
BIND( YEAR(?death_date) - YEAR(?birth_date) -
IF(MONTH(?death_date)<MONTH(?birth_date) ||
(MONTH(?death_date)=MONTH(?birth_date) && DAY(?death_date)<DAY(?birth_date)),1,0) AS ?age )
FILTER(?age > 90 && ?birth_precision >= 9 && ?death_precision >= 9).
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
ORDER BY DESC(?age)
Osoby żyjące w XVI wieku - urodzone, zmarłe lub aktywne w tym okresie
SELECT * WHERE
{
{
SELECT DISTINCT ?item ?itemLabel WHERE {
?item wdt:P27 wd:Q5.
?item wdt:P11 ?birthdate.
?item wdt:P12 ?deathdate.
FILTER(
((?birthdate >= "1501-01-01T00:00:00Z"^^xsd:dateTime) && (?birthdate <= "1600-12-31T00:00:00Z"^^xsd:dateTime))
||
((?deathdate >= "1501-01-01T00:00:00Z"^^xsd:dateTime) && (?deathdate <= "1600-12-31T00:00:00Z"^^xsd:dateTime))
)
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }}
}
UNION
{
SELECT DISTINCT ?item ?itemLabel WHERE {
?item wdt:P27 wd:Q5.
?item wdt:P87 ?fluorit.
FILTER ((?fluorit >= "+1501-01-01T00:00:00Z"^^xsd:dateTime) && (?fluorit <= "+1600-01-01T00:00:00Z"^^xsd:dateTime))
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }}
}
}
ORDER BY ?itemLabel
Miejscowości, które w XVI wieku były miastami
#Miejscowości które w XVI wieku były miastami
SELECT ?item ?itemLabel ?ahp_id ?coordinate
WHERE
{
?item wdt:P81 ?ahp_id .
?item p:P63 ?statement .
?statement pq:P40 ?pointintime .
?item p:P62 ?statement1.
?statement1 pq:P40 ?pointintime1 .
?statement ps:P63 ?coordinate .
?statement1 (ps:P62/(wdt:P56*)) wd:Q622.
FILTER(YEAR(?pointintime) = 1600 && YEAR(?pointintime1) = 1600)
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Miejscowości, które w XVI wieku były własnością monarszą
SELECT ?item ?itemLabel ?ahp_id ?coordinate
WHERE
{
?item wdt:P81 ?ahp_id .
?item p:P63 ?statement .
?item p:P134 ?statement1.
?statement pq:P40 ?pointintime .
?statement1 pq:P40 ?pointintime1 .
?statement ps:P63 ?coordinate .
?statement1 (ps:P134/(wdt:P56*)) wd:Q64. # Q64 - własność monarsza, Q63 - duchowna, Q65 - mieszczańska, Q66 - szlachecka
FILTER(YEAR(?pointintime) = 1600)
FILTER(YEAR(?pointintime1) = 1600)
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Miejscowości według typu własności w XVI wieku
#defaultView:Map
SELECT DISTINCT ?item ?itemLabel ?ahp_id ?coordinate (SAMPLE(?layer) AS ?layer)
WHERE
{
?item wdt:P81 ?ahp_id .
?item p:P63 ?statement .
?item p:P134 ?statement1.
?statement pq:P40 ?pointintime .
?statement1 pq:P40 ?pointintime1 .
?statement ps:P63 ?coordinate .
?statement1 (ps:P134/(wdt:P56*)) ?typ
#?statement1 (ps:P134/(wdt:P56*)) wd:Q64. # Q64 - własność monarsza, Q63 - duchowna, Q65 - mieszczańska, Q66 - szlachecka
BIND(
IF(?typ = wd:Q64, "monarsza",
IF(?typ = wd:Q63, "duchowna",
IF(?typ = wd:Q65, "mieszczańska",
IF(?typ = wd:Q66, "szlachecka",
"inna"))))
AS ?layer).
FILTER(YEAR(?pointintime) = 1600)
FILTER(YEAR(?pointintime1) = 1600)
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
GROUP BY ?item ?itemLabel ?ahp_id ?coordinate
Podsumowanie liczby osób urodzonych w poszczególnych stuleciach
#defaultView:BarChart
SELECT ?centuryRoman (COUNT(*) AS ?count)
WHERE {
?person wdt:P27 wd:Q5;
wdt:P11 ?birthDate .
# Obliczenie stulecia na podstawie roku urodzenia
BIND(CEIL((YEAR(?birthDate) - 1) / 100) AS ?century)
BIND(
IF(?century = 10, "X",
IF(?century = 11, "XI",
IF(?century = 12, "XII",
IF(?century = 13, "XIII",
IF(?century = 14, "XIV",
IF(?century = 15, "XV",
IF(?century = 16, "XVI",
IF(?century = 17, "XVII",
IF(?century = 18, "XVIII",
IF(?century = 19, "XIX",
IF(?century = 20, "XX",
""))))))))))) AS ?centuryRoman).
# odfiltrowanie błędnych danych
FILTER(?century >= 10 && ?century < 21)
}
GROUP BY ?centuryRoman
ORDER BY ?count