1

首先,我想澄清一下,我使用 wikidata 的经验非常有限,所以如果我的任何术语有误,请随时纠正。

我一直在玩 wikidata 工具包,更具体地说是他们的 wdtk-wikibaseapi。这使您可以获取实体信息及其不同的属性,例如:

WikibaseDataFetcher wbdf = WikibaseDataFetcher.getWikidataDataFetcher();
EntityDocument q42 = wbdf.getEntityDocument("Q42");
List<StatementGroup> groups = ((ItemDocument) q42).getStatementGroups();

for(StatementGroup g : groups) {
  List<Statement> statements = g.getStatements();
  for(Statement s : statements) {
    System.out.println(s.getMainSnak().getPropertyId().getId());
    System.out.println(s.getValue());
  }
}

以上将为我提供实体 Douglas Adams 以及他网站下的所有属性:https ://www.wikidata.org/wiki/Q42

现在 wikidata 工具包能够加载和处理转储文件,这意味着您可以将转储下载到本地并使用wdtk-dumpfiles 库下的DumpProcessingController类对其进行处理。我只是不确定处理是什么意思。

  1. 谁能解释一下在这种情况下处理是什么意思?
  2. 你能做一些类似于上面示例中使用 wdtk-wikibaseapi 所做的事情,但使用本地转储文件和 wdtk-dumpfiles 即获取一个实体及其各自的属性吗?我不想从在线资源中获取信息,而只想从转储(离线)中获取信息。

如果使用 wikidata-toolkit 无法做到这一点,您能否指出某个地方可以让我开始从 wikidata 的转储文件中获取实体及其属性?我正在使用 Java。

4

0 回答 0