0

I do query using all DBpedia records for different fields,

'birthDate:' + '([\"1850-06-05\" TO \"2000-06-05\"]) AND birthPlace: *' + search_data["birthPlace"] + '* AND priority:' + self.formatParameterForSolr(search_data["priority"]) + ' AND NOT dbpedia_link:' + self.formatParameterForSolr(search_data["dbpedia_link"])

data is stored in solr and it fetched records of all persons as per query.

I want to know is there any way to fetch DBpedia records as per popularity rank?

Jörn Hees
  • 3,338
  • 22
  • 44
user123
  • 5,269
  • 16
  • 73
  • 121
  • I think this is the subject of many research papers and you actually need to query DBpedia and some external resources to calculated the popularity. – Artemis May 25 '15 at 08:45
  • @Artemis: True, I have queries DBpedia and fetched all records from there and stored into solr. Now performing search query on these stored records – user123 May 25 '15 at 09:08

2 Answers2

1

Popularity would be considered meta data about a datapoint or a database. Typically, post-processing is performed on a big database to either save metadata in a separate database, or additional properties are calculated and saved as a property of that datapoint.

But, either way, that doesn't isn't just there in the DBPedia dataset, so without having that separate metadata, the notion of "popularity" is really not there.

Kristian
  • 21,204
  • 19
  • 101
  • 176
  • not that I know of. I think you'd need to host that data yourself and actually count views and produce that data yourself. – Kristian May 26 '15 at 13:58
1

In order to do this you'll need to calculate some metadata about dbpedia and update the dbpedia RDF with new triples so that you can sort or select by popularity.

A good estimator of the popularity of a dbpedia entry is the number of times that entry is linked to within dbpedia. This metric is used by the project dbpedia-spotlight for doing entity linking. The file you want is called uriCounts. You can either download an older version of this file or create it yourself from the latest dbpedia dump.

  1. Download the file
  2. OR Generate it

The format of the file is `dbpedia-uri \t number_of_in_links, i.e.

http://en.dbpedia.org/resource/Thomas_Oxley 1

http://en.dbpedia.org/resource/Thomas_Paine 641

http://en.dbpedia.org/resource/Thomas_Paris 1

http://en.dbpedia.org/resource/Thomas_Parke 5

You can see that Thomas Paine has more inlinks than the other people listed and so is more popular. Once you have this data you'll need to come up with some predicate and use it to update the dbpedia RDF. Then you should be able to modify the query to sort on the value of this predicate.

John Gilmer
  • 864
  • 6
  • 10