Результаты Викиданных, отсортированные по рейтингу PageRank

В Викиданных (Wikidata SPARQL endpoint) есть способ упорядочить результаты запроса SPARQL с чем-то вроде PageRank?

SELECT DISTINCT ?entity ?entityLabel WHERE {
    ?entity wdt:P31 wd:Q5.
    SERVICE wikibase:label {
     bd:serviceParam wikibase:language "en" .
    }
} LIMIT 100 OFFSET 0

Можем ли мы указать поле для упорядочивания результатов, и это поле выражает, что объект наверху более примечателен / важен / узнаваем, чем следующий и так далее?


person jordipala    schedule 11.09.2016    source источник
comment
Подобный вопрос здесь? stackoverflow.com/questions/39040060/   -  person Tomasz Pluskiewicz    schedule 11.09.2016
comment
Не совсем тот же плюс, что этот вопрос относится к DBpedia, а мой - к Wididata. В DBpedia включен people.aifb.kit.edu/ath/#DBpedia_PageRank. это помогает упорядочить результаты по релевантности. Мой вопрос в том, есть ли у Викиданных такой же ранг, который я могу использовать.   -  person jordipala    schedule 11.09.2016


Ответы (2)


Кажется, что PageRank не имеет особого смысла по отношению к Викиданным. Очевидно, что лидерами будут большие классы и крупные агрегаты.

Кроме того, в отличие от веб-ссылок, по предикатам RDF можно переходить с обеих сторон; это просто вопрос дизайна, какой URI является субъектом, а какой - объектом.

Однако Андреас Талхаммер продолжает свою работу. Топ-10 объектов Викиданных:

Item Label Rank
Q729 animal 24996.770
Q30 USA 24772.450
Q1360 Arthropoda 16930.883
Q1390 insects 16531.822
Q35409 family 14403.091
Q756 plant 14019.927
Q142 France 13723.484
Q34740 genus 13718.484
Q16 Canada 12321.178
Q159 Russia 11707.160

К сожалению, рейтинги страниц Викиданных не публикуются на (той же) конечной точке, их нельзя запрашивать с помощью SPARQL.


К счастью, какой-то ранг можно вычислить самостоятельно. Возможные варианты:

  1. Количество исходящих отчетов (предварительно рассчитано) ;
  2. Количество дополнительных ссылок (предварительно рассчитано);
  3. Количество входящих запросов (в приведенном ниже примере только правдивые утверждения считаются).

Пример запроса:

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 года все эти показатели более-менее коррелированы.

матрица рассеяния

Ниже приведены коэффициенты корреляции этих показателей для стран-членов ЕС.

Pearson     outcoming sitelinks incoming pagerank
outcoming 1.0000 0.6907 0.7416 0.8652
sitelinks 0.6907 1.0000 0.4314 0.5717
incoming 0.7416 0.4314 1.0000 0.8978
pagerank 0.8652 0.5717 0.8978 1.0000
Spearman outcoming sitelinks incoming pagerank
outcoming 1.0000 0.6869 0.7619 0.8736
sitelinks 0.6869 1.0000 0.7680 0.8342
incoming 0.7619 0.7680 1.0000 0.8872
pagerank 0.8736 0.8342 0.8872 1.0000
Kendall outcoming sitelinks incoming pagerank
outcoming 1.0000 0.4914 0.5661 0.7143
sitelinks 0.4914 1.0000 0.5764 0.6454
incoming 0.5661 0.5764 1.0000 0.7249
pagerank 0.7143 0.6454 0.7249 1.0000

Смотрите также:

person Stanislav Kralin    schedule 17.10.2017
comment
Ваш пример запроса входящих операторов все еще действителен? На данный момент я не получаю результатов. - person T3db0t; 24.10.2018
comment
@ T3db0t, эти P31-операторы были удалены, см., Например, эта версия. В обоих случаях попробуйте ?item wdt:P463 wd:Q458 вместо ?item wdt:P31 wd:Q185441. Отредактирую свой ответ, спасибо. Я также попытаюсь добавить несколько подсказок по производительности запросов. - person Stanislav Kralin; 24.10.2018
comment
@ T3db0t, вас также может заинтересовать порядок результатов, возвращаемых Wikidata API, см. phabricator.wikimedia.org/ T177275 # 4629163 - person Stanislav Kralin; 24.10.2018

Если этот вопрос все еще интересен, значит, действительно существует проект Wikidata PageRank (не связан с Фондом Викимедиа). Он размещен в

https://github.com/athalhammer/danker

и вы можете вычислить PageRank с помощью Q-ID Викиданных для любого доступного языка Википедии (или даже для объединенного набора ссылок всех языковых версий). Владелец проекта также нерегулярно выполняет некоторые вычисления, и результирующие оценки размещаются по адресу:

https://danker.s3.amazonaws.com/index.html

Затем результат вычисления может быть преобразован в N-Triples / Turtle (первый), а оттуда в HDT (второй).

Вариант 1: с конечной точки, на которой размещен этот HDT-файл PageRank Викиданных (см. пример здесь) затем можно запускать объединенные запросы с действующей конечной точкой Викиданных (примеры приведены в связанном репозитории и на изображении ниже).

Вариант 2: Используйте созданный HDT-файл PageRank Викиданных вместе с последним HDT-дампом Викиданных и объедините с HDTCat.

Вариант 3: не используйте HDT и просто загрузите файл N-Triples / Turtle в тройное хранилище по вашему выбору вместе с Дамп Викиданных N-Triples / Turtle файлов.

Пример федеративного запроса

person thalhamm    schedule 03.06.2021