Having raw URL in the ExternalData element of geojson is unreadable. I propose that we allow this structure (converted to URL by the backend geojson sanitizer):
{ "type": "externalData", // this basically becomes the protocol. All other values in this object are interpreted based on the service "service": "geoshape", // For "geoshape" service, query may be either one string, on a list of strings (will be concatenated) "query": [ "SELECT ?id ?description ?head ?title (SAMPLE(?fill) as ?fill) WHERE {", " ?id wdt:P31 wd:Q35657 .", ... ] }