Analyze Data
The following queries use the Mondial database, a data set compiled by the Universität Göttingen.
For each country, list the 3 cities with the highest population
(: This script accesses the mondial database, which can be
found at http://dbis.informatik.uni-goettingen.de/Mondial/ :)
for $country in /mondial/country
let $cities :=
(for $city in $country//city[population]
order by xs:integer($city/population[1]) descending
return $city)
order by $country/name
return
<country name="{$country/name}">
{
subsequence($cities, 1, 3)
}
</country>
Find all Spanish provinces and their cities
xquery version "1.0";
let $country := /mondial/country[name = 'Spain']
for $province in $country/province
order by $province/name
return
<province>
{$province/name}
{
for $city in $country//city[@province=$province/@id]
order by $city/name
return $city
}
</province>
Find the countries with the largest Roman Catholic population
for $country in /mondial/country
where some $r in $country/religions satisfies $r = "Roman Catholic"
order by $country/religions[. = "Roman Catholic"]/@percentage cast as xs:double descending
return
<country name="{$country/name}">
{$country/religions}
</country>