我想得到包含纬度和经度的国家。目前,我有下面的查询,
SELECT DISTINCT ?lat,?long,?place WHERE {
:Taj_Mahal dbpprop:latitude ?lat .
:Taj_Mahal dbpprop:longitude ?long .
}
现在,如何使用 dbpedia 获取包含该纬度和经度的国家?
我想得到包含纬度和经度的国家。目前,我有下面的查询,
SELECT DISTINCT ?lat,?long,?place WHERE {
:Taj_Mahal dbpprop:latitude ?lat .
:Taj_Mahal dbpprop:longitude ?long .
}
现在,如何使用 dbpedia 获取包含该纬度和经度的国家?
如果您已经拥有资源 (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
and 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 Mahalcountry
)设置了,location
或logmapin
属性,则此查询有效。并非所有地方都如此。