У меня есть запрос dbpedia, и я хочу ранжировать результаты с помощью алгоритма pageRank. есть некоторые классы, разработанные в dbpedia dataset, специфичные для этой проблемы в http://vocab.sti2.at/vrank#paramValue. Теперь я хочу вычислить pageRank каждого ресурса моего результата: долю входящих ссылок, связанных с этим ресурсом/общее количество входящих ссылок для всего связанного ресурса. Это мой запрос:Использование PageRank в моем запросе Dbpedia
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix foaf: <http://xmlns.com/foaf/0.1/>
PREFIX vrank:<http://purl.org/voc/vrank#>
prefix dbo: <http://dbpedia.org/ontology/>
SELECT distinct ?Nom ?resource ?url
WHERE{
?resource rdfs:label ?Nom.
?resource foaf:isPrimaryTopicOf ?url.
?Nom <bif:contains> "Apple".
FILTER (langMatches(lang(?Nom), "EN")).
MINUS {?resource dbo:wikiPageRedirects|dbo:wikiPageDisambiguates ?dis}
}
Пожалуйста, помогите мне. Заранее спасибо.
Вы хотите вычислить PageRank на лету? Или вы хотите запросить для pagerank. Это зависит от того, загружены ли эти данные в конечную точку. Обратите внимание, что Virtuoso также имеет определенную поддержку для возврата индекса, такого как pagerank, но эта функция должна быть включена сторонником конечной точки SPARQL. – AKSW
@AKSW Я хочу вычислить ранжирование страницы в зависимости от результата. например, если мой запрос касается ресурсов, содержащих слово «Apple», PageRank зависит только от этого результата (зависит от результата Apple), а не от всех концепций dbpedia. – Adem
Насколько я знаю, это не так, как работает алгоритм pagerank, так как это итеративный алгоритм до тех пор, пока не будет достигнута фиксированная точка. Единственное, что вы можете сделать, это запросить существующие баллы в наборе данных существующих или попытаться использовать функцию pagerank Virtuoso, если она включена. Для DBpedia уже есть набор данных pagerank, вопрос в том, загружен ли он в конечную точку, которую вы используете. – AKSW