Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 反转MQL查询_Json_Freebase_Mql - Fatal编程技术网

Json 反转MQL查询

Json 反转MQL查询,json,freebase,mql,Json,Freebase,Mql,(特别是第3.2.6节)讨论了反转查询以获得不同结构中的相同数据,以简化查询或调整数据以返回与您自己的结构相似的结构 因此,我从以下查询开始: https://api.freebase.com/api/service/mqlread?query={"query":{"type":"/automotive/model","name":"Ford Taurus","generations":[]}} 可读版本: { "type":"/automotive/model", "name

(特别是第3.2.6节)讨论了反转查询以获得不同结构中的相同数据,以简化查询或调整数据以返回与您自己的结构相似的结构

因此,我从以下查询开始:

https://api.freebase.com/api/service/mqlread?query={"query":{"type":"/automotive/model","name":"Ford Taurus","generations":[]}}
可读版本:

{
    "type":"/automotive/model",
    "name":"Ford Taurus",
    "generations":[]
}
[{
    "type":"/automotive/generation",
    "model":"Ford Taurus",
    "name":null
}]
结果:

{
  "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"
}
{
  "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"
}
但我希望以查询生成为中心,因此我对其进行如下修改:

https://api.freebase.com/api/service/mqlread?query={"query":[{"type":"/automotive/generation","model":"Ford Taurus","name":null}]}
可读版本:

{
    "type":"/automotive/model",
    "name":"Ford Taurus",
    "generations":[]
}
[{
    "type":"/automotive/generation",
    "model":"Ford Taurus",
    "name":null
}]
结果:

{
  "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"
}
{
  "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"
}

我的反向查询只返回两代!请帮助我找出原因。

如果查看Freebase架构页面,您将看到
model
属性已被弃用,并被models属性替换。对查询进行更改:

[{
  "type": "/automotive/generation",
  "models": "Ford Taurus",
  "name": null
}]
为您提供了预期的结果集:

[
  {
    "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"
  }
]

哇!我无意中把它变成了单数(我在看模型模式,所以我不知道模型)。谢谢