Project:SPARQL/examples: Difference between revisions

Line 1,701: Line 1,701:
WHERE {   
WHERE {   
   ?item bnwdt:P12 bnwd:Q2961 .
   ?item bnwdt:P12 bnwd:Q2961 .
 
   ?item bnwdt:P2  ?location .  # item has property P2 location
   ?item bnwdt:P2  ?location .  # item has property P2 location
    
    
   ?location bnwdt:P117 ?ws .  # wikidata id   
 
  optional { ?location bnwdt:P33 ?adminterr .
              ?adminterr bnwdt:P117 ?wsa .  # and has wikidata id 
 
            bind(iri(concat("http://www.wikidata.org/entity/", str(?wsa))) as ?wikidataa) .
              SERVICE <https://query.wikidata.org/sparql> {
              ?wikidataa wdt:P625 ?wd_geo2 . 
            } # /wikidata service   
          }
 
  optional {
   ?location bnwdt:P117 ?ws .  # and has wikidata id   
    
    
     bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
     bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
         SERVICE <https://query.wikidata.org/sparql> {
         SERVICE <https://query.wikidata.org/sparql> {
             ?wikidata wdt:P625 ?wd_geo .   
             ?wikidata wdt:P625 ?wd_geo1 .   
         } # /wikidata service     
         } # /wikidata service     
  }
    
    
  BIND(COALESCE(?wd_geo1, ?wd_geo2) AS ?wd_geo).  # if geo1 available use that, then try geo2 
           
             
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
}
}
579

edits