首先,我想澄清一下,我使用 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类对其进行处理。我只是不确定处理是什么意思。
- 谁能解释一下在这种情况下处理是什么意思?
- 你能做一些类似于上面示例中使用 wdtk-wikibaseapi 所做的事情,但使用本地转储文件和 wdtk-dumpfiles 即获取一个实体及其各自的属性吗?我不想从在线资源中获取信息,而只想从转储(离线)中获取信息。
如果使用 wikidata-toolkit 无法做到这一点,您能否指出某个地方可以让我开始从 wikidata 的转储文件中获取实体及其属性?我正在使用 Java。