我想获得包含纬度和经度的国家/地区。目前,我在下面的查询有效,
SELECT DISTINCT ?lat,?long,?place WHERE {
:Taj_Mahal dbpprop:latitude ?lat .
:Taj_Mahal dbpprop:longitude ?long .
}
现在,如何使用dbpedia获取包含此纬度和经度的国家/地区?
答案 0 :(得分:2)
如果您已拥有资源(Taj_Mahal),则可以使用此查询:
SELECT DISTINCT ?lat ?long (str(?place) as ?place) ?country1 ?country2
WHERE {
:Taj_Mahal dbpprop:latitude ?lat .
:Taj_Mahal dbpprop:longitude ?long .
:Taj_Mahal dbpedia2:location ?place .
OPTIONAL {:Taj_Mahal dbpedia2:country ?country1} .
OPTIONAL {:Taj_Mahal dbpedia2:locmapin ?country2} .
}
如果您只有lat
和log
,则可以使用此查询:
SELECT DISTINCT str(?what) as ?what str(?place) as ?place ?country1 ?country2
WHERE {
?target dbpprop:latitude 27 .
?target dbpprop:longitude 78 .
?target dbpedia2:location ?place .
?target rdfs:label ?what .
OPTIONAL {?target dbpedia2:country ?country1} .
OPTIONAL {?target dbpedia2:locmapin ?country2} .
FILTER (lang(?what) = 'en')
}
但是,请注意,如果资源(在这种情况下为 Taj Mahal )设置了country
,location
或logmapin
属性,则此查询有效。所有地方都不是这样。