DBpedia,获取具有经度和纬度的网站的国家/地区

时间:2013-03-28 10:25:33

标签: rdf latitude-longitude sparql dbpedia

我想获得包含纬度和经度的国家/地区。目前,我在下面的查询有效,

SELECT DISTINCT ?lat,?long,?place WHERE {
:Taj_Mahal dbpprop:latitude ?lat .
:Taj_Mahal dbpprop:longitude ?long .
}

现在,如何使用dbpedia获取包含此纬度和经度的国家/地区?

1 个答案:

答案 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} .
}

run query

如果您只有latlog,则可以使用此查询:

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')
}

run query

但是,请注意,如果资源(在这种情况下为 Taj Mahal )设置了countrylocationlogmapin属性,则此查询有效。所有地方都不是这样。