我使用所有DBpedia记录查询不同的字段,
'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"])
数据存储在solr
中,并根据查询获取所有人的记录。
我想知道有没有办法根据人气排名获取DBpedia记录?
答案 0 :(得分:1)
流行度将被视为关于数据点或数据库的元数据。通常,在大型数据库上执行后处理,以将元数据保存在单独的数据库中,或计算其他属性并将其另存为该数据点的属性。
但是,无论哪种方式,这不仅仅存在于DBPedia数据集中,因此如果没有单独的元数据,“流行度”的概念实际上并不存在。
答案 1 :(得分:1)
为了做到这一点,您需要计算一些关于dbpedia的元数据,并使用新的三元组更新dbpedia RDF,以便您可以按人气排序或选择。
dbpedia条目受欢迎程度的一个很好的估算器是在dbpedia中链接条目的次数。项目dbpedia-spotlight使用此度量标准进行实体链接。您想要的文件称为uriCounts。您可以下载此文件的旧版本,也可以从最新的dbpedia转储中自行创建。
$ pig -m examples/indexing/names_and_entities.pig.params examples/indexing/names_and_entities.pig
该文件的格式为`dbpedia-uri \ t number_of_in_links,即
http://en.dbpedia.org/resource/Thomas_Oxley 1
http://en.dbpedia.org/resource/Thomas_Paine 641
你可以看到Thomas Paine的链接比其他人列出的更多,因此更受欢迎。获得此数据后,您需要提供一些谓词并使用它来更新dbpedia RDF。然后,您应该能够修改查询以对此谓词的值进行排序。