2

我有一些问题。

我有一个获取一些电影信息的 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
  }],  
}]

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

谢谢您的帮助

斯科特

4

1 回答 1

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
  }]
}]

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

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

于 2013-10-24T17:52:02.797 回答