使用SPARQLDBPEDIA获取地名中的每个地名



我对sparql还很陌生。

我创建这个查询是为了让所有国家都加入联合国

select distinct ?s
where { ?s a <http://dbpedia.org/class/yago/WikicatMemberStatesOfTheUnitedNations> }

所以我试着用将其调整为Geonames

select distinct ?s
where { ?s a <http://dbpedia.org/page/GeoNames> }

但它不起作用。如何在地名中获取每个地方的名称?

我希望有人能帮我!

每个发布者都使用自己的命名空间和方法来生成已发布实体的URI。链接开放数据的好处在于,它允许这样的独立性,而URI仍然可以使用商定的开放标准进行链接。当不同的URI表示相同的东西时,这是通过将它们与owl:sameAs链接来声明的。

如果我理解正确的意图(我不确定你所说的"适应"是什么意思(,那么你的查询尝试假设DPpedia和Geonames使用相同的URI。您需要做的是使用两个独立的变量,然后从owl:sameAs映射中指定,您只需要Geonames中的那些。

select distinct *
where { ?cuntryDBpedia a <http://dbpedia.org/class/yago/WikicatMemberStatesOfTheUnitedNations> ;
owl:sameAs ?countryGeonames .
FILTER REGEX (?countryGeonames,"geonames.org")
}

相关内容

  • 没有找到相关文章

最新更新