User:Salgo60/SthlmSubway

 { "type": "ExternalData", "service": "geoshape", "query": " SELECT DISTINCT ?coordinates ?line ?item ?itemLabel ?connectLabel ?image ?opening ?rgb
 * 1) defaultView:Map{"hide":["?coordinates", "?line", "?rgb"]}

WITH { SELECT ?item (SAMPLE(?coordinates) AS ?coordinates) (SAMPLE(?image) AS ?image) (sample(?lat1) as ?lat1) (sample(?lon1) as ?lon1) (sample(?opening) as ?opening) WHERE { ?item wdt:P31 wd:Q928830. ?item wdt:P127 wd:Q970452. ?item wdt:P625 ?coordinates. ?item p:P625 / psv:P625 / wikibase:geoLatitude ?lat1. ?item p:P625 / psv:P625 / wikibase:geoLongitude ?lon1. OPTIONAL { ?item wdt:P18 ?image }. OPTIONAL { ?item wdt:P1619 ?opening }. } GROUP BY ?item } AS %stations

WITH { SELECT ?nextstation (sample(?lat2) as ?lat2) (sample(?lon2) as ?lon2) WHERE { ?nextstation wdt:P31 wd:Q928830. ?nextstation wdt:P127 wd:Q970452. ?nextstation p:P625 / psv:P625 / wikibase:geoLatitude ?lat2. ?nextstation p:P625 / psv:P625 / wikibase:geoLongitude ?lon2. } GROUP BY ?nextstation } AS %nextstations

WITH { SELECT ?line ?connect ?rgb WHERE { INCLUDE %stations. INCLUDE %nextstations. ?item p:P197 ?nextstationstatement. ?nextstationstatement ps:P197 ?nextstation. ?nextstationstatement pq:P81 ?connect. ?connect wdt:P361 wd:Q272926. ?connect wdt:P465 ?rgb. FILTER(STR(?item) < STR(?nextstation)). BIND(CONCAT('LINESTRING (', STR(?lon1), ' ', STR(?lat1), ',', STR(?lon2), ' ', STR(?lat2), ')') AS ?str). BIND(STRDT(?str, geo:wktLiteral) AS ?line) } } AS %lines WHERE { { INCLUDE %stations } UNION { INCLUDE %lines  }. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } } "}