2016-01-11 3 views
0

У меня есть запрос 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} 
     } 

Пожалуйста, помогите мне. Заранее спасибо.

+0

Вы хотите вычислить PageRank на лету? Или вы хотите запросить для pagerank. Это зависит от того, загружены ли эти данные в конечную точку. Обратите внимание, что Virtuoso также имеет определенную поддержку для возврата индекса, такого как pagerank, но эта функция должна быть включена сторонником конечной точки SPARQL. – AKSW

+0

@AKSW Я хочу вычислить ранжирование страницы в зависимости от результата. например, если мой запрос касается ресурсов, содержащих слово «Apple», PageRank зависит только от этого результата (зависит от результата Apple), а не от всех концепций dbpedia. – Adem

+0

Насколько я знаю, это не так, как работает алгоритм pagerank, так как это итеративный алгоритм до тех пор, пока не будет достигнута фиксированная точка. Единственное, что вы можете сделать, это запросить существующие баллы в наборе данных существующих или попытаться использовать функцию pagerank Virtuoso, если она включена. Для DBpedia уже есть набор данных pagerank, вопрос в том, загружен ли он в конечную точку, которую вы используете. – AKSW

ответ

0

Проверить это

PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX dbo:<http://dbpedia.org/ontology/> 
PREFIX vrank:<http://purl.org/voc/vrank#> 

SELECT ?s ?v 
FROM <http://dbpedia.org> 
FROM <http://people.aifb.kit.edu/ath/#DBpedia_PageRank> 
WHERE { 
?s rdf:type dbo:University. 
?s vrank:hasRank/vrank:rankValue ?v. 
} 
ORDER BY DESC(?v) LIMIT 50 

http://people.aifb.kit.edu/ath/

Смежные вопросы