Freebase MQL查询

时间:2013-10-24 16:44:50

标签: freebase

我有几个问题。

我有一个获取电影信息的MQL查询。修剪后的查询如下所示。

[{
  "id": "/en/a_beautiful_mind",
  "name": null,
  "type": "/film/film",  
  "/common/topic/article": [{
    "id": null,
    "optional": true,
    "limit": 3
  }]
}]

它工作正常,我可以检索ID,但有没有办法获得文章文本而不必运行单独的文本查询?

其次是我想弄清楚如何获得精选歌曲表演者。我可以这样做并获得歌曲名称。

[{
  "id": "/en/a_beautiful_mind",
  "name": null,
  "type": "/film/film",
  "featured_song": [{
    "name": null,
    "optional": true
  }],  
}]

但似乎无法弄清楚如何获得歌曲表演者。有可能吗?

感谢您的帮助

斯科特

1 个答案:

答案 0 :(得分:2)

获取有关电影的此类信息的一种简单方法是使用Topic API,如下所示:

https://www.googleapis.com/freebase/v1/topic/en/a_beautiful_mind?filter=suggest&filter=/film/film

这不会得到特色歌曲艺术家。至少没有额外的API调用。要在MQL中执行此操作,您只需在特色歌曲中嵌入其他查询,如下所示:

[{
  "id": "/en/a_beautiful_mind",
  "name": null,
  "type": "/film/film",
  "featured_song": [{
    "name": null,
    "/music/recording/artist": [{}],
    "/film/film_featured_song/performed_by": [{}],
    "optional": true
  }]
}]

请注意,我为最初录制歌曲的艺术家添加了两个单独的属性,为影片中执行该歌曲的艺术家添加了一个属性。在这种情况下,第二个属性为空,表示使用了原始记录。由于我混合了不同类型的属性,我需要使用完全限定的属性名称。

图表中记录了所有自由基类型,因此您可以查找/music/recording/film/film_featured_song等类型,了解它们的用途。