Freebase数据转储查询实体和关系

问题描述 投票:1回答:1

从Freebase转储可用here,我需要找到两个实体之间的关系。

例如。

entity1 = "barack_obama"  
entity2 = "USA"  
get_relation_from_freebase(entity1, entity2) -> "President"

截至2018年,是否有一种直接的方法从RDF转储中做到这一点?如果我有大约10k个独特的实体对,那么获得关系的最有效方法是什么?如果它在Freebase中可用?

注意:我正在尝试将大型语料库与freebase关系对齐,以生成relation extraction任务的训练样本。

另外,我查看了以下问题 - herehere,我可以为少数几个域创建一个子集,但仍然没有想出一个检索关系的好方法。

rdf freebase wikidata n-triples
1个回答
1
投票

Freebase架构远不如你的问题所暗示的那么简单。

从记忆中可以看出:

Governmental Office
  .name President of the United States
  .jurisdiction United States of America
  .office_holders[]

Governmental Office Holder
  .office ^entity above^
  .term start <date>
  .term end <date>
  .office_holder Barak Obama

将有一些实体通过关系直接连接(例如Person.birthplace),但有一些多跳,包括你选择的例子。

如果您只对直接关系感兴趣,您可以抓住实体作为源或目标的所有关系,并通过关系另一端的感兴趣实体过滤这些关系。

© www.soinside.com 2019 - 2024. All rights reserved.