0

我想得到包含纬度和经度的国家。目前,我有下面的查询,

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

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

4

1 回答 1

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

运行查询

如果你只有latand 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 )设置了,locationlogmapin属性,则此查询有效。并非所有地方都如此。

于 2013-03-29T08:00:42.380 回答