SPARQL examples

From Dariah-Lab
Jump to navigation Jump to search

This page is parsed by the web interface of the query service to fill the query example dialog.


Towns that served as county capital in the 16th century

#title:Towns that served as county capital in the 16th century
#defaultView:Map
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". }
  }

Try it!

Human settlements that were places of the local assembly in the 16th century

#title:Human settlements that were places of the local assembly in the 16th century
#defaultView:Map
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.  # places of the local assembly
      FILTER(YEAR(?pointintime) = 1600 && YEAR(?pointintime1) = 1600)
      SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
  }

Try It!

Human settlements that were towns in the 16th century and are now villages

#title:Human settlements that were towns in the 16th century and are now villages
#defaultView:Map
SELECT ?settlement ?settlementLabel ?coordinate16thCentury WHERE {
  # Warunek dla miejscowości
  ?settlement wdt:P27 wd:Q175698.

  # It was a town in the 16th century
  ?settlement p:P62 ?cityStatement.
  ?cityStatement ps:P62 wd:Q622;
                 pq:P40 ?pointInTime16thCentury.
  FILTER(YEAR(?pointInTime16thCentury) > 1500 && YEAR(?pointInTime16thCentury) <= 1600)

  # it is a village in the year 2022
  ?settlement p:P62 ?villageStatement.
  ?villageStatement ps:P62 wd:Q653;
                    pq:P40 ?pointInTime2022.
  FILTER(YEAR(?pointInTime2022) = 2022)

  # geographical coordinates from the 16th century
  ?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". }
}

Try It!

Human settlements that existed in the 16th century but do not exist today

#title:Human settlements that existed in the 16th century but do not exist today
#defaultView:Map
SELECT ?settlement ?settlementLabel ?settlementDescription ?coordinate16thCentury WHERE {
  # Condition for elements that are human settlements
  ?settlement wdt:P27 wd:Q175698.

  # Filter for a description containing the text ‘historic settlement’
  ?settlement schema:description ?settlementDescription.
  FILTER(CONTAINS(LCASE(?settlementDescription), "osada historyczna"))
  
  # geographical coordinates from the 16th century
  ?settlement p:P63 ?coordStatement.
  ?coordStatement ps:P63 ?coordinate16thCentury;
                 pq:P40 ?coordTime.
  FILTER(YEAR(?coordTime) > 1500 && YEAR(?coordTime) <= 1600)

  # Service for labels and descriptions in the indicated language
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],pl". }
}

Try It!

People born in the 16th century

#title:People born in the 16th century
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

Try it!

List of long-lived persons

#title:Persons with known date of birth and death who have lived beyond 90 years
SELECT DISTINCT ?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)

Try It!

Persons living in the 16th century - born, deceased or active during this period

#title:Persons living in the 16th century - born, deceased or active during this period
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

Try It!

Human settlements that were cities in the 16th century

#title:Human settlements that were cities in the 16th century
#defaultView:Map
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". }
  }

Try It!

Human settlements that were monarchically owned in the 16th century

#title:Human settlements that were monarchically owned in the 16th century
#defaultView:Map
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". }
  }

Try It!

Human settlements by settlement ownership type in the 16th century

#title:Human settlements by settlement ownership type in the 16th century
#defaultView:Map
SELECT ?item ?itemLabel ?ahp_id ?coordinate ?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
      # Q64 - monarchical property, Q63 - church property, Q65 - town property, Q66 - noble property
      BIND(
      IF(?typ = wd:Q64, "monarchical",
      IF(?typ = wd:Q63, "church",
      IF(?typ = wd:Q65, "town",
      IF(?typ = wd:Q66, "noble",
      "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 ?layer

Try It!

Summary of the number of people born in each century

#title:Summary of the number of people born in each century
#defaultView:BarChart
SELECT ?centuryRoman (COUNT(*) AS ?count)
WHERE {
  ?person wdt:P27 wd:Q5;
          wdt:P11 ?birthDate .

  # Calculation of centenary based on year of birth
  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).
  # filtering out incorrect data 
  FILTER(?century >= 10 && ?century < 21)
}
GROUP BY ?centuryRoman
ORDER BY ?count

Try It!

Persons with the surname Sobieski born in the 16th and 17th centuries

#title:Persons with the surname Sobieski born in the 16th and 17th centuries
#defaultView:Timeline
SELECT DISTINCT ?person (MAX(?deathDate) as ?ddate) (MAX(?birthDate) as ?bdate) (MAX(?personLabel) as ?label) WHERE {
  # Condition for persons
  ?person wdt:P27 wd:Q5.
  ?person rdfs:label ?personLabel.

  # Collection of date of birth 
  ?person p:P11 ?birthStatement.
  ?birthStatement ps:P11 ?birthDate.
  
  # Collection of date of death
  ?person p:P12 ?deathStatement.
  ?deathStatement ps:P12 ?deathDate.
  
  # date of birth filtering - range 1501-1700 and surname ‘Sobieski’ in the label
  FILTER(CONTAINS(LCASE(?personLabel), "sobieski") && ?birthDate >= "1501-01-01T00:00:00Z"^^xsd:dateTime && ?birthDate <= "1700-12-31T23:59:59Z"^^xsd:dateTime)

} GROUP BY ?person
ORDER BY ?personLabel

Try It!

Renaming of human settlements between the 16th century and the present (monarchical ownership only)

#title:Renaming of human settlements between the 16th century and the present (monarchical ownership only)
#defaultView:Map
SELECT ?place ?currentName ?historicNames ?coordinate ?layer
WHERE {
  
  BIND(
    IF ( CONTAINS(LCASE(CONCAT(?historicNames,",")), LCASE(CONCAT(?currentName, ","))), "continuation of", "change") AS ?layer ).
  
  {
    SELECT ?place ?currentName ?coordinate (GROUP_CONCAT(?historicName; separator=",") AS ?historicNames) 
    WHERE {
      ?place wdt:P27 wd:Q175698;  
             rdfs:label ?currentName.
      ?place wdt:P134 wd:Q64.
      ?place p:P63 ?statement .
      ?statement pq:P40 ?pointintime_coord .
      ?statement ps:P63 ?coordinate .
  
      ?place p:P54 ?historicNameStatement .
      ?historicNameStatement ps:P54 ?historicName;
                             pq:P40 ?pointInTime16thCentury.
      
      # Filter for a description containing the text ‘historic settlement’
      ?place schema:description ?settlementDescription.
      FILTER(LANG(?settlementDescription) = "pl")  # Description in Polish
      FILTER(!STRSTARTS(?settlementDescription, "osada historyczna")) 
  
      FILTER(LANG(?currentName) = "pl" && YEAR(?pointInTime16thCentury) = 1600 && YEAR(?pointintime_coord) = 1600)
      }
    GROUP BY ?place ?currentName ?coordinate
  }
}

Try It!

Distances between the location of settlements in the 16th century and today (in km)

#title:Distances between the location of settlements in the 16th century and today (in km)
SELECT DISTINCT ?place ?placeLabel ?distance 
WHERE {
  
SELECT ?place ?placeLabel ?coord1 ?coord2 (geof:distance(?coord1, ?coord2) AS ?distance)
WHERE {
  ?place wdt:P27 wd:Q175698;
         p:P63 ?statement1, ?statement2.

  ?statement1 ps:P63 ?coord1.
  ?statement2 ps:P63 ?coord2.

  FILTER(?statement1 != ?statement2)
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
}
ORDER BY DESC (?distance)

Try It!

Villages named: Wólka or Dąbrowa in the 16th century

#title:Villages named: Wólka or Dąbrowa in the 16th century
#defaultView:Map
SELECT ?item ?itemLabel ?ahp_id ?coordinate ?historicNames ?layer
WHERE {
  
BIND(
      IF(CONTAINS(?historicNames, "Wólka"), "Wólka",
      IF(CONTAINS(?historicNames, "Dąbrowa"), "Dąbrowa",
      "inna"))
      AS ?layer).

  { 
    SELECT ?item ?itemLabel ?ahp_id ?coordinate (GROUP_CONCAT(?historicName; separator=",") AS ?historicNames) 
    WHERE
    {
      ?item wdt:P81 ?ahp_id .
      ?item p:P63 ?statement .
      ?statement ps:P63 ?coordinate .
      ?statement pq:P40 ?pointintime .
    
      ?item p:P54 ?historicNameStatement .
      ?historicNameStatement ps:P54 ?historicName;
                             pq:P40 ?pointInTime16thCentury.
      
      FILTER( YEAR(?pointintime) = 1600 && YEAR(?pointInTime16thCentury) = 1600 && (CONTAINS(?historicName, "Wólka") || CONTAINS(?historicName, "Dąbrowa")))
    }
    GROUP BY ?item ?itemLabel ?ahp_id ?coordinate ?historicName
  }
  
  FILTER(?layer = "Wólka" || ?layer = "Dąbrowa")
}

Try It!

Occurrence of names: Stara Wieś and Nowa Wieś in the 16th century

#title:Occurrence of names: Stara Wieś and Nowa Wieś in the 16th century
#defaultView:Map
SELECT ?item ?itemLabel ?ahp_id ?coordinate ?historicNames ?layer
WHERE {
  
BIND(
      IF(CONTAINS(?historicNames, "Nowa Wieś"), "Nowa Wieś",
      IF(CONTAINS(?historicNames, "Stara Wieś"), "Stara Wieś",
      "inna"))
      AS ?layer).

  { 
    SELECT ?item ?itemLabel ?ahp_id ?coordinate (GROUP_CONCAT(?historicName; separator=",") AS ?historicNames) 
    WHERE
    {
      ?item wdt:P81 ?ahp_id .
      ?item p:P63 ?statement .
      ?statement ps:P63 ?coordinate .
      ?statement pq:P40 ?pointintime .
    
      ?item p:P54 ?historicNameStatement .
      ?historicNameStatement ps:P54 ?historicName;
                             pq:P40 ?pointInTime16thCentury.
      
      FILTER( YEAR(?pointintime) = 1600 && YEAR(?pointInTime16thCentury) = 1600 && (CONTAINS(?historicName, "Nowa Wieś") || CONTAINS(?historicName, "Stara Wieś")))
    }
    GROUP BY ?item ?itemLabel ?ahp_id ?coordinate ?historicName
  }
  
  FILTER(?layer = "Nowa Wieś" || ?layer = "Stara Wieś")
}

Try It!

Human settlements (usually a village) which forms a so-called neighbourhood in 16 century

#title:Human settlements (usually a village) which forms a so-called neighbourhood in 16 century
#defaultView:Map
    SELECT DISTINCT ?item ?itemLabel ?ahp_id ?coordinate
    WHERE
    {
      ?item wdt:P81 ?ahp_id .
      ?item p:P63 ?statement .
      ?statement ps:P63 ?coordinate .
      ?statement pq:P40 ?pointintime .
    
      ?item wdt:P84 ?okolica
      
      FILTER( YEAR(?pointintime) = 1600)
    }

Try it!

Catholic archdeaconates, deaneries and parishes in the 16th century

#title:Catholic archdeaconates, deaneries and parishes in the 16th century
#defaultView:Tree
SELECT ?archidiakonat ?archidiakonatLabel ?dekanat ?dekanatLabel ?parafia ?parafiaLabel
WHERE {
  # Finding of archdeaconries
  ?archidiakonat wdt:P27 wd:Q722 .
  
  # Finding of deaneries that are part of archdeaconries
  ?dekanat wdt:P27 wd:Q719 ;
           wdt:P37 ?archidiakonat .
  
  # Finding parishes that are part of deaneries
  ?parafia wdt:P27 wd:Q714 ;
           wdt:P37 ?dekanat .
  
  # Pobranie etykiet
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],pl". }
}
ORDER BY ?archidiakonatLabel ?dekanatLabel ?parafiaLabel

Try it!

Palatinates, district and settlements in the 16th century

#title:Palatinates, district and settlements in the 16th century
#defaultView:Tree
SELECT ?wojewodztwo ?wojewodztwoLabel ?powiat ?powiatLabel ?miejscowosc ?miejscowoscLabel
WHERE {
  ?wojewodztwo wdt:P27 wd:Q905 .
  
  ?powiat wdt:P27 wd:Q903 ;
          wdt:P37 ?wojewodztwo .
  
  ?miejscowosc wdt:P27 wd:Q175698 ;
               wdt:P70 ?powiat .
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],pl". }
}
ORDER BY ?wojewodztwoLabel ?powiatLabel ?miejscowoscLabel

Try It!

Number of parishes in deaneries and archdeaconries in the 16th century

#title:Number of parishes in deaneries and archdeaconries in the 16th century
SELECT ?archidiakonat ?archidiakonatLabel (COUNT(DISTINCT ?dekanat) AS ?liczba_dekanatow) (COUNT(DISTINCT ?parafia) AS ?liczba_parafii)
WHERE {
  ?archidiakonat wdt:P27 wd:Q722 .
  
  ?dekanat wdt:P27 wd:Q719 ;
           wdt:P37 ?archidiakonat .
  
  ?parafia wdt:P27 wd:Q714 ;
           wdt:P37 ?dekanat .
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
GROUP BY ?archidiakonat ?archidiakonatLabel
ORDER BY ?archidiakonatLabel

Try it!