4

我希望能够从 freebase ID 中按通用名称获取类型列表

{
  "id":    "/m/02mjmr", #obama
  "type":[]
}​

如何返回类型的名称而不是它们的 ID?以上返回

0: "/common/topic"xp
1: "/people/person"xp
2: "/user/robert/default_domain/presidential_candidate"xp
3: "/book/author"xp
4: "/award/award_winner"xp
5: "/book/book_subject"xp
6: "/user/robert/x2008_presidential_election/candidate"xp
7: "/government/politician"xp
8: "/organization/organization_member"xp
9: "/user/robert/default_domain/my_favorite_things"xp

最后,我怎样才能按数量对它们进行排序?或者可能是知名度?

IE,

President
Nobel Prize Winner
Author
Person

ETC?

可能类似于值得注意的类型 API,但看起来它正在消失?

http://wiki.freebase.com/wiki/Notable_types_API

4

2 回答 2

3

您可以使用

{
  "id": "/m/02mjmr",
  "type": [{
    "name":          null,
    "id":null,
    "/type/type/domain":{"key":[{"namespace":"/","limit":0}],"id":null}
    "/freebase/type_profile/instance_count": null,
    "sort":"/freebase/type_profile/instance_count"
  }]
}​

“显着”的一种定义是低频,因此您可以反转您的实例计数排序以获得显着性。将其限制在 Freebase “commons” 中的类型将排除嘈杂的用户类型。识别公共类型的一种方法是查找根命名空间中的 /type/type/domain 属性值(即像 /government 这样的单个路径段)

对于您的示例,最低频率的公共类型是:

 43 /government/us_president     US President    /government 
 51 /people/appointer    Appointer   /people  
 73 /architecture/building_occupant  Building Occupant   /architecture 
204 /government/political_appointer  Political Appointer     /government
230 /book/poem_character     Poem character  /book  
254 /event/public_speaker    Public speaker  /event

您可以通过将您认为对您的应用程序不重要的类型列入黑名单来进一步细化过滤。目前有 2134 种公用类型,其中一些是原始数据类型或供系统使用的东西,因此您很快就可以浏览并手动整理整个列表。

于 2012-03-08T20:28:12.603 回答
1

您可能也有兴趣查看Freebase Search API,它会在每个结果中返回一个或多个值得注意的类型。您可以通过 MID 搜索特定主题,如下所示:

https://www.googleapis.com/freebase/v1/search?query=/m/02mjmr&indent=true

于 2012-03-09T02:41:58.857 回答