使用googleapis到freebase的简单请求

时间:2012-10-16 15:10:02

标签: request freebase

我想查询freebase,获取有关名人的一些基本信息。 例如,我想获得出生地和麦当娜的性别。

我通过使用以下方式获得了麦当娜的朋友:

https://www.googleapis.com/freebase/v1/mqlread&安培;查询= { “ID”: “/ EN /麦当娜”, “姓名”:NULL, “类型”: “/碱/ popstra /名人”,“/碱/ popstra /名人/友谊 “:[{” 参与者“:[]}]}

但是,我非常了解这个请求。如何更改它以获取我上面提到的信息?

我在考虑:

https://www.googleapis.com/freebase/v1/mqlread&安培;查询= { “ID”: “/ EN /麦当娜”, “姓名”:NULL, “类型”: “/碱/ popstra /名人”,“/碱/ popstra /名人/性别“:[{”gender“:}],”/ base / popstra / celebrity / place_of_birth“:[{”出生地“:}]}

但它不起作用。

1 个答案:

答案 0 :(得分:3)

以下是如何为Freebase主题构建MQL查询:

  1. 找到符合您要求的示例主题(例如Madonna
  2. 转到Query Editor并为该主题的ID构建简单查询:

    [{   “id”:“/ en / madonna”,   “name”:null }]

  3. 转到示例主题页,点击“编辑此主题”,找到您要查询的事实(例如出生日期)

  4. 您可以看到出生日期是人(/人/人)类型的一部分。
  5. 点击“人物”右侧的小扳手图标,转到该类型的schema page
  6. 从那里,您可以看到存储出生日期的财产被称为/ people / person / date_of_birth。
  7. 将您想要的属性添加到您的查询中:

    [{   “id”“/ en / madonna”,   “name”:null,   “/ people / person / date_of_birth”:null,   “/ people / person / gender”:null }]

  8. 查询还可以指定默认类型(例如/ people / person),使属性路径更短:

    [{   “id”“/ en / madonna”,   “name”:null,   “type”:“/ people / person”,   “date_of_birth”:null,   “性别”:null }]

  9. 但是每个级别的查询只能有一个默认类型,因此如果要混合其他类型的属性,则需要使用完整的属性ID:

    [{   “id”:“/ en / madonna”,   “name”:null,   “type”:“/ people / person”,   “date_of_birth”:null,   “性别”:null,   “/ base / popstra / celebrity / friendship”:[{     “参与者”:[]   }] }]

  10. 当您在查询编辑器中查询时,只需单击右上角的“链接”菜单即可获取MQLRead链接,该链接将对我们的API进行查询。