SPARQL - Select the most relevant category of a db

2019-03-28 08:41发布

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?

标签: sparql
1条回答
\"骚年 ilove
2楼-- · 2019-03-28 09:10

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
查看更多
登录 后发表回答