【问题标题】:querying dbpedia sparql for more results查询 dbpedia sparql 以获得更多结果
【发布时间】:2012-09-19 04:55:08
【问题描述】:

我想从 dbpedia 获取一些数据。 我有实体 url,想获得一些关于本地化的信息。 现在我这样调用查询:

PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX dbo: <http://dbpedia.org/ontology/>

SELECT DISTINCT * WHERE 
{
  <{0}> rdfs:label ?label . 
    OPTIONAL {
     <{0}> geo:lat ?lat ;
     geo:long ?long .
    } .
    OPTIONAL {
     <{0}> dbo:Country ?dboCountry 
    } . 
    OPTIONAL {
     <{0}> dbpedia-owl:country ?dbpediaContry .
     ?dbpediaContry dbpprop:cctld ?ccTLD
    }. 
    OPTIONAL {
     <{0}> dbpprop:country  ?dbpropContry
    }
    FILTER ( lang(?label) = "en" )
}

对于每个 url(将 {0} 替换为 url)。 但我想优化它并在一个查询中获得更多实体的结果。 也可以不在每一行设置url吗?

问候 彼得

【问题讨论】:

    标签: sparql dbpedia


    【解决方案1】:

    嗯,看来我已经为这两个问题找到了答案。 你知道吗(http://en.wikipedia.org/wiki/Rubber_duck_debugging) 解决办法是:

     SELECT DISTINCT *
    
            WHERE {
                ?uri rdfs:label ?label .
                OPTIONAL { ?uri geo:lat ?lat .
                           ?uri geo:long ?long} .
      
            FILTER (?uri IN ({0}, {1}, ...)  )
            }
    

    也许它对其他人有帮助? 或者也许有人知道更好的解决方案?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多