首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反转MQL查询

反转MQL查询
EN

Stack Overflow用户
提问于 2013-04-26 07:03:24
回答 1查看 104关注 0票数 2

Chapter 3 of the MQL reference (特别是第3.2.6节)讨论了反向查询以获得不同结构中的相同数据,以简化查询或修改数据以返回与您自己的结构相似的结构。

因此,我从下面的查询开始:

代码语言:javascript
复制
https://api.freebase.com/api/service/mqlread?query={"query":{"type":"/automotive/model","name":"Ford Taurus","generations":[]}}

可读版本:

代码语言:javascript
复制
{
    "type":"/automotive/model",
    "name":"Ford Taurus",
    "generations":[]
}

结果:

代码语言:javascript
复制
{
  "code": "/api/status/ok",
  "result": {
    "generations": [
      "First Generation Ford Taurus",
      "Second Generation Ford Taurus",
      "Fifth Generation Ford Taurus",
      "Sixth Generation Ford Taurus",
      "Fourth Generation Ford Taurus",
      "Third Generation Ford Taurus"
    ],
    "name": "Ford Taurus",
    "type": "/automotive/model"
  },
  "status": "200 OK",
  "transaction_id": "cache;cache04.p01.sjc1:8101;2013-04-25T22:05:58Z;0012"
}

但是我想让查询以生成为中心,所以我这样修改它:

代码语言:javascript
复制
https://api.freebase.com/api/service/mqlread?query={"query":[{"type":"/automotive/generation","model":"Ford Taurus","name":null}]}

可读版本:

代码语言:javascript
复制
[{
    "type":"/automotive/generation",
    "model":"Ford Taurus",
    "name":null
}]

结果:

代码语言:javascript
复制
{
  "code": "/api/status/ok",
  "result": [
    {
      "model": "Ford Taurus",
      "name": "First Generation Ford Taurus",
      "type": "/automotive/generation"
    },
    {
      "model": "Ford Taurus",
      "name": "Third Generation Ford Taurus",
      "type": "/automotive/generation"
    }
  ],
  "status": "200 OK",
  "transaction_id": "cache;cache01.p01.sjc1:8101;2013-04-25T23:00:35Z;0010"
}

我的反向查询只返回两代!请帮我弄清楚为什么会这样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-26 07:27:53

如果您查看Automobile Generation的Freebase模式页面,您将看到model属性已被弃用,并被models的属性所取代。对您的查询进行此更改:

代码语言:javascript
复制
[{
  "type": "/automotive/generation",
  "models": "Ford Taurus",
  "name": null
}]

为您提供预期的结果集:

代码语言:javascript
复制
[
  {
    "models": "Ford Taurus",
    "name": "First Generation Ford Taurus",
    "type": "/automotive/generation"
  },
  {
    "models": "Ford Taurus",
    "name": "Second Generation Ford Taurus",
    "type": "/automotive/generation"
  },
  {
    "models": "Ford Taurus",
    "name": "Fifth Generation Ford Taurus",
    "type": "/automotive/generation"
  },
  {
    "models": "Ford Taurus",
    "name": "Sixth Generation Ford Taurus",
    "type": "/automotive/generation"
  },
  {
    "models": "Ford Taurus",
    "name": "Fourth Generation Ford Taurus",
    "type": "/automotive/generation"
  },
  {
    "models": "Ford Taurus",
    "name": "Third Generation Ford Taurus",
    "type": "/automotive/generation"
  }
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16226160

复制
相关文章

相似问题

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