#sparql #semantic-web #dbpedia #pagerank
#sparql #семантический веб #dbpedia #pagerank
Вопрос:
Поскольку версия Virtuoso недавно обновлена, когда я пытаюсь использовать приведенный ниже запрос для общедоступной конечной точки DBpedai SPARQL. Результат пустой.
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
Спасибо!
Комментарии:
1. да, больше невозможно. Установлена новая версия Virtuoso с более новым дампом данных, см. community.openlinksw.com/t/announcing-a-new-dbpedia-release /… — не каждая часть данных была опубликована в более новых версиях. Как я уже говорил вам ранее несколько раз, вы можете загрузить весь дамп DBpedia и вычислить рейтинг страницы локально.: github.com/athalhammer/danker/#DBpedia_PageRank
2. и gain, вы все равно можете использовать функцию Virtuoso rank, которая действительно «только» работает с загруженными RDF-файлами, утраивающими себя, вместо Wikiperdia Wikilinks, но она работает:
PREFIX dbo:<http://dbpedia.org/ontology/> SELECT ?s (<LONG::IRI_RANK>(?s) as ?v) WHERE { ?s a dbo:University. } ORDER BY DESC(?v) LIMIT 50
3. О! Спасибо за ваш ответ! Я не собираюсь его использовать. Мне просто любопытно об этом.
Ответ №1:
Существует также возможность запросить конечную точку Викиданных через федерацию запросов и сопоставить результат с URI DBpedia:
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX vrank: <http://purl.org/voc/vrank#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX schema: <http://schema.org/>
SELECT * WHERE {
{
SELECT DISTINCT ?uni (URI(REPLACE(str(?article), "https://en.wikipedia.org/wiki", "http://dbpedia.org/resource")) as ?dbpedia) WHERE {
SERVICE <https://query.wikidata.org/sparql> {
?uni wdt:P31/wdt:P279* wd:Q3918.
?article schema:about ?uni .
?article schema:inLanguage "en" .
?article schema:isPartOf <https://en.wikipedia.org/> .
}
}
}
OPTIONAL {
?uni vrank:pagerank ?rank.
}
} ORDER BY desc(?rank) LIMIT 50
Просто запустите файл HDT с оценками PageRank викиданных локально, как описано на https://github.com/athalhammer/danker-hdt-docker . Результат более чистый (нет ресурсов, таких как dbpedia:Physics
в наборе результатов), и запрос выполняется за <3 секунды.