geocode/templates/sparql/geosearch.sparql

25 lines
1.1 KiB
SPARQL

SELECT DISTINCT ?item ?distance ?itemLabel ?isa ?isaLabel ?commonsCat ?commonsSiteLink WHERE {
{
SELECT DISTINCT ?item ?location ?distance ?isa WHERE {
VALUES ?want { wd:Q486972 wd:Q56061 }
?item wdt:P31/wdt:P279* ?want .
?item wdt:P31 ?isa .
SERVICE wikibase:around {
?item wdt:P625 ?location.
bd:serviceParam wikibase:center "Point({{ lon }} {{ lat }})"^^geo:wktLiteral;
wikibase:radius 5;
wikibase:distance ?distance.
}
}
}
MINUS { ?item wdt:P582 ?endTime . }
MINUS {
VALUES ?isNot { wd:Q1497375 wd:Q1497364 wd:Q92086 wd:Q31028835 wd:Q160742 wd:Q17485079 wd:Q44613 wd:Q98116669 wd:Q3146899 wd:Q708676 wd:Q18917976 wd:Q2750108 wd:Q6021560 wd:Q39614 wd:Q513550 wd:Q31028695 wd:Q31028314 wd:Q839954 wd:Q744099 wd:Q28045079 wd:Q106626840 }
?item wdt:P31 ?isNot .
}
OPTIONAL { ?item wdt:P373 ?commonsCat. }
OPTIONAL { ?commonsSiteLink schema:about ?item;
schema:isPartOf <https://commons.wikimedia.org/>. }
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} ORDER BY (?distance)