在 Wikidata ( Wikidata SPARQL endpoint ) 中,是否有一种方法可以使用类似 PageRank 的内容对 SPARQL 查询结果进行排序?
SELECT DISTINCT ?entity ?entityLabel WHERE {
?entity wdt:P31 wd:Q5.
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
} LIMIT 100 OFFSET 0
我们能否指定一个字段来对结果进行排序,并且该字段表示顶部的实体比下面的实体更引人注目/重要/可识别?
最佳答案
看起来 PageRank 对于维基数据来说没有多大意义。显然,大类(class)和大集体将成为领导者。
此外,与 Web 链接不同,RDF 谓词可以从两侧“导航”;这只是一个设计问题,哪个 URI 是主语,哪个 URI 是客体。
但是,Andreas Thalhammer continues他的工作。排名前 10 的维基数据实体是:
不幸的是,维基数据页面排名并未在(同一)端点上发布,因此无法使用 SPARQL 查询它们。
<小时/>幸运的是,人们可以自己找出某种等级。可能的选项是:
- 输出语句数量 ( precalculated );
- 附加链接数量 ( precalculated );
- 传入语句的数量(在下面的示例中,仅计算 truthy 语句)。
示例查询:
SELECT ?item ?itemLabel ?outcoming ?sitelinks ?incoming {
?item wdt:P463 wd:Q458 .
?item wikibase:statements ?outcoming .
?item wikibase:sitelinks ?sitelinks .
{
SELECT (count(?s) AS ?incoming) ?item WHERE {
?item wdt:P463 wd:Q458 .
?s ?p ?item .
[] wikibase:directClaim ?p
} GROUP BY ?item
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }.
} ORDER BY DESC (?incoming)
截至 2017 年 10 月,所有这些指标都或多或少相关。
以下是欧盟成员国这些措施的相关系数。
另请参阅:
关于sparql - 维基数据结果按类似于 PageRank 的方式排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39438022/