2016-04-10 86 views
1

我想提出一個查詢,希臘的每個地區都會計算出最好的洗澡水量(即顯示完美質量的水域數量)。所以(有序)的結果應該是這樣的:SPARQL在希臘的夏季

Crete "2048"^^<http://www.w3.org/2001/XMLSchema#integer>  # Crete has 2048 perfect bathing waters 
Santorini "1024"^^<http://www.w3.org/2001/XMLSchema#integer> 
.. 

對我來說問題是如何得到與一個地區有關的洗澡水。那麼我應該擔心如何收集不同的款項。我知道如何訂購。我們假設?concie_0決定質量;如果> 40,那麼它的質量很好。以下是我迄今爲止:

SELECT ?municipality ?bw 
WHERE { 
    ?regional_unit geo:έχει_επίσημο_όνομα "ΠΕΡΙΦΕΡΕΙΑΚΗ ΕΝΟΤΗΤΑ ΗΡΑΚΛΕΙΟΥ" . 
    ?municipality geo:ανήκει_σε ?regional_unit . 
    ?municipality geo:έχει_γεωμετρία ?geometry . 

    ?bw geos:hasGeometry ?bw_geo . 
    ?bw_geo geos:asWKT ?bw_geo_wkt . 
    FILTER(strdf:within(?geometry, ?bw_geo_wkt)) . 
    ?bw unt:has_concie_0 ?concie_0 . 
    FILTER(?concie_0 > 40) 
} 
LIMIT 15 

這給:

municipality        bw 
http://geo.linkedopendata.gr/gag/id/9302 http://data.linkedeodata.eu/poiothta_ydatwn_kolymvhshs_2012/id/340 
http://geo.linkedopendata.gr/gag/id/9302 http://data.linkedeodata.eu/poiothta_ydatwn_kolymvhshs_2012/id/456 
http://geo.linkedopendata.gr/gag/id/9302 http://data.linkedeodata.eu/poiothta_ydatwn_kolymvhshs_2012/id/972 
http://geo.linkedopendata.gr/gag/id/9302 http://data.linkedeodata.eu/poiothta_ydatwn_kolymvhshs_2012/id/1041 
http://geo.linkedopendata.gr/gag/id/9302 http://data.linkedeodata.eu/poiothta_ydatwn_kolymvhshs_2012/id/1365 
http://geo.linkedopendata.gr/gag/id/9302 http://data.linkedeodata.eu/poiothta_ydatwn_kolymvhshs_2012/id/1849 
http://geo.linkedopendata.gr/gag/id/9306 http://data.linkedeodata.eu/poiothta_ydatwn_kolymvhshs_2012/id/340 
http://geo.linkedopendata.gr/gag/id/9306 http://data.linkedeodata.eu/poiothta_ydatwn_kolymvhshs_2012/id/456 
... 

我認爲這洗澡的水域每個區域單元。但是,我不知道如何繼續,是嗎?

回答

3

所有你需要做的是改變你的SELECT子句包括COUNT,加GROUP BY條款每個城市的那組,終於確保了最高分是第一位的ORDER BY條款。像這樣:

SELECT ?municipality (COUNT(?bw) as ?bwCount) 
WHERE { 
    .... 
} 
GROUP BY ?municipality 
ORDER BY DESC(?bwCount) 
+0

謝謝Jeen,我還有最後一個問題:http://stackoverflow.com/questions/36530519/summer-in-greece-vol-2 – gsamaras