SPARQL 从 dbpedia 获取最高峰
SPARQL to get highest mountains from dbpedia
如何从 dbpedia 中获取前 10 座最高山的列表?
我不知道如何开始,因为我在寻找特定山峰的正确属性时已经失败了。
我在 'elevation' 或 'altitude' 中找不到任何 属性
http://dbpedia.org/page/Mount_Everest
我认为一个有趣的 属性 是海拔?
有人可以帮忙吗?
这是公开整理的数据的问题,没有正式的模式,所以一些山有 dbo:elevation (http://dbpedia.org/page/Lhotse) and some only have dbp:elevationRef (http://dbpedia.org/page/K2)。您有两种选择,一种是技术性的,一种是社会性的。
技术选项是获取前 14 名的查询,并对字符串“(Ranking x)”使用 post 处理以获得前 10 名。
SELECT DISTINCT ?mountain ?rank
WHERE {
?mountain dbp:listing dbr:Eight-thousander.
?mountain dbp:elevationRef ?rank.
}
对社会有益的解决方案是通过维基百科上八千峰类别中的那些山脉,并确保它们都在描述框中设置了海拔 属性,这样 DBpedia 就会抓取它,你可以 运行您要查询的内容:
SELECT DISTINCT ?mountain ?elevation
WHERE {
?mountain dbp:listing dbr:Eight-thousander.
?mountain dbo:elevation ?elevation.
}
ORDER BY DESC(?elevation)
LIMIT 10
如何从 dbpedia 中获取前 10 座最高山的列表?
我不知道如何开始,因为我在寻找特定山峰的正确属性时已经失败了。 我在 'elevation' 或 'altitude' 中找不到任何 属性 http://dbpedia.org/page/Mount_Everest
我认为一个有趣的 属性 是海拔?
有人可以帮忙吗?
这是公开整理的数据的问题,没有正式的模式,所以一些山有 dbo:elevation (http://dbpedia.org/page/Lhotse) and some only have dbp:elevationRef (http://dbpedia.org/page/K2)。您有两种选择,一种是技术性的,一种是社会性的。
技术选项是获取前 14 名的查询,并对字符串“(Ranking x)”使用 post 处理以获得前 10 名。
SELECT DISTINCT ?mountain ?rank
WHERE {
?mountain dbp:listing dbr:Eight-thousander.
?mountain dbp:elevationRef ?rank.
}
对社会有益的解决方案是通过维基百科上八千峰类别中的那些山脉,并确保它们都在描述框中设置了海拔 属性,这样 DBpedia 就会抓取它,你可以 运行您要查询的内容:
SELECT DISTINCT ?mountain ?elevation
WHERE {
?mountain dbp:listing dbr:Eight-thousander.
?mountain dbo:elevation ?elevation.
}
ORDER BY DESC(?elevation)
LIMIT 10