0

我使用不同字段的所有 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 记录?

4

2 回答 2

1

流行度将被视为有关数据点或数据库的元数据。通常,在大型数据库上执行后处理以将元数据保存在单独的数据库中,或者计算其他属性并将其保存为该数据点的属性。

但是,无论哪种方式,这不仅存在于 DBPedia 数据集中,因此如果没有单独的元数据,“流行度”的概念就真的不存在了。

于 2015-05-25T21:18:41.637 回答
1

为此,您需要计算一些关于 dbpedia 的元数据,并使用新的三元组更新 dbpedia RDF,以便您可以按受欢迎程度进行排序或选择。

dbpedia 条目受欢迎程度的一个很好的估计是该条目在 dbpedia 中链接的次数。该指标被项目 dbpedia-spotlight 用于进行实体链接。您想要的文件称为 uriCounts。您可以下载此文件的旧版本,也可以从最新的 dbpedia 转储中自行创建。

  1. 下载文件
  2. 生成它
    • 可以按照以下步骤生成文件 uriCounts:https ://github.com/dbpedia-spotlight/dbpedia-spotlight/wiki/Internationalization-%28DB-backed-core%29 。这段代码的步骤是生成 uriCounts$ 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

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

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

您可以看到 Thomas Paine 的链接比列出的其他人多,因此更受欢迎。获得这些数据后,您需要提出一些谓词并使用它来更新 dbpedia RDF。然后您应该能够修改查询以对该谓词的值进行排序。

于 2015-05-26T17:07:46.593 回答