Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SPARQL - Select the most relevant category of a dbpedia resource

Tags:

sparql

I've a dbpedia resource and I'd like to obtain all the dbpedia categories associated. For this purpose I wrote this SPARQL query

SELECT ?p ?o WHERE
{
  <http://dbpedia.org/resource/Rihanna> ?p ?o .
}

focusing only on http://purl.org/dc/terms/subject property.

The results I've is a set of categories. Which could be a good manner to select the most relevant category which describes Rihanna singer?

like image 930
user3653803 Avatar asked Aug 19 '16 13:08

user3653803


1 Answers

This query orders Rihanna's categories by the total number of members in each category:

SELECT ?category (COUNT(?member) as ?memberCount) WHERE {
    ?member dct:subject ?category.
    { SELECT ?category WHERE { dbr:Rihanna dct:subject ?category. } }
}
ORDER BY ?memberCount

The assumption here is that, the fewer members a category has, the higher the relevance of that category for any particular member.

The results for this query list the following categories as most relevant to Rihanna:

  • Barbadian fashion designers
  • Barbadian people of Irish descent
  • Barbadian Christians
  • Barbadian people of Guyanese descent
  • Barbadian female singers
like image 102
Ruben Verborgh Avatar answered Oct 28 '22 17:10

Ruben Verborgh