首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MQL查询的“空”结果。自由模式:/电影/电影/主演&/电影/演员/电影

MQL查询的“空”结果。自由模式:/电影/电影/主演&/电影/演员/电影
EN

Stack Overflow用户
提问于 2012-12-05 17:01:18
回答 1查看 509关注 0票数 2

第一个帖子在这里,所以我希望这是足够的细节。

我今天开始使用自由基巨蟒来获取我正在工作的一个程序的电影信息。我需要抓住的一件事是在一部电影中主演的演员名单。我遵循了一些教程和指南来完成这个任务,并且可以得到一个导演或导演的电影列表,但是当我试图对一个演员或一个电影的演员做同样的事情时,我会得到“无效”的结果。

我在Python和Freebase查询编辑器中都遇到了同样的问题,您可以看到我在下面尝试过的内容。在编辑器中编写的所有示例的链接都可以找到这里,因为Stack溢出不允许我在第一篇文章中在每个示例下面发布链接!

中的工作主管查询:

代码语言:javascript
复制
import freebase
fb = freebase.mqlread
q = {'type':'/film/film', 'name':'Inception', 'directed_by':[]}
fb(q)

工作主管的文件记录查询:

代码语言:javascript
复制
import freebase
fb = freebase.mqlread
q = {'type':'/film/director', 'name': 'Christopher Nolan', 'film':[]}
fb(q)

基于这些测试,我试图对演员也做同样的事情,但结果却很奇怪:

中的强制转换列表查询不工作:

代码语言:javascript
复制
import freebase
fb = freebase.mqlread
q = {'type':'/film/film', 'name':'Inception', 'starring':[]}
fb(q)

中没有处理演员的文件记录查询:

代码语言:javascript
复制
import freebase
fb = freebase.mqlread
q = {'type':'/film/actor', 'name':'Leonardo DiCaprio', 'film':[]}
fb(q)

奇怪的是,我得到了准确数量的演员/电影,但没有名字。有谁知道问题可能是什么吗?非常感谢,我很感谢你的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-05 19:59:48

这是因为电影和演员之间没有直接的联系,而是通过一个没有名字的“中介”节点。这是因为一次有三件事要联系起来: 1)电影,2)演员,3)角色/角色。

在编写任何MQL之前,您需要检查要使用的域/类型的架构,以查看如何存储信息。

还请注意,如果您只匹配名称,您将得到重复的重做,等等。您应该跟踪ID,以消除一切歧义。下面是修改后的查询:

代码语言:javascript
复制
[{
  "type": "/film/film",
  "name": "Inception",
  "mid":  null,
  "starring": [{
    "actor": null,
    "mid":   null
  }]
}]​
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13728471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档