2015-05-29 2 views
3

В настоящее время я запрашиваю DBPedia для списка имен людей, используя пакет SPARQL в R. И теперь я работаю над подсчетом разных категорий для одного человека, например, числа от wikilink или external_link. Но я знаю только, чтобы сосчитать все детали вместе на человека, такие как:Подсчет чисел DBpedia wikilink и внешней ссылки с использованием SPARQL

query= "SELECT COUNT (*){ 
    <http://dbpedia.org/resource/Philipp_Melanchthon> ?p ?o 
    }" 

Это просто распечатайте количество всех деталей для одного человека, есть ли способ, чтобы распечатать кол-различных категорий для одного человека соответственно? Много thx.

+0

Добро пожаловать. Вы можете рассмотреть [accpting] (http://stackoverflow.com/help/accepted-answer) ответ, если на ваш вопрос был дан ответ. – Artemis

ответ

4

Как вы указали следующий запрос дает все отношения и объекты, связанные с ней:

SELECT distinct *{ 
    dbpedia:Philipp_Melanchthon ?p ?o. 
} 

Если вы хотите узнать, внешние ссылки, вам нужно заменить ?p с соответствующим свойством в этом случай dbpedia-owl:wikiPageExternalLink:

SELECT distinct *{ 
    dbpedia:Philipp_Melanchthon dbpedia-owl:wikiPageExternalLink ?o. 
} 

Таким образом, подсчет даст вам внешние ссылки:

SELECT (count(?o)){ 
    dbpedia:Philipp_Melanchthon dbpedia-owl:wikiPageExternalLink ?o. 
} 
+0

Супер! Thx, я действительно хочу дать вам голосование, но у меня недостаточно репутации ... – hui

+0

Этот последний запрос не является законным. Он должен быть 'select different (count (? O) как? Something) {...}'. Тогда это будет законным, но, вероятно, не правильным. Там будет только один счет, поэтому ** отличный ** здесь бесполезен. Вероятно, это должно быть 'select (count (distinct? O) как? Что-то) {...}', так что вы считаете разные значения? O, а не выбираете различные значения? O. –

+0

Спасибо, Jashua, исправил это. – Artemis

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