在单个查询中从Film IMDB ID获取actor IMDB ID

时间:2013-10-01 02:27:34

标签: freebase mql

所以,通过这个查询,我可以在电影中找到演员:

[{
  "type": "/film/film",
  "imdb_id": "tt0090605",
  "starring": [{
    "actor": null
  }],
  "limit": 1
}]

通过此查询,我可以获得演员的IMDB_ID:

[{
  "type": "/people/person",
  "name": "Lance Henriksen",
  "date_of_birth": "1940-05-05",
  "key": [{
    "namespace": "/authority/imdb/name",
    "value": null
  }],
  "limit": 1
}]

我想知道是否可以将两者结合起来。因此,给定一部电影的IMDB ID,它将返回各自的演员及其IMDB ID?

我猜测在MQL中是不可能的,并且我很乐意将其作为一个答案,只是好奇这种查询是否可行。

谢谢!

1 个答案:

答案 0 :(得分:1)

当然有可能。查询可以嵌套到任意深度。如果您想要IMDB ID,出生日期和星星名称,只需使用如下查询:

[{
  "type": "/film/film",
  "imdb_id": "tt0090605",
  "name": null,
  "starring": [{
    "actor": [{
      "name": null,
      "mid": null,
      "/people/person/date_of_birth": null,
      "key": [{
        "namespace": "/authority/imdb/name",
        "value": null
      }]
    }],
    "limit": 1
  }]
}]

对于您的示例,您将得到如下所示的结果:

{
  "result": [{
    "name": "Aliens",
    "imdb_id": "tt0090605",
    "type": "/film/film",
    "starring": [{
      "actor": [{
        "name": "Sigourney Weaver",
        "/people/person/date_of_birth": "1949-10-08",
        "key": [{
          "value": "nm0000244",
          "namespace": "/authority/imdb/name"
        }],
        "mid": "/m/0h96g"
      }]
    }]
  }]
}